Model Context Protocol
MCP is the de facto open standard for connecting AI agents to tools and data, adopted by every major AI platform and stewarded by the Linux Foundation. It solves the integration transport problem well. It does not solve the security problem: tool poisoning succeeds at 72.8–84.2% rates against leading models, the specification has no context isolation or least-privilege enforcement, and 49% of enterprises cite security and compliance as their top deployment challenge.
Use Cases
- Connecting an AI IDE or coding agent to a repository, issue tracker, or documentation system through a single standardized interface rather than proprietary connectors
- Exposing enterprise data sources (databases, CRM, ERP) to AI assistants under a governed gateway with authentication and tool allowlisting
- Giving a chat interface access to web search, file systems, browser automation, or internal APIs without hardcoding tool definitions into prompts
- Building composable agent workflows where a host can discover and invoke tools from multiple independent MCP servers
- Standardizing tool serving across an organization so that one MCP server implementation serves Claude, ChatGPT, Copilot, Cursor, and other hosts without per-host rewrites
- Publishing a public MCP server so that any compliant AI client can access a service's capabilities
Pricing
Pricing model: Free
| Plan | Price | Billing | Included usage | Notes |
|---|---|---|---|---|
| Protocol specification | $0 | not applicable | The MCP specification is an open standard published under the stewardship of the Linux Foundation's Agentic AI Foundation (AAIF). It is free to implement, with no licensing fee. Official SDKs are available for Python, TypeScript, Java, Kotlin, C#, Go, Ruby, Rust, and Swift. The reference implementation and schema are maintained on GitHub. | — |
| Official SDKs | $0 | not applicable | MIT-licensed SDKs for Python and TypeScript (the two primary SDKs), with 97 million combined monthly downloads as of March 2026. SDKs for Java, Kotlin, C#, Go, Ruby, Rust, and Swift are also available. There is no usage fee, no rate limit, and no hosted service charge from the protocol maintainers. | — |
| Hosted MCP servers (third-party) | Varies | varies by provider | The protocol itself is free, but hosted MCP servers are commercial products. Cloudflare, AWS, Google Cloud, Microsoft Azure, and numerous SaaS vendors operate MCP server infrastructure with their own pricing. Individual server costs range from free (e.g., GitHub's official hosted server over OAuth, Playwright MCP under Apache-2.0) to paid tiers based on tool calls, compute, or enterprise features. | — |
Common Limitations
- The security model is architecturally incomplete: no context isolation and no least-privilege enforcement · MCP's most consequential limitation is not a bug to be patched but a gap in the specification itself. The current specification defines no isolation boundary between tool contexts from different MCP servers, and it lacks least-privilege enforcement at the protocol level[reference:0]. This means instructions from one server's tool metadata can propagate into calls on a different, trusted server. The Cloud Security Alliance's ShareLock research demonstrated multi-tool threshold poisoning, where adversarial payloads are distributed across multiple cooperating MCP servers' tool descriptions, each individual payload staying below detection thresholds while collectively steering the agent toward attacker-controlled outcomes[reference:1]. On the MCPTox benchmark, tool poisoning attacks succeeded against leading LLMs at rates as high as 72.8%, and independent MCP-ITP research found an 84.2% success rate across twelve tested LLM agents; current detection mechanisms caught fewer than 3% of malicious invocations[reference:2]. ShieldMCP, a runtime defense framework, reduced tool poisoning success from 74% to under 9% and indirect prompt injection from 47% to under 6%—but that is a third-party mitigation layer, not a protocol guarantee[reference:3]. Effective defense requires architectural controls—tool allowlisting, constrained response schemas, and cryptographic attestation—rather than relying on model-level refusal behavior[reference:4]. The protocol documentation itself states: 'The Model Context Protocol enables powerful capabilities through arbitrary data access and code execution paths. With this power comes important security and trust considerations that all implementors must carefully address'[reference:5]. That is a candid acknowledgement that security is the implementer's responsibility, not a solved property of the protocol.
- Enterprise adoption is constrained by gaps the protocol does not close · MCP was designed for integration, not for enterprise governance. A 2026 Stacklok survey found that 49% of respondents cited security and compliance as their top MCP implementation challenge, followed by governance at 34%[reference:6]. The specific gaps are concrete: no standardized audit trails, authentication tied to static secrets in many implementations, undefined gateway behavior, and configuration that does not travel between clients. Enterprises struggle to retrofit MCP into legacy access-control systems, credential-management workflows, and existing audit infrastructure[reference:8]. MCP also fails to interface with legacy systems lacking modern endpoints without significant effort, and it suffers from context window exhaustion and selection collapse in complex workflows with large tool registries[reference:9]. A 2026 academic study of enterprise MCP adoption found that adoption remains constrained by ecosystem fragmentation, cross-component coordination difficulties, and unresolved problems in distributed state management and fault diagnosis. The 2026 roadmap explicitly identifies enterprise readiness—auth, observability, gateway patterns, and configuration portability—as top priorities, which is an admission that these are gaps rather than solved features.
- Stateless core and authorization hardening are recent, and the ecosystem has not fully absorbed them · The 2026-07-28 specification, the fifth release, made two structural changes: it moved MCP to a stateless core, removing protocol-level sessions and the initialization handshake, and it hardened authorization to align with production OAuth 2.0 and OIDC deployments so MCP servers can connect to enterprise identity systems like Entra or Okta without workarounds. These are important improvements, but they are recent. Implementations built against earlier stateful specifications may not migrate cleanly, and the ecosystem of third-party MCP servers—over 10,000 active public servers as of December 2025, and 17,468 indexed by an independent census in Q1 2026—is not uniformly compliant with the latest revision[reference:13]. The protocol moves faster than many server implementations can follow, and the compatibility surface is a real operational concern for teams standardizing on MCP as infrastructure.
- MCP solves transport, not semantics · MCP standardizes how an agent connects to a tool across a process boundary. It does not standardize what the data means. Atlan's protocol-fit analysis makes this explicit: 'protocols move messages. They do not agree meaning. When agent A hands agent B a customer record, both need the same definition of customer, the same freshness expectation, and the same rule about what may leave the boundary. Teams adopt a protocol, find the handoffs still fail, and discover the failure was semantic'[reference:14]. MCP's scope is tool discovery and execution transport, not context contracts, data governance, or cross-agent delegation semantics. A team that adopts MCP expecting it to solve integration consistency will still need a separate context or data contract layer. The protocol is necessary infrastructure, not a complete integration solution.
- A2A is a separate protocol, and MCP is not a substitute for it · MCP is often discussed alongside A2A (Agent-to-Agent), but they solve different problems. MCP connects an agent to tools and data it does not own. A2A lets one agent discover and delegate work to another agent owned by a different team or company. The protocol selection guidance from Atlan is direct: 'If you only have one agent calling your systems, you need MCP, not A2A'[reference:15]. For most teams reading about A2A, the correct answer is that A2A is premature[reference:16]. Conversely, MCP is not a substitute for A2A when genuine cross-boundary agent delegation is required. The two protocols are complementary layers, not competing standards, and confusing them leads to architectural mismatches.
- MCP is not a data-residency or compliance solution by itself · MCP is a protocol, not a hosting service. It does not provide data residency, audit trails, access controls, or compliance certifications. Those must be implemented by the MCP server operator. A self-hosted MCP server behind a reverse proxy can keep data on-premises; a remote hosted MCP server sends tool calls and responses through the provider's infrastructure. The protocol's Streamable HTTP transport requires servers to validate the Origin header, bind to localhost when running locally, and implement proper authentication—but these are recommendations, not enforced guarantees[reference:17]. For enterprises subject to GDPR, HIPAA, PCI-DSS, or data-sovereignty requirements, MCP is a transport layer that must be wrapped in governance controls, not a compliance solution. Third-party products exist to add data residency and governance to MCP deployments, but they are separate purchases.
Key Features
- Open JSON-RPC 2.0 protocol for connecting LLM applications to external tools and data
- Host-client-server architecture inspired by the Language Server Protocol
- Two standard transports: stdio for local subprocess servers, Streamable HTTP for remote multi-client servers
- Stateless core since the 2026-07-28 specification, removing protocol-level sessions and initialization handshake
- OAuth 2.0 and OIDC authorization aligned with enterprise identity systems (Entra, Okta)
MCP vs. OpenAI Function Calling, LangChain Tools, and Google A2A
This comparison uses official specifications, framework documentation, and independent protocol-selection guidance available as of November 2026. It focuses on the structural difference that determines which integration layer a team actually needs: scope. Function calling is an in-process model primitive; MCP is a cross-process tool-serving protocol; LangChain Tools is a framework abstraction within an application; A2A is a cross-boundary agent-delegation protocol. These are not four competing products at the same layer. Choosing the wrong layer is a more common failure than choosing the wrong vendor within a layer.
| Tool | Positioning | Key differences | Best fit | Pricing note |
|---|---|---|---|---|
| Model Context Protocol (MCP) Official specification (2026-07-28) MCP donation to Linux Foundation (official announcement) ShareLock security research (CSA, 2026) | An open, vendor-neutral protocol for connecting AI agents to tools and data across a process boundary, stewarded by the Linux Foundation's Agentic AI Foundation. | The only option in this comparison that is a multi-vendor open standard with its own specification, registry, and governance body. Provider-agnostic: works with Claude, ChatGPT, Copilot, Cursor, Gemini, and any compliant host. Built-in multi-tenancy (tenant-scoped tools) and gateway-oriented security design (auth, policies, audit at the gateway level). But the protocol itself has no context isolation and no least-privilege enforcement, tool poisoning succeeds above 70% in benchmarks, and enterprise audit trails and observability are not yet standardized. It solves transport, not semantics. | Teams that need a standardized, provider-agnostic way to serve tools and data to multiple AI hosts, especially when integration count is climbing or when the same tool must be accessible from Claude, ChatGPT, Copilot, and other clients without per-host rewrites. | Protocol, schema, and SDKs: free and open. No license fee, no protocol-level rate limit. Costs are borne by the implementer: hosting, LLM inference, security review, and governance infrastructure. Hosted MCP servers from cloud providers carry their own pricing. |
| OpenAI Function Calling Protocol-fit decision guide (Atlan, 2026) MCP vs function calling vs LangChain comparison | A model-level primitive that lets an LLM emit structured JSON to call tools defined in the API request, operating in-process and within a single provider's ecosystem. | Function calling is the simplest layer: one agent, its own tools, in-process, with tool definitions embedded in the API call. It is provider-specific—OpenAI's format works with OpenAI models—and has no built-in transport, discovery, or multi-tenancy. MCP is a protocol built on top of the same conceptual primitive, adding cross-process transport, tool discovery, and provider-agnosticism. For a single agent with a handful of in-process tools, function calling is sufficient and has a lower implementation overhead. MCP becomes relevant when integration count grows or when tools need to be shared across multiple hosts. The two are not mutually exclusive: an MCP host can use function calling internally to decide which tool to invoke. | Single-agent applications with a small, stable set of in-process tools built exclusively on OpenAI models, where the overhead of a protocol layer is not justified. | Billed through OpenAI API token usage. No separate protocol fee. Tool definitions consume input tokens; the model's structured output consumes output tokens. |
| LangChain Tools MCP vs OpenAI Function Calling vs LangChain comparison Protocol selection reference | A framework abstraction for defining and invoking tools within a LangChain agent application, supporting multiple model providers through adapters but operating primarily in-process. | LangChain Tools is an application-level framework, not a protocol. It defines a Tool abstraction (a class or decorator with an execute method) and relies on the underlying model's function-calling capability to invoke tools. It supports multiple providers through adapters, so it is less locked-in than OpenAI function calling, but it does not provide a cross-process transport, a discovery registry, or a gateway-enforced security model. Remote tools in LangChain are typically accessed through API wrappers rather than a standardized protocol; MCP support exists via adapters but is not the framework's native integration model. LangChain Tools is best understood as a development framework, while MCP is an interoperability standard. A team can use LangChain to build an agent and connect it to MCP servers, but LangChain Tools alone does not standardize how an agent reaches tools it does not own. | Teams building a single agent application within the LangChain ecosystem that need a convenient abstraction for defining and invoking in-process tools across multiple model providers, and that do not yet require cross-process tool serving or multi-host interoperability. | LangChain is open source (MIT). Costs are the underlying LLM API usage and any infrastructure for hosting the application. No protocol fee. |
| Google A2A (Agent-to-Agent) Protocol-fit decision guide (Atlan, 2026) A2A vs MCP vs Function Calling comparison | An open protocol for agent-to-agent delegation across organizational boundaries, where one agent discovers and tasks another agent owned by a different team or company. | A2A operates at a different layer from MCP. MCP is vertical: agent down to tools. A2A is horizontal: agent across to agent. A2A answers 'how do agents find and task each other,' while MCP answers 'how does an agent connect to a system.' The decision rule is scope-based: if you have one agent calling your own systems, you need MCP, not A2A. A2A becomes relevant only when there is genuine cross-boundary delegation—agents owned by different organizations handing work to each other mid-task—which is rarer than the volume of discussion suggests. A2A does not replace MCP's tool-serving function, and MCP does not replace A2A's agent-delegation function. | Organizations with agents owned by different teams or companies that need to discover each other and delegate work across organizational boundaries, where the hard problem is not transport but the semantic contract governing what gets passed. | A2A is an open protocol. There is no protocol fee. Costs are the infrastructure and LLM inference for the agents involved. Google's A2A specification and SDKs are open. |
Comparison checked against official product information on 2026-11-04. Features and pricing may change.
Frequently Asked Questions
Is MCP free to use?
The protocol specification, schema, and official SDKs are free and open, with no license fee and no protocol-level rate limit. MCP is not a commercial product. The cost of using MCP is borne by the implementer: hosting MCP servers, paying for LLM inference, and investing in security review and governance. A self-hosted stdio server on a developer's machine has no marginal protocol cost. A production deployment with multiple remote servers, enterprise authentication, and audit logging carries infrastructure and engineering costs that the protocol does not dictate.
Is MCP secure?
Not by itself. The specification provides no context isolation between MCP servers and no least-privilege enforcement at the protocol level. Tool poisoning attacks succeed against leading LLMs at rates as high as 72.8% on the MCPTox benchmark, and independent research found an 84.2% success rate across twelve tested agents. Current detection mechanisms caught fewer than 3% of malicious invocations. Effective defense requires architectural controls—tool allowlisting, constrained response schemas, runtime validation, cryptographic attestation—implemented by the MCP host or a gateway. The protocol documentation itself states that security and trust considerations are the implementer's responsibility.
What is the difference between MCP and OpenAI function calling?
Function calling is a model-level primitive: one agent, its own tools, in-process, with tool definitions embedded in the API request. MCP is a protocol for an agent to reach tools and data it does not own, across a process boundary. Function calling is provider-specific (OpenAI's format works with OpenAI models); MCP is provider-agnostic and works with any compliant host. Function calling is the floor; MCP standardizes what sits on top of it. For a single agent with a few in-process tools, function calling is simpler and sufficient. MCP becomes relevant when integration count grows or when tools need to be shared across multiple hosts.
Does MCP replace A2A?
No. MCP connects an agent to tools and data; A2A connects agents to other agents across organizational boundaries. They are complementary layers, not competing standards. The decision rule is straightforward: if you have one agent calling your own systems, you need MCP, not A2A. A2A becomes relevant only when there is genuine cross-boundary delegation—agents owned by different teams or companies handing work to each other mid-task. For most teams evaluating A2A, the correct answer is that it is premature.
What are the biggest enterprise barriers to MCP adoption?
Security and compliance, according to a 2026 Stacklok survey in which 49% of respondents cited them as the top implementation challenge, followed by governance at 34%. The specific gaps are no standardized audit trails, authentication tied to static secrets in many implementations, undefined gateway behavior, and configuration that does not travel between clients. Enterprises also struggle to retrofit MCP into legacy access-control systems and to interface with legacy systems that lack modern endpoints. The 2026 roadmap explicitly prioritizes auth, observability, gateway patterns, and configuration portability because these are unresolved protocol-level concerns, not solved features.
Alternative Tools
- Composio Composio is a managed tool-integration and authentication layer that exposes 1,500+ apps as agent-callable tools via SDKs, a CLI, or hosted MCP endpoints, handling OAuth, tool search, and execution for AI agents.
- Context7 Context7 is an Upstash-built MCP server that injects up-to-date, version-specific library documentation and code snippets into AI coding agents, reducing deprecated-API hallucinations for indexed frameworks and packages.
- Firecrawl Firecrawl is the most complete LLM-ready web data API: six endpoints covering search, scrape, crawl, map, parse, and interactive browser sessions, with clean Markdown output and first-class MCP support. The advertised 1-credit-per-page rate is a base rate—JSON extraction, PDF parsing, ZDR, and prompt-injection checking multiply it by up to 9x, and Interact bills by the browser minute. Self-hosting is AGPL-3.0 but omits the anti-bot, Agent, and Interact features that define the cloud product. Plan credits do not roll over below $599/month.
- Google AI Studio Google AI Studio is the fastest zero-friction way to get a working Gemini API key and prototype multimodal prompts in a browser, with no credit card. The catch is structural: the free tier excludes Gemini 4 Argon and all image/video models, trains on your inputs with no self-serve opt-out, and hides rate limits inside a console; paid rates for Flash are promotional and double in 2027; thinking tokens are billed as output; and AI Studio has no IAM, VPC-SC, SLAs, or regional endpoints—those live in Vertex AI, which is a separate migration.
- OpenRouter OpenRouter is the widest managed gateway to LLMs: 500+ models across 80+ providers behind one OpenAI-compatible endpoint, with automatic fallback, MCP support, and no per-token markup. Its pricing is honest about the token pass-through but less forthcoming about the $0.80 minimum fee that makes small top-ups cost 8–16% effectively, and about the fact that EU/US in-region routing requires the 8% Business tier. BYOK is free up to $25,000/month, which is a non-issue for almost everyone. It is a strong default for model breadth and zero-ops access—not for self-hosting, small-budget cost optimization, or contractual uptime guarantees.
- Google ADK Google ADK is an Apache 2.0 open-source framework for building, evaluating, and deploying multi-agent systems, with first-class support for Gemini and Google Cloud and coverage across Python, TypeScript, Go, Java, and Kotlin.