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.
# 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.
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.
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.