Before MCP: Every Integration Was Custom Code
Before MCP, connecting an AI assistant to your company's tools was a nightmare. Want Claude to read your Google Drive? Custom integration. Want it to query your database? Custom integration. Want it to update your CRM? Another custom integration. Each one took weeks to build and broke constantly.
The result: enterprises had powerful AI models sitting idle because they could not safely and reliably connect them to the data those models needed to be useful.
MCP solved this by creating a single, universal protocol. Build one MCP server for your data source, and any MCP-compatible AI can connect to it. No more custom integrations.
How MCP Works — The Architecture
MCP has three layers. Understanding them is all you need to build or evaluate any MCP implementation.
MCP Host
Claude Desktop, Cursor, VS Code CopilotThe AI application that the user interacts with. It manages the connection to MCP servers and routes requests from the AI model to the right server.
MCP Server
GitHub MCP, Postgres MCP, Filesystem MCPA lightweight process that exposes capabilities (tools, resources, prompts) to the AI. You build one server per data source or service. The server advertises what it can do, and the AI decides when to use it.
MCP Client
Built into the host applicationThe protocol layer inside the host that handles communication with MCP servers. Uses JSON-RPC over stdio, SSE, or HTTP. You rarely interact with this directly.
The 3 MCP Primitives
Tools
Functions the AI can call to take actions — run a query, send an email, create a file. Tools have side effects.
Resources
Read-only data the AI can access — file contents, database records, API responses. Resources are safe to read.
Prompts
Pre-built prompt templates the AI can use — slash commands, workflow starters, context injectors.
Minimal MCP Server — TypeScript
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { z } from "zod";
const server = new McpServer({ name: "my-server", version: "1.0.0" });
// Expose a Tool — the AI can call this
server.tool(
"get_weather",
"Get current weather for a city",
{ city: z.string() },
async ({ city }) => ({
content: [{ type: "text", text: `Weather in ${city}: 72°F, sunny` }]
})
);
// Start the server
const transport = new StdioServerTransport();
await server.connect(transport);This is a complete, working MCP server. The AI can now call get_weather() with any city name. Add it to Claude Desktop and it just works.
Who Is Building With MCP
MCP has moved from Anthropic side-project to enterprise standard in under 18 months.
Creator & maintainer of the MCP spec. Claude Desktop is the reference host implementation.
Building MCP support into Copilot Studio and Power Platform. Enterprise adoption at scale.
Creating MCP as a Service — enterprise governance, centralised MCP gateway for large organisations.
Developer tools using MCP to connect AI coding assistants to codebases, databases, and APIs.
500+ open-source MCP servers on GitHub — covering every major API, database, and service.
The directory, quality scorer, and authority resource for the entire MCP ecosystem.
MCP + WebMCP = The Full Stack
MCP connects AI to your backend data. Google's WebMCP connects AI to your website's frontend actions. Together they form the complete AI integration stack for any business.
Read the WebMCP Guide