todo-mcp-server
This project consists of a Todo application integrated with a Model Context Protocol (MCP) server, featuring a React/TypeScript frontend, a FastAPI backend, and a specialized MCP server.
Todo App with MCP Server
Project Overview
This project demonstrates how to build a Model Context Protocol (MCP) server that interacts with a simple Todo application. It consists of three main components:
- Client: A React/TypeScript frontend application
- Server: A FastAPI backend that manages Todo items
- MCP Server: A specialized server that provides tool-based interaction with the Todo application
What is MCP (Model Context Protocol)?
The Model Context Protocol (MCP) is an open standard developed by Anthropic that enables AI systems to dynamically connect with external tools, files, and APIs. It provides a standardized way for AI models to access real-time data and execute operations through defined tools.
MCP uses a client-server architecture:
- MCP Server: Provides structured access to data and functionality (like our Todo API)
- MCP Client: The AI application that requests context or actions from the MCP Server
Think of MCP as a "USB-C for AI connectivity" - a universal interface that allows AI systems to seamlessly integrate with external data sources and tools without requiring custom integration for each new system.
Getting Started
Prerequisites
- Docker and Docker Compose
- NodeJS
- Python
- UV (Python package manager)
- Claude Desktop (for using with Anthropic's Claude AI)
Starting the Application
- Clone this repository
- Run Docker Compose to start all services:
docker-compose up
This will start the following services:
- Frontend client on http://localhost:5173
- Backend server on http://localhost:8000
Using with Claude Desktop
To use the MCP server with Claude Desktop:
- Locate your Claude Desktop configuration file:
- macOS:
~/Library/Application Support/Claude Desktop/claude_desktop_config.json
- Windows:
%APPDATA%\Claude Desktop\claude_desktop_config.json
- Linux:
~/.config/Claude Desktop/claude_desktop_config.json
- macOS:
- Add the
todo-mcp
server to the configuration by adding or updating themcpServers
section:
{
"mcpServers": {
"todo-mcp": {
"command": "uv",
"args": [
"--directory",
"/path/to/repo/todo-mcp",
"run",
"main.py"
]
}
}
}
- Replace
/path/to/repo/todo-mcp
with the actual path to your todo-mcp directory - Save the file and restart Claude Desktop
- When using Claude, you can now access the todo-mcp server and its tools through the Claude interface