MP-101 · Module 1

How MCP Differs From APIs

3 min read

REST APIs are the backbone of the modern web. They work beautifully for application-to-application communication — structured endpoints, HTTP verbs, predictable request-response patterns. But they were designed for developers who read documentation, understand URL structures, and write code to call specific endpoints. AI models do not read API documentation. They need a different kind of interface — one that is discoverable, self-describing, and designed for a machine that reasons about what to call and when.

MCP is AI-native by design. Where a REST API requires the developer to know which endpoint to call, MCP lets the AI model discover available capabilities at runtime. Where GraphQL requires the client to construct queries in a specific syntax, MCP servers describe their tools with JSON Schema so the model knows exactly what parameters are expected. Where function calling in LLM APIs gives the model a static list of tools defined at prompt time, MCP servers can be connected and disconnected dynamically — the tool surface changes based on what servers are running.

Do This

  • Use MCP when AI models need to discover and invoke capabilities dynamically
  • Use MCP when you want a standard interface across multiple tools and data sources
  • Think of MCP as the AI-facing wrapper around existing APIs
  • Use MCP for bidirectional communication where the server can also push updates to the client

Avoid This

  • Do not replace well-functioning REST APIs with MCP for application-to-application communication
  • Do not use MCP where a simple API call in code is sufficient — MCP adds overhead for machine discovery
  • Do not confuse MCP with function calling — function calling is a feature of specific LLM APIs, MCP is a cross-platform protocol
  • Do not assume MCP handles everything APIs do — authentication, rate limiting, and billing still live in the underlying API layer