TODO助手-MCP服务器
使用FastAPI构建的轻量级HTTP服务器,用于管理Notion数据库中的todo项目。它支持创建、列出和标记任务为已完成,并按用户区分任务。
特性
- 使用Notion数据库作为后端
- 通过以下方式支持用户特定的过滤
user_id - 允许基于日期的筛选(
when)任务完成跟踪(completed) - 自动确保所需的Notion属性存在
- 已准备好集成到跨平台todo应用程序中
需求
- Python 3.9+
- 快速 API
- httpx
- python dotenv
- 优维康
- 媒染剂
安装依赖项:
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
pip install -e .概念设置
- 创建Notion集成:
- 首选https://www.notion.so/my-integrations - 创建新的集成 - 复制API密钥
- 通过集成共享您的数据库:
- 在Notion中打开您的todo数据库 - 点击“…”菜单→ “添加连接” - 选择您的集成
环境设置
创建一个 .env 项目根目录中的文件,内容如下:
NOTION_API_KEY=your_secret_notion_token
NOTION_DATABASE_ID=your_database_id运行服务器
python server.py默认情况下,它运行在 http://0.0.0.0:8080
______________________________________________________________________
API终点
健康检查
GET /返回基本状态和版本信息。
______________________________________________________________________
获取Notion数据库结构
GET /database/info返回属性定义并验证所需字段是否存在。
______________________________________________________________________
为用户获取所有待办事项
POST /todos/all
Content-Type: application/json
{
"user_id": "your-user-id"
}返回用户的所有待办事项列表。
______________________________________________________________________
为用户获取今天的待办事项
POST /todos/today
Content-Type: application/json
{
"user_id": "your-user-id"
}返回todos when 定于今天。
______________________________________________________________________
创建新待办事项
POST /todos
Content-Type: application/json
{
"task": "Buy groceries",
"when": "2025-01-15", // optional, can be empty string
"user_id": "your-user-id"
}返回创建的任务ID。
______________________________________________________________________
将待办事项标记为已完成
PUT /todos/{task_id}/complete将给定的任务标记为已完成。
______________________________________________________________________
Notion数据库要求
Notion数据库中需要以下属性。如果它们丢失,服务将自动创建它们:
Task(类型:title)Completed(类型:checkbox)When(类型:date)User(类型:rich_text)
______________________________________________________________________
提示
- 这
when字段应遵循YYYY-MM-DD格式(例如。,"2025-01-15"). - 全部
task作为JSON字符串存储在Notion标题中,以保留结构化数据。 - 对于生产部署,使用生产服务器(例如Gunicorn+Uvicorn workers)。
______________________________________________________________________
许可证
MIT许可证
______________________________________________________________________
致谢
- https://github.com/danhilse/notion_mcp
