What if you don't need MCP at all?
What MCP Is and How Tool Calling Actually Works
- Commenters clarify that MCP is a protocol and JSON-RPC–style wrapper for exposing tools to agents, not something “built into” models.
- Major models already support function/tool calling; the client/agent enforces schemas and interprets “tool_use” vs “text” outputs, then invokes external functions.
- MCP’s core value is described as a standard manifest + lifecycle so agents can auto-discover tools from arbitrary servers.
Arguments That You Don’t Need MCP
- Many argue you can achieve the same by:
- Publishing good API docs or OpenAPI/Swagger and feeding them as context.
- Letting the model call existing REST/GraphQL/CLI tools via function calling.
- Having the model write code that uses normal libraries/APIs, then executing that code.
- For bespoke, constrained agents, MCP is said to add complexity, fragility, latency, and security risk without much benefit.
- Critics call it “just context pollution” and “a thin JSON layer,” often overused in enterprise because of hype.
Perceived Benefits and Defenses of MCP
- Proponents see MCP as:
- A plugin/distribution standard for tools across agents (like “OpenAPI for LLMs”).
- A way to encapsulate authentication/credentials and constrain capabilities, especially for non-technical users.
- Helpful for remote SaaS integrations (GitHub, Figma, Sentry, etc.) where users “add an MCP” instead of wiring APIs/CLIs.
- A driver of better, higher-level, task-focused APIs because vendors had to design LLM-friendly interfaces.
Technical Limitations and Context/Token Concerns
- Multiple comments highlight:
- Large tool catalogs and verbose schemas overloading context windows and harming reliability.
- Intermediate tool results flowing through the model, wasting tokens and introducing error opportunities.
- Difficulty composing tools across multiple MCP servers; subagents and “project-specific” MCPs partially mitigate this.
- Weak story for observability, awkward HTTP/SSE transports, and security issues with stdio-based local tools.
Alternatives and Hybrids
- Suggested alternatives include:
- Claude Skills (essentially markdown prompts + tools with progressive reveal).
- Simple bash/CLI tools with good
--helptext, described briefly in a project README/CLAUDE.md. - Exposing MCP tools as libraries inside code interpreters so models can compose them in code rather than via chained tool calls.
- Several see MCP’s role shrinking to a thin, secure gateway layer, with real work done by code and CLIs.