A 40-team org already has OpenAPI specs and three LLM providers. Defend layering MCP on top instead of picking one integration approach.
Your platform serves 40 internal teams shipping LLM features against OpenAI, Anthropic, and Gemini. You already have OpenAPI specs for every internal service. A staff engineer proposes adding MCP as a third integration layer on top of function calling and OpenAPI. Defend the three-layer architecture against the counter-argument that one standard should suffice.
OpenAPI, function calling, and MCP sit at three different boundaries (service contract, LLM wire format, host to tool execution) and removing any one breaks a different axis of the platform.
Picture a large company with restaurants, translators, and delivery drivers. Restaurants have menus that list everything they cook (that is OpenAPI describing what each service does). Customers speak different languages (those are the LLM providers, each with its own way of placing an order). Delivery drivers carry the food from the kitchen to the table (those are MCP servers connecting hosts to tools). If you remove the menus, nobody knows what the restaurant offers. If you remove the translators, customers cannot order in their language. If you remove the delivery drivers, every customer has to walk into every kitchen themselves, which gets chaotic at 40 restaurants and three languages. Each role handles a different problem, and saying 'just pick one' is like insisting restaurants only need menus but not drivers.
Detailed answer & concept explanation~9 min readEverything you need to truly understand this topic: intuition, mechanics, step by step explanation, code, formulas, and worked example. Click to expand.
Everything you need to truly understand this topic: intuition, mechanics, step by step explanation, code, formulas, and worked example. Click to expand.
Everything you need to truly understand this topic: intuition, mechanics, step by step explanation, code, formulas, and worked example.
Everything important, quickly.
Open by framing MCP, function calling, and OpenAPI as three layers at three boundaries, not three alternatives. Walk each layer: OpenAPI as the service contract (consumed by non-LLM clients, mature auth, versioning), function calling as the LLM-to-host wire format (fixed by the provider, cannot be bypassed), MCP as the host to tool boundary (wraps OpenAPI, runtime tools/list, LLM-aware descriptions). Quantify the N times M to N plus M math at 40 teams, 3 providers, and multiple hosts. Cover tradeoff axes (cardinality, LLM-awareness, discovery, versioning, auth). Name when MCP wins and loses. Close by defeating the 'just pick one' counter.
Real products, models, and research that use this idea.
- openapi-mcp and FastAPI-MCP are auto-generators that produce an MCP server from an OpenAPI spec, letting platform teams wrap services at scale without hand-writing each server.
- Claude Desktop, Cursor, Zed, and Claude Code all consume MCP servers through the same protocol while translating to Anthropic's or OpenAI's function-calling format internally, validating the three-layer separation in production.
- GitHub publishes a first-party MCP server (rewritten in Go in 2025) alongside its REST and GraphQL APIs, keeping the OpenAPI contract for non-LLM clients and adding MCP as a derived view for AI hosts.
- The 2023 GPT plugin manifest tried to collapse OpenAPI and tool use into a single layer and did not see wide adoption; the ecosystem converged on MCP-wraps-OpenAPI as the cleaner separation by 2026.
- Stripe, Sentry, Slack, and similar SaaS vendors ship MCP servers as thin wrappers that add LLM-aware descriptions to the underlying API operations, while their REST APIs remain the canonical contracts.
What an interviewer would ask next. Try answering before peeking at the approach.
QTrace a single request end to end through the three-layer model, from user query to backend response. Which component does what at each boundary?
QA team argues: 'let agents call OpenAPI services directly via HTTP tool calls and skip MCP.' What do they lose?
QHow exactly does adopting MCP put prompt caching at risk, and what mitigations exist?
Don't say thisRed flags and common mistakes that signal junior thinking. Click to expand.
Red flags and common mistakes that signal junior thinking. Click to expand.
Treating MCP, function calling, and OpenAPI as interchangeable standards where choosing one eliminates the need for the other two. Each layer answers a distinct question no other layer can.
The night-before-the-interview bullets. Scan these on the way to the call.
Primary sources. Skim if you want the original framing.
Same topic, related formats. Practice these next.