MCP: Good, But Not A Cure-All

Unveiling MCP: A Unified Tool Invocation Protocol

Defining MCP

MCP, or Model Context Protocol, is an open technical protocol meticulously crafted to standardize the way Large Language Models (LLMs) engage with external tools and services. Envision it as a universal translator operating within the AI domain, empowering AI models to seamlessly ‘converse’ with a diverse range of external resources. It establishes a common language and a structured format that enables LLMs to request and effectively utilize functionalities offered by different applications and services.

The Need for MCP

Prior to the emergence of MCP, the AI tool invocation process was riddled with two primary challenges:

  • Interface Fragmentation: Each LLM deployed its distinct instruction formats, while each tool API possessed its unique data structures. Developers were compelled to write custom connection code for every possible combination, leading to a complex and inherently inefficient development process.
  • Development Inefficiency: This ‘one-to-one translation’ approach proved to be both costly and challenging to scale. It was akin to hiring a dedicated translator for each individual foreign client, significantly hindering overall productivity and agility.

MCP addresses these critical pain points by delivering a standardized framework that allows LLMs to interact seamlessly with external tools. This framework simplifies the entire development process and facilitates greater scalability.

Understanding MCP’s Functionality

The technical architecture of MCP can be conceptualized as a system composed of three core components: MCP Host, MCP Client, and MCP Server. These elements operate in perfect synchronicity to facilitate seamless communication between AI models and the external world.

To fully grasp MCP’s role, consider a modern enterprise environment. Within this analogy:

  • Users represent senior executives, who are responsible for understanding user needs and making final decisions.
  • Large Language Models (LLMs) (such as Claude or GPT) comprehend executive instructions, meticulously plan task steps, determine when to utilize external services, and consolidate information to deliver insightful answers.
  • Agent Systems function as personal assistants or executive secretaries, diligently carrying out tasks as instructed.
  • MCP serves as a standardized communication platform or enterprise service access system utilized by the secretaries. It does not make decisions independently but instead faithfully follows instructions, communicating with various service providers using a unified format and protocol.

Before the advent of MCP, AI interaction with external tools resembled an era of chaotic communication standards. Each time a secretary (Agent) needed to contact a different department or external supplier, they had to utilize a different communication device or software. This necessitated familiarity with diverse systems, resulting in inefficiencies. Developers were required to write separate connection codes for each tool, leading to wasted time and limited scalability.

MCP streamlines this intricate process by providing a unified communication platform, enabling secretaries to contact any department or service provider using the same system and communication protocol. Developers only need to implement the MCP interface once, empowering AI systems to interact with all tools that support the protocol.

MCP: A Toolbox Built on Function Call

It’s critical to understand that MCP is not a replacement for traditional Function Call; rather, it’s a complementary component that enhances its inherent capabilities.

Function Call is the core mechanism by which LLMs interact with external tools or APIs. It’s a fundamental capability of LLMs, allowing them to identify when a tool is needed and what type of tool is required for the task at hand.

MCP acts as a tool classification system, providing a structured framework for organizing and accessing various tools. Therefore, MCP does not replace Function Call but rather works in conjunction with Agents to accomplish complex tasks.

The complete tool invocation process involves a combination of “Function Call + Agent + MCP System.”

In essence, the LLM expresses the need to call a specific tool through Function Call. The Agent follows instructions to execute the tool invocation, while MCP provides a standardized tool invocation specification.

Consider the following analogy: a boss (user) wants coffee. In the office (MCP Host), the office manager (LLM) instructs the secretary (Agent) to buy an Americano (Function Call). The secretary checks the supplier list and finds that an Americano coffee supplier has integrated with either Meituan or the company’s unified procurement system (implemented MCP Server). The secretary then locates the supplier in the procurement system (MCP Client) and places an order.

Previously, without MCP, when the LLM issued a Function Call, the Agent would translate and directly connect to the API to invoke the tool. Each API required a separate invocation mode and a defined tool list and invocation mode for the Agent to interpret. With MCP, many APIs can be directly ordered through the supplier’s MCP Client, saving the Agent time and effort. However, the LLM’s Function Call remains unchanged, still in the format {tool: ‘buy coffee’, ‘type’: ‘Americano’}.

By distinguishing between Function Call and MCP, it becomes clear that MCP does not determine which tool to use, nor does it handle task planning or user intent. These aspects fall under the purview of the Agent layer. MCP simply provides a unified tool interface, becoming a recognized standard protocol within the industry.

