← AI Agents path

πŸ€– Using AI & AI Agents

Chapter 18 of 24

❓ Chapter 18: Why We Need MCP

Problems without a standard; one protocol, many apps and servers

Without a common protocol, every AI app would need custom code for every data source or tool it wants to use, and every service would need to build a separate integration for each app. That doesn’t scale. MCP gives one standard: servers expose tools and resources in a uniform way; clients connect, discover what’s available, and pass that to the LLM. So you build one MCP server (e.g. "company docs" or "flight search") and any MCP-compatible app β€” Cursor, Claude Desktop, your own agent β€” can use it without new integration code.

MCP conversation flow

1
User asks in app (e.g. Cursor): "Search for flights to Tokyo"
2
App (MCP client) already has tool list from connected MCP server(s)
3
App sends user message + tool list to LLM
4
LLM returns: call tool search_flights(destination: Tokyo)
5
App sends tool call to MCP server β†’ server runs it (e.g. calls airline API) β†’ returns result
6
App sends observation back to LLM; LLM may call more tools or give final answer
7
User sees: "Here are 3 flights to Tokyo…"

Without a standard

  • N integrations per appβ€” Every app (Cursor, Claude Desktop, your chatbot) would need its own code for files, DB, search, etc.
  • N integrations per serverβ€” Every service that wants to be used by AI would need to build a separate plugin for each app.
  • No standard shapeβ€” Tools and resources would look different everywhere; LLMs and apps can't assume one consistent format.

With MCP

  • Integrate onceβ€” Build one MCP server; any MCP-compatible app can connect and use it.
  • Discover at runtimeβ€” Client asks the server what tools and resources it has; no hardcoded list per integration.
  • Same protocol everywhereβ€” Tools have name + parameters; resources have URIs. Same shape for every server.

Example: Real-world impact

Today: Cursor has a filesystem MCP server; Claude Desktop can use the same kind of server. If you build a "customer DB" MCP server, both can talk to it the same way. Without MCP, Cursor would need a Cursor-specific plugin and Claude would need a different one β€” and you’d maintain two code paths.