MCP
MCP, or Model Context Protocol, is an open standard introduced by Anthropic in 2024 that defines a uniform way for AI models and agents to connect with external tools, data sources, and services. Rather than each application writing bespoke integrations, MCP provides a client-server protocol where a host application (the MCP client, e.g. Claude Desktop) discovers and calls tools exposed by any MCP-compliant server — whether that server wraps a database, a file system, a web search API, or a custom business system. The protocol handles capability negotiation, request routing, and structured response passing in a language-agnostic way.
Think of it like USB for AI tools: just as USB lets any compliant device plug into any compliant port without a custom cable for every combination, MCP lets any compliant AI application call any compliant tool server without writing a unique integration each time.
A minimal MCP server exposing a single tool looks like this:
from mcp.server import Server
from mcp.types import Tool, TextContent
server = Server("my-tool-server")
@server.list_tools()
async def list_tools():
return [Tool(name="get_weather", description="Fetch current weather", inputSchema={})]
@server.call_tool()
async def call_tool(name, arguments):
if name == "get_weather":
return [TextContent(type="text", text=fetch_weather(arguments["city"]))]
MCP is tightly connected to concepts like RAG (where the MCP server might front a Vector Database), Prompt Engineering (structuring tool descriptions so the LLM can reason about when to call them), and the broader field of agentic LLM systems.
You will encounter MCP most often when building or configuring AI assistants that need live access to external data — file systems, APIs, or databases — especially in tools like Claude Desktop, Cursor, or custom agent frameworks that have adopted the standard.