MCP’s Development Challenges and Market Landscape

The Development Conundrum

Since February, the AI development community has witnessed an ‘MCP gold rush.’ In the absence of an official app store, thousands of tools have voluntarily integrated with the MCP protocol within three months.

This rapid growth has propelled MCP into the industry spotlight but has also exposed the gap between aspiration and reality. Developers initially viewed MCP as a ‘universal key’ but have found it to be more of a ‘specialized wrench,’ excelling in certain scenarios but proving less effective in others.

MCP’s participants can be categorized as local client applications, cloud client applications, and MCP server developers. Local applications are similar to local AI assistants, while cloud client applications resemble web-based versions of ChatGPT. MCP server developers are the actual providers of tools, who need to re-package their APIs to conform to MCP rules.

The emergence of MCP was initially welcomed by local client applications, but cloud client applications and MCP server developers faced challenges.

MCP originated from Anthropic’s Claude Desktop application, initially designed as an interface protocol for invoking local files and functions, deeply rooted in client-side needs.

For local client users, MCP represented a revolution, offering an infinitely expandable toolbox that allowed users to continuously extend the capabilities of their AI assistants.

Local client applications like Cursor and Claude Desktop have leveraged MCP to enable users to dynamically add tools based on individual needs, achieving unlimited expansion of AI assistant capabilities.

MCP addresses a core pain point in local client development: how to enable AI applications to seamlessly interact with local environments and external tools without developing separate interfaces for each tool. This unified protocol significantly reduces integration costs, providing small startups and individual developers with a shortcut to building feature-rich AI applications with limited resources.

However, MCP’s appeal diminishes when considering server-side development (MCP Server) and cloud clients. Early versions of MCP employed a dual-link mechanism for cloud servers (remote), using an SSE long connection for unidirectional message pushing from the server to the client and an HTTP short connection for sending messages.

This approach worked well for timely user feedback and intervention but created a series of engineering challenges in server-side environments.

Firstly, implementing the MCP interface represents an additional workload for large enterprise service providers, without necessarily yielding corresponding benefits. These services often have mature API systems, and providing an additional MCP adaptation layer may only increase maintenance costs without creating substantial value. Many enterprise-level applications prefer closed, controllable tool invocation mechanisms over MCP’s open ecosystem.

Moreover, to handle high-concurrency invocations, MCP services often need to be scaled to multi-server architectures. MCP’s dual-connection model introduces the complexity of cross-machine addressing. When a long connection is established on one server, and a request is routed to another server, an additional broadcast queue mechanism is needed to coordinate these distributed connections, significantly increasing implementation difficulty and maintenance costs.

Secondly, MCP has limitations in the realm of cloud applications. Cloud AI Agents (server-side Agents) typically run in stateless services, processing tasks after acceptance and releasing resources upon completion. Using MCP Client on the server side requires the temporary creation of an SSE link, sending a tool invocation request, receiving the result from the SSE, and then closing the SSE link, which is an inefficient approach that increases complexity and reduces performance. A single RPC request should suffice in this scenario.

In practice, cloud applications using MCP often rely on preset toolsets and don’t utilize MCP’s signature capability of dynamic tool discovery and flexible loading.

The data interaction mode of cloud environments limits the ability to freely use tools as MCP intended. It necessitates a highly standardized process for invoking specific, hard-coded tools, sacrificing flexibility.

The MCP team has demonstrated responsiveness to user feedback. After receiving feedback from server-side developers, MCP updated its protocol on March 26, replacing the original SSE transport with streamable HTTP transport. The new protocol supports both stateless service scenarios that require only single tool invocation requests and real-time push requirements that were previously met through HTTP + SSE dual links.

These improvements suggest that current MCP issues stem from initial design limitations but are not insurmountable.

The Market’s Disorder

Another challenge facing MCP is the low usability of many implementations in the market.

The current MCP market is experiencing a typical technology hype cycle. Similar to the chaos of the early App Store, less than 20% of the thousands of MCP tools currently available have practical value. Many implementations have serious issues, ranging from simple configuration errors to complete unusability. Some are rushed to market without adequate testing, while others are experimental products never intended for practical use.

A more fundamental issue is that many MCP implementations may not be needed by the market. Many tools offered through MCP are simply re-packaged APIs that were already available and used before MCP’s emergence, adding little unique value.

For example, dozens of search services are offered through MCP, but their quality varies significantly. Some services may be inaccurate or slow, making them less desirable than existing solutions.

