TODO MCP CLI 和服务器
该存储库包含待办事项列表应用程序的最小模型上下文协议 (MCP) 实现,包括:
FastAPI 服务器(
server/):公开一个用于工具发现的/tools端点和一个用于 JSON-RPC 调用的/rpc端点来对任务执行操作。CLI 客户端(
client/cli.py):一个 Python 命令行界面,可与 LLM(通过 OpenAI)和 MCP 服务器交互,以使用函数调用来创建、列出和完成任务。
特征
添加带有标题、内容和可选截止日期的任务
列出所有任务
将任务标记为已完成
服务器端任务ID生成
工具调用符合 JSON-RPC 2.0 标准
先决条件
Python 3.10+
用于虚拟环境的pipenv或
venvOpenAI API 密钥
安装
克隆仓库:
git clone https://github.com/oseni99/todo-mcp cd todo-mcp创建并激活虚拟环境:
python3 -m venv .venv source .venv/bin/activate安装依赖项:
pip install -r requirements.txt在项目根目录中创建一个
.env:OPENAI_API_KEY=sk-... MCP_SERVER=http://127.0.0.1:8000
目录结构
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 file运行服务器
fastapi dev server/main.py访问http://127.0.0.1:8000/docs获取交互式 API 文档。
运行 CLI
从项目根目录:
python -m client.cli在提示符下输入自然语言命令,例如:
> 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!
> exitCLI 将打印工具调用和 LLM 响应。
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.