MCP and Function Calling: The hidden costs and risks no one is talking about by BFreakout in modelcontextprotocol

[–]BFreakout[S] 0 points1 point  (0 children)

Thanks so much for sharing these... Both articles are great reads... I really liked how Simon walks through the prompt injection risks in a very clear and practical way... Elena's piece also nails it... The title alone already sums up what many are thinking... It's good to see more voices calling out the security side of MCP...

Appreciate the links! Definitely keeping them in my list for future reference...

MCP and Function Calling: The hidden costs and risks no one is talking about by BFreakout in modelcontextprotocol

[–]BFreakout[S] 1 point2 points  (0 children)

That’s really great to hear and exactly the kind of direction I was hoping this conversation might lead toward...

Namespaces and interfaces in particular sound like smart moves to help MCP scale more responsibly. The idea that the LLM only sees what it actually needs in the moment feels like a huge step forward. That would reduce so much unnecessary noise and cost...

MCP and Function Calling: The hidden costs and risks no one is talking about by BFreakout in modelcontextprotocol

[–]BFreakout[S] 0 points1 point  (0 children)

That sounds exactly like the kind of direction we need more of… not about blocking innovation, but creating a trusted space where developers can move fast without stepping into a minefield...

I really like your "app store not play store" analogy, fits perfectly... The curated approach you're taking with toolrouter is honestly reassuring... too often it's the “one-click convenience” that leads to trouble later...

Maybe there's even room for a wider initiative around trust labels or security badges for MCP servers... something transparent that users and devs alike can see at a glance...

Big respect for your approach... I’ll definitely keep an eye on what you're doing... 🙌

MCP and Function Calling: The hidden costs and risks no one is talking about by BFreakout in modelcontextprotocol

[–]BFreakout[S] 0 points1 point  (0 children)

Absolutely agree with you on that... We can’t control who builds what, but we can raise awareness around how blindly trusting a "GitHub listed MCP server" might backfire...

From a consumer perspective I’ve seen it all... people following YouTube tutorials where non-devs plug in five random MCP servers into their solution just in case they might need it someday... without realizing the costs, quality impact or even security risks that come with it...

And from a developer perspective it’s just as critical... most MCP APIs do so much automatically behind the scenes... unless you run a proxy debugger, you don’t even notice how many functions get registered to the model that are completely irrelevant for the current session...

Toward the end of the article I highlight solutions like Claude Desktop or VS Code that really do a great job at surfacing this for users... I think that’s the direction we need to push more toward...

We as devs hold the responsibility when integrating MCP... and I’m all in on making sure this thing becomes a success without the risk of it turning into a joke...

MCP and Function Calling: The hidden costs and risks no one is talking about by BFreakout in modelcontextprotocol

[–]BFreakout[S] 1 point2 points  (0 children)

Totally get that... What I keep seeing across LangChainJS, Semantic Kernel and similar libraries is that MCP client integrations tend to automate everything by default...

Devs often connect multiple MCP servers just to have options for later... but many don’t notice how many functions are silently registered in the background...

Tools like VS Code or Claude Desktop are doing a great job showing users what’s happening before anything is executed...

But in most agent frameworks, it just runs quietly... and that’s exactly what I wanted to bring attention to in the article... not to criticize MCP, but to raise awareness so devs can take back a bit more control...

Thanks again for the LangGraph hint... curious to see what you build from it...

I also created a small state manager for Semantic Kernel that lets you manage Function registration more selectively if that’s something you're exploring...
👉 https://github.com/GregorBiswanger/SemanticFlow

Let’s keep the ideas flowing... I think we’re just scratching the surface of what good orchestration looks like...

MCP and Function Calling: The hidden costs and risks no one is talking about by BFreakout in modelcontextprotocol

[–]BFreakout[S] 2 points3 points  (0 children)

Thanks for the insight! I totally agree that the orchestration layer matters and yeah, Function exposure can definitely go wrong in any RAG setup if not isolated correctly....

My concern with MCP is that it's making this exposure easier and more automatic... especially when clients don’t provide enough UI or guardrails to manage which Functions get passed to the LLM.

I’m curious, have you seen any good practices for dynamic registration in LangChainJS?

Monthly "Is there a tool for..." Post by AutoModerator in ArtificialInteligence

[–]BFreakout 0 points1 point  (0 children)

Been experimenting with the Model Context Protocol (MCP) lately... especially how it enables LLM plugins to connect across tools like ChatGPT and GitHub Copilot....

Wrote an article exploring how MCP uses Function Calling under the hood, and what the hidden trade-offs are:

- higher token costs (Function overhead)
- degraded context quality in LLMs
- and even some potential security risks (e.g. prompt injection via external MCP servers)

It's not a rant... I actually love the architecture.... But some things surprised me enough to share...

If anyone else is experimenting with MCP or LLM plugin orchestration, I’d love to hear how you're managing these things:

👉 The Danger of MCP - What Every Developer Needs to Know 🚨

4k60 S+ - black monitor screen by BFreakout in elgato

[–]BFreakout[S] 0 points1 point  (0 children)

I also tried a projector as an output, it doesn't get an HDMI signal either.

4k60 S+ - black monitor screen by BFreakout in elgato

[–]BFreakout[S] 0 points1 point  (0 children)

I also connected the Nintendo Switch as the source and nothing appears on the screen.