index

Why MCP

The goal of Model Context Protocol (MCP) is to define a standard way for AI apps (agents, assistants, etc.) to interact with external tools. External tools include programs, APIs, or other agents.

Why not just use HTTP APIs?

AI apps make decisions atonomously. To make intelligent tool choices, you need to show the AI which tools are available, what they do, when they should be called, and what their input/output signatures are via prompting. Now, how do you accomplish that, if for example, a third-party or another team in the organization publishes the tools for others to consume? Or you need to share and compose tools for some use case?

Indeed, you can define API specs (e.g., OpenAPI) where you clearly describe the above. Then, give the AI access to the API via function calling. Hopefully, this description is a standard so unrelated AI systems can integrate cleanly.

Well, that’s exactly what MCP is.

P.S. MCP is just a protocol spec. It doesn’t say anything about transport (HTTP, WebSockets, stdio, etc.). As long as you follow the spec, you can run it on any transport as long as the server supports it. The official docs explain it very well. Especially the example.

When you should use it

TLDR; if your tools need to run in another process or are published by someone else, reach for MCP. Don’t add all this complexity for no reason.

…and that’s it, there’s nothing else to it.