4 ms·
Hasn't even Anthropic admitted that MCP is very wasteful of context? Having the LLM write code to call and API can use 98% less tokens. https://www.anthropic.c
by UltraSane 1y ago
Hasn't even Anthropic admitted that MCP is very wasteful of context? Having the LLM write code to call and API can use 98% less tokens.
https://www.anthropic.com/engineering/code-execution-with-mcp https://www.anthropic.com/engineering/code-execution-with-mc...
The agent discovers tools by exploring the filesystem: listing the ./servers/ directory to find available servers (like google-drive and salesforce), then reading the specific tool files it needs (like getDocument.ts and updateRecord.ts) to understand each tool's interface. This lets the agent load only the definitions it needs for the current task. This reduces the token usage from 150,000 tokens to 2,000 tokens—a time and cost saving of 98.7%.
- hobofan 1y agoThe article you link (and general movements in that area, like e.g. discussed here[0]) don't advocate for abandoning MCP, just that masquerading MCP usage as code usage makes it more efficient. In that system MCP still provides a valuable role to act as a tool discovery protocol, a role that would have to be filled one way or another unless you are building a system with a set of tools that is known ahead of time. [0]: https://news.ycombinator.com/item?id=45917182 https://news.ycombinator.com/item?id=45917182
- esafak 1y agoIn that case discovery could be served through `ls` or AGENTS.md, right? So when should you really use MCP?
- hobofan 1y agoIt sounds like you are viewing MCP servers through a narrow lens of local coding agents. I'm mostly working with MCP servers in the context of enterprise/organizational usage for connecting internal data sources and workflows/internal APIs through a standardized interface. There is no equivalent of a "ls or AGENTS.md" there, as there is no file system and no shell in those contexts.
- esafak 1y agoIf there is no file system where do the MCP definitions live and how are the agents aware of them? How are your end users aware of these definitions? There has to be a file somewhere.
- hobofan 1y ago> where do the MCP definitions What concretely do you mean be definitions? If you mean the configuration of the entry points similar to a .mcp.json for Claude Code, they can exist in any form, but ultimately, that only contains the endpoints of MCP servers (the entry points for discovery for each of the MCP servers). If you mean the definitions of what tools are part of what MCP server (= the meat of what is involved in tool calling), those definitions are part of the MCP server and are only retrieved at runtime. > how are the agents aware of them Same as in Claude Code, the agent (= the control loop for the LLM) contacts the list of MCP endpoints, gathers all of the available tools on each MCP server, and then exposes those tools to the LLM (and handles the interactions between LLM and MCP server). > There has to be a file somewhere. Not in any way that's meaningful for an `ls` operation.
- UltraSane 1y agoHow is that different then an OpenAPI definition?
- hobofan 1y agoIt conceptually isn't that far from OpenAPI defintions, but MCP do make certain affordances for making consumptions by LLMs easier. But it certainly also differs by how they are typically consumed. In what software do you just provide your consuming client just an OpenAPI schema URL to be retrieved at runtime? In my experience, none.
- UltraSane 1y agohttps://github.com/OpenAPITools/openapi-generator https://github.com/OpenAPITools/openapi-generator You can also have an LLM generate a client from an OpenAPI spec