TODO MCP CLI & Server
Dieses Repository enthält eine minimale Model Context Protocol (MCP)-Implementierung für eine Aufgabenlistenanwendung, einschließlich:
FastAPI-Server (
server/): stellt einen/tools-Endpunkt für die Toolerkennung und einen/rpc-Endpunkt für JSON-RPC-Aufrufe bereit, um Vorgänge für Aufgaben auszuführen.CLI-Client (
client/cli.py): eine Python-Befehlszeilenschnittstelle, die mit einem LLM (über OpenAI) und dem MCP-Server interagiert, um Aufgaben mithilfe von Funktionsaufrufen zu erstellen, aufzulisten und abzuschließen.
Merkmale
Aufgaben mit Titel, Inhalt und optionalem Fälligkeitsdatum hinzufügen
Alle Aufgaben auflisten
Aufgaben als erledigt markieren
Serverseitige Task-ID-Generierung
JSON-RPC 2.0-Konformität für Toolaufrufe
Voraussetzungen
Python 3.10+
pipenv oder
venvfür virtuelle UmgebungenEin OpenAI-API-Schlüssel
Installation
Klonen Sie das Repo:
git clone https://github.com/oseni99/todo-mcp cd todo-mcpErstellen und aktivieren Sie eine virtuelle Umgebung:
python3 -m venv .venv source .venv/bin/activateInstallieren Sie Abhängigkeiten:
pip install -r requirements.txtErstellen Sie eine
.envim Projektstamm:OPENAI_API_KEY=sk-... MCP_SERVER=http://127.0.0.1:8000
Verzeichnisstruktur
todoMCP/
├── client/ # CLI client code
│ └── cli.py # Main entrypoint for the MCP-CLI
├── server/ # FastAPI server code
│ ├── handlers.py # Business logic for add, list, complete
│ ├── tools.py # JSON-Schema tool manifest
│ └── main.py # FastAPI app with /tools and /rpc
├── .env # Environment variables (not committed)
├── requirements.txt # Python dependencies
└── README.md # This fileAusführen des Servers
fastapi dev server/main.pyBesuchen Sie http://127.0.0.1:8000/docs für interaktive API-Dokumente.
Ausführen der CLI
Vom Projektstamm:
python -m client.cliGeben Sie an der Eingabeaufforderung Befehle in natürlicher Sprache ein, zum Beispiel:
> Create a task titled "Write blog post" with content "Outline first draft" due 2025-05-20
> List my tasks
> Mark the first task as done
> Thanks!
> exitDie CLI druckt Toolaufrufe und LLM-Antworten.
This server cannot be installed
Resources
Looking for Admin?
Admins can modify the Dockerfile, update the server description, and track usage metrics. If you are the server author, to access the admin panel.