A simple Model Context Protocol (MCP) server built with FastMCP. It implements a lightweight note-taking service that demonstrates the four core MCP building blocks:
| Capability | What it does in this app |
|---|---|
| Tools | add, create_note, list_notes, search_notes |
| Resources | notes://all, status://server |
| Resource templates | notes://{title} (dynamic lookup by title) |
| Prompts | summarize_notes, draft_note |
pip install -r requirements.txtstdio transport (default, used by Claude Desktop and other local clients):
python server.pyHTTP transport (useful for remote access or testing with the example client):
python server.py --transport http --port 8000You can also use the FastMCP CLI:
fastmcp run server.py:mcp --transport http --port 8000With the server running on HTTP (step 2), open a second terminal:
python client.pyThis will call every tool, read every resource, and fetch every prompt, printing the results to the console.
.
├── server.py # MCP server — tools, resources, prompts
├── client.py # Example client that exercises the server
├── requirements.txt # Python dependencies
└── README.md
Add the following to your Claude Desktop MCP configuration
(claude_desktop_config.json):
{
"mcpServers": {
"example-notes": {
"command": "python",
"args": ["server.py"]
}
}
}This example is provided as-is for educational purposes.