How MCP connects AI apps to tools
The Model Context Protocol (MCP) is an open standard for connecting AI applications to tools and data. Write a server once and any MCP app can use it.
- 1
Without a standard
Every AI app needs its own integration with every tool. Three apps and four tools means twelve pieces of custom code.
- 2
One protocol in the middle
With MCP, each app includes an MCP client and each tool sits behind an MCP server. Each side implements the protocol once.
- 3
Discover what's available
The client connects and the two sides exchange capabilities. Then it asks the server which tools it offers, each with a name and an input schema.
- 4
Call a tool
The model picks a tool and the app, often after asking the user, sends a tools/call request. The server runs it and returns the result.
- 5
Same server, any app
The GitHub server written once now works in a chat app, an IDE and an agent, with no extra integration work.
Without a standard
Every AI app needs its own integration with every tool. Three apps and four tools means twelve pieces of custom code.
One protocol in the middle
With MCP, each app includes an MCP client and each tool sits behind an MCP server. Each side implements the protocol once.
Discover what's available
The client connects and the two sides exchange capabilities. Then it asks the server which tools it offers, each with a name and an input schema.
Call a tool
The model picks a tool and the app, often after asking the user, sends a tools/call request. The server runs it and returns the result.
Same server, any app
The GitHub server written once now works in a chat app, an IDE and an agent, with no extra integration work.
In short
- Servers can expose tools (actions), resources (data to read) and prompts (reusable templates).
- Messages are JSON-RPC, sent over stdio for local servers or HTTP for remote ones.
- The host app decides what the model may do. Asking before risky calls is the app's job.
- Treat third-party servers like any dependency: tool descriptions and results can carry prompt injection.