What MCP is and why it matters for builders
The Model Context Protocol (MCP) is an open standard developed by Anthropic that defines how AI models connect to external tools and data sources. Instead of copying data into a prompt or writing custom integration code for every project, MCP gives you a consistent way to expose any capability to Claude — and any MCP-compatible model — through a small server process.
Think of it as a plugin system with a well-defined contract. You write a server that knows how to answer Claude's requests. Claude knows how to ask. The two talk over a standard protocol and neither needs to know the implementation details of the other.
The three parts of an MCP setup
An MCP setup has three moving parts: the host (Claude or another client), the MCP server (your code), and the resource or tool the server exposes. The host discovers available tools, calls them by name, and uses the results in its next response.
You write the server. You define what tools it exposes, what parameters they take, and what they return. Claude calls them when they are relevant.
Building a minimal MCP server
A basic MCP server in Python takes about thirty lines. The mcp package handles the protocol; you just define your tools.
from mcp.server.fastmcp import FastMCP
mcp = FastMCP("my-tools")
@mcp.tool()
def get_project_status(project_id: str) -> str:
"""Return the current status of a project from the internal database."""
# replace with your real data source
return f"Project {project_id}: active, last updated 2026-04-18"
if __name__ == "__main__":
mcp.run()
Install the mcp package with pip install mcp, then run the script. Claude Code can connect to it immediately.
Connecting the server to Claude
In Claude Code, add your server to the project configuration:
claude mcp add my-tools -- python path/to/server.py
Claude Code will start the server as a subprocess and register its tools. From that point forward, whenever you describe a task that involves project status, Claude will call get_project_status automatically.
What to expose first
Start with a read-only data source you reference often: a project list, a status endpoint, a config file reader. Read-only tools carry no risk of Claude modifying something unexpectedly, which makes them a safe first integration.
Once you are comfortable with how the tool calls work in practice, add write tools one at a time. Each new tool should have a clear name and a docstring that describes exactly what it does — Claude uses that description to decide when to call it.
One step to take right now
Pick one lookup you do manually every day — a status check, a config read, a list of open tickets. Wrap it in a ten-line MCP server and connect it to Claude Code. You will immediately see how Claude uses real data to give more accurate answers.