MCP Overview
Hackathons are in full swing this year and as I wanted to catch up on MCPs, I decided to attend a Hackathon by ToolHouse focused on MCP. MCP servers and clients I created are at the end of this post.
Below I try to summarize my notes for MCP and as it is rather new it might evolve over time. Creating MCP servers is just one prompt away with Claude and I played around in Cline to create a few simple servers first to understand it. The Model Context Protocol (MCP) introduced by Anthropic is rapidly becoming the universal standard for connecting AI models to external data, tools, and real-world actions. Think of MCP as the "USB-C port for AI applications," enabling seamless integration between AI agents and a wide variety of data sources and APIs.
Why All the Hype?
- Solving the "N times M Problem": MCP flattens the complex web of integrations between many AI clients and many servers/APIs, allowing tool providers to build one MCP server and application developers to connect to any MCP server with a compatible client.
- More Powerful AI Applications: Standardization means richer, more capable AI applications that can take real-world actions.
- Enterprise Efficiency: Enterprises can separate concerns, letting different teams build and maintain specialized MCP servers (e.g., for Vector DBs or RAG systems) that can be reused across teams and projects.
- Flexibility and Interoperability: Developers gain access to a growing list of pre-built integrations and can easily switch between LLM providers and vendors.
- AI-Native Design: Unlike OpenAPI or GraphQL, MCP is designed specifically for AI agents, refining patterns for tool use, resource access, and prompt incorporation.
- Strong Foundation: MCP draws inspiration from the Language Server Protocol (LSP) and comes with a comprehensive specification.
Motivating Example
AI models are only as good as the context provided to them. Historically, context was manually copy-pasted into chatbots. Now, MCP enables direct hooks into user data and context, making AI more powerful and personalized.
Why Do LLMs Need Tools and External Context?
- Overcoming inherent limitations: Standalone models have functional limits that can be addressed by interacting with external systems.
- Accessing real-time data: Tools allow LLMs to get up-to-date information not present in their training data (e.g., weather APIs).
- Performing actions: Tools enable LLMs to take actions in external systems, such as adding tasks, managing subscriptions, or controlling smart devices.
MCP Overview
- M x N Problem: Many applications, many data sources/APIs. MCP solves this with a single, standardized protocol.
- Inspired by LSP: MCP borrows from the Language Server Protocol, making it familiar to developers.
What is MCP?
MCP is a client-server protocol:
- MCP Hosts: User-facing applications (e.g., Claude Desktop, IDEs, custom AI tools)
- MCP Clients: Manage the connection to a specific MCP Server
- MCP Servers: Lightweight programs exposing capabilities per the MCP spec, bridging the MCP world and external systems
Before and After MCP
- Before: Each AI client needed custom integrations for every server/API.
- After: One protocol, many integrations, less complexity.
Demo & Use Cases
- Clients: IDEs (VSCode, Cursor, Windsurf), Goose, Claude Desktop, Mattermost, Persona Chat
- Github Copilot: Agents with MCP servers for Figma-to-Code, Data Analysis, Github management
- Goose: Agents with MCP servers using Nexus API
- WHOIS MCP: Find domain owners
- PowerPoint MCP: Create presentations with images
Limitations & Risks
- LLMs can still hallucinate and are prone to prompt injection attacks
- Risk of tool poisoning by untrusted MCP servers
- Potential to execute untrusted code via STDIO MCP servers
- Why not just use OpenAPI? MCP is AI-native and designed for agent workflows
- Remote support and authentication (OAuth 2.1 for remote servers)
MCP Server Registry
Find open source MCP servers at:
- https://smithery.ai/
- https://opentools.com/registry
- https://www.mcp.run/
- https://glama.ai/mcp/servers
- https://www.reddit.com/r/mcp/comments/1iwen1j/anthropic_will_be_launching_an_official_mcp/
Best Practices
- Run only trusted or official MCP servers
- Audit MCP servers before running locally
- Use isolated environments (e.g., Docker)
- Start with test data and restrict permissions
- Explore what's possible!
Further Reading
- Model Context Protocol Introduction
- MCP Github
- Latent Space article about MCP
- Latent Space - Why MCP won
- Full Workshop with Mahesh Murag of Anthropic
- Pragmatic Engineer blog
- Phil Schmid's blog
- Study MCP - NotebookLM
Open source
As part of a hackathon, I created the below MCP servers and host. Check it out!