MCP
1 / 6
MCP 4 min

What is MCP and Why Does It Matter?

The problem of fragmented AI tool integrations and how MCP fixes them with a single protocol.

Before MCP, every AI application that needed to call an external tool (searching the web, reading a file, querying a database) required custom integration code. There was no standard. Every team reinvented the wheel. MCP, the Model Context Protocol, changes that.

The Problem, in Code
Here is what 'no standard' actually looks like once you have three tools. This is the exact pattern that shows up in real chatbot codebases before MCP.
python
# Before MCP: every integration is a hand-rolled special case
def handle_tool_call(name: str, args: dict) -> str:
    if name == "github_read_file":
        return call_github_api(args["owner"], args["repo"], args["path"])
    elif name == "slack_send_message":
        return call_slack_api(args["channel"], args["text"])
    elif name == "postgres_query":
        return run_postgres_query(args["sql"])
    elif name == "google_drive_search":
        return search_drive(args["query"])
    # ... and one more elif for every tool, in every app, forever.
    # Add a 4th tool? Every app that wants it rewrites this function.
    else:
        raise ValueError(f"Unknown tool: {name}")

Every AI application repeats this same branching logic, wired directly to each vendor's API shape. There is no discovery (the model's developer has to know every tool ahead of time), no shared schema format, and no way to reuse someone else's Slack integration without copy-pasting their code. MCP replaces the whole `if/elif` chain with one client that talks to any number of independent servers.

The USB-C Analogy

Before USB-C, every device had its own charger. Laptop, phone, headphones, all different cables. USB-C standardised the interface so one cable works everywhere. MCP does the same for AI tool integrations. One protocol, any model, any tool.

MCP in One Sentence
MCP is an open protocol (published by Anthropic in late 2024) that defines a standard way for AI models to discover, invoke, and receive results from external tools, data sources, and services.

Why it matters now. As AI systems become more agentic and start performing multi-step tasks rather than just answering questions, they need to interact with the real world reliably. MCP provides the plumbing that makes that interaction safe, discoverable, and composable.

What actually shipped. MCP has official SDKs in Python, TypeScript, Java, Kotlin, and C#, and is supported natively as a host by Claude Desktop, Cursor, VS Code, and Windsurf, among others. That means a server you write once, like the `hello-mcp-server` in the companion repo, can be plugged into any of those hosts without changing a line of server code.

What's Next
Now that you know why MCP exists, let's open it up: hosts, clients, and servers, and the exact JSON-RPC messages that pass between them.