Moreover, MCP lacks a robust evaluation system, making it difficult for Agents to select the most suitable tool based on reliable metrics. This inefficient selection process wastes computing resources, extends task completion times, and degrades the user experience.

The lack of an evaluation system makes it difficult for agents to select the most suitable tool. If multiple MCP services offer tools with similar names and descriptions, the agent may struggle to choose the best option, leading to wasted tokens and reduced efficiency.

The most successful AI applications often take the opposite approach, providing more precise tools rather than a greater quantity of tools. Manus, for example, chose to build internal applications instead of adopting the MCP protocol, despite its existence. Manus prioritized call accuracy and stability over integrating with the MCP ecosystem.

Code editors like Cursor have built-in development functions, making most external MCP tools redundant.

The current chaotic state of the MCP market isn’t necessarily a sign of failure but rather a necessary stage of growth for any emerging technology ecosystem. Historical precedent suggests that this initial over-expansion will gradually converge through market selection mechanisms, leaving behind the most valuable elements.

This process will allow the industry to learn from the current challenges and create a stronger, more reliable MCP framework. Similar to how the dot-com bubble led to game-changing innovations in e-commerce and social media, the MCP trend may lead to a more streamlined and valuable tool ecosystem.

The MCP team’s open attitude toward user feedback is encouraging, and the industry needs better tools to evaluate and assure the quality of MCP services, which will help make the ecosystem more usable.

MCP Is Good, Not a Panacea

The issues mentioned above come from MCP’s limitations and shortcomings, highlighting what it can realistically achieve. However, other criticisms come from unrealistic expectations.

One recent critique labels MCP a flawed protocol because it doesn’t dictate the interaction patterns between LLMs and MCP.

Some expect MCP to automatically improve AI system decision-making or boost task-planning efficiency. This expectation confuses tools with artisans.

The issue stems from a cognitive mismatch – expecting a communication protocol to perform tasks of an intelligent system. This is like blaming USB for not editing photos or faulting 5G standards for not writing code. MCP is primarily a standardized ‘tool socket,’ ensuring plug compatibility rather than dictating which appliance to use or how.

The effectiveness of Agent-tool invocation hinges on factors like tool selection proficiency, task planning skills, and context comprehension, none of which fall under MCP’s purview. MCP only guarantees a standardized tool interface, not how those tools will be chosen and combined.

We often seek silver bullets in technology, universally applicable solutions. Like software engineering’s ‘no silver bullet’ axiom, AI tool use has no magic solution. A strong AI system needs designed components: LLMs for understanding and generating, Agent frameworks for planning and executing, and MCP focused on unified tool interfaces.

MCP shows good protocol design – focusing on one problem and solving it well, rather than all. Its restraint helps it progress in client-side tool integration.

Entities like Alibaba’s Qwen, Baidu’s “Xinxiang,” and ByteDance’s Kouzi Space embrace the MCP protocol, attempting to establish more efficient internal MCP ecosystems.

However, there are key differences in deployment: Baidu and ByteDance are more aggressive. Baidu attempts a C-end approach, integrating several AI models and external tools through the “Xinxiang” (Kokone) leveraging the MCP protocol, primarily for mobile devices, to integrate into user’s daily life and encourage adoption.

ByteDance’s Kouzi Space has 60+ MCP extension plugins. Accessed via a webpage, it also launched an AI-native IDE, Trae, which supports MCP, primarily targeting productivity scenarios.

Alibaba integrated the MCP protocol into products like Alipay, enabling one-click AI tool invocation, and open-sourced the Qwen3 model, which supports the MCP protocol, enhancing its Agent capabilities.

Tencent Cloud developers released an AI development suite that supports MCP plugin hosting services. Tencent Cloud’s large model knowledge engine enables users to call MCP plugins. The Craft software development intelligent agent launched by Tencent Cloud’s CodeBuddy is compatible with the MCP open ecosystem. Additionally, Tencent Maps and Tencent Cloud Storage have released their own MCP SERVER.

AI tool use may evolve from direct, single-tool operation to professional Agent collaboration, just as programming styles evolved from assembly language to object orientation.

In this paradigm, MCP may simply become part of the underlying infrastructure, instead of a user- or developer-facing interface. A more complete plan may require architectures like Agent to Agents (A2A) to enhance task planning and tool selection efficiency by increasing abstraction levels.

By returning MCP to its ‘protocol’ role, we can recognize its true power to drive industry standardization – this may be the most treasured ‘de-mystification’ moment in technology evolution.