mcp server sample
An educational implementation of a Model Context Protocol server that demonstrates how to build a functional MCP server integrating with various LLM clients.
An educational implementation of a Model Context Protocol server that demonstrates how to build a functional MCP server integrating with various LLM clients.
This repository contains an implementation of a Model Context Protocol (MCP) server for educational purposes. This code demonstrates how to build a functional MCP server that can integrate with various LLM clients.
This repository contains an implementation of a Model Context Protocol (MCP) server for educational purposes. This code demonstrates how to build a functional MCP server that can integrate with various LLM clients.
References: - Model Context Protocol - Anthropic. - MCP - Python.
MCP (Model Context Protocol) is an open protocol that standardizes how applications provide context to LLMs. Think of MCP like a USB-C port for AI applications - it provides a standardized way to connect AI models to different data sources and tools.
MCP follows a client-server architecture where a host application can connect to multiple servers:
MCP servers can provide three main types of capabilities:
uv
package managerAdding MCP to your python project We recommend using uv to manage your Python projects.
If you haven t created a uv-managed project yet, create one:
uv init mcp-server-sample
cd mcp-server-sample
Then add MCP to your project dependencies:
uv add "mcp[cli]
Alternatively, for projects using pip for dependencies:
pip install "mcp[cli]"
Running the standalone MCP development tools To run the mcp command with uv:
uv run mcp
Let s create a simple MCP server that exposes a calculator tool and some data:
# server.py
from mcp.server.fastmcp import FastMCP
# Create an MCP server
mcp = FastMCP("Demo")
# Add an addition tool
@mcp.tool()
def add(a: int, b: int) -> int:
"""Add two numbers"""
return a + b
# Add a dynamic greeting resource
@mcp.resource("greeting://{name}")
def get_greeting(name: str) -> str:
"""Get a personalized greeting"""
return f"Hello, {name}!"
You can install this server in Claude Desktop and interact with it right away by running:
mcp install server.py
Alternatively, you can test it with the MCP Inspector:
mcp dev server.py
Made with ❤️ by Antonio Scapellato
This project is licensed under the MIT License. See the LICENSE file for details.