MCP集成概念
一个简单的模型上下文协议(MCP)服务器,它与Notion的API集成,通过Claude管理我的个人待办事项列表。这是一个专门为我在Notion中的极简主义待办事项列表设置量身定制的基本实现。
该项目基于 danhilse/通知\_ mcp,可在MIT许可下使用。
重要提示
这是一个为非常特定的用例设计的个人项目:我的简单Notion待办事项列表,只有四个属性:
- 任务(标题)
- 复选框(如果已完成,则标记)
- 说明(其他详细信息)
- 链接(URL或引用)
虽然您可以将此作为您自己的Notion集成的起点,但您可能需要修改代码以匹配您的特定数据库结构和要求。
特性
- 添加带有描述和链接的新待办事项
- 查看所有待办事项
- 确认任务已完成
- 将外部资源链接到任务
先决条件
- Python 3.10或更高版本
- Notion账户
- Notion集成(API密钥)
- 与上述确切结构相匹配的Notion数据库(或愿意为您的结构修改代码)
设置
- 克隆存储库:
git clone https://github.com/yourusername/notion-mcp.git
cd notion-mcp- 设置Python环境:
python -m venv .venv
source .venv/bin/activate # On Windows use: .venv\Scripts\activate
uv pip install -e .- 创建Notion集成:
- 首选https://www.notion.so/my-integrations - 创建新的集成 - 复制API密钥
- 通过集成共享您的数据库:
- 在Notion中打开您的todo数据库 - 点击“…”菜单→ “添加连接” - 选择您的集成
- 创建一个
.env文件:
NOTION_API_KEY=your-api-key-here
NOTION_DATABASE_ID=your-database-id-here- 配置Claude桌面:
{
"mcpServers": {
"notion-todo": {
"command": "/path/to/your/.venv/bin/python",
"args": ["-m", "notion_mcp"],
"cwd": "/path/to/notion-mcp"
}
}
}运行服务器
服务器可以通过两种方式运行:
- 直接从命令行:
# From the project directory with virtual environment activated
python -m notion_mcp- 自动通过克劳德桌面(推荐):
- 如果在中配置正确,服务器将在Claude启动时启动
claude_desktop_config.json - 无需手动管理服务器
- Claude关闭时服务器停止
注意:直接运行时,服务器不会显示任何输出,除非出现错误——这是正常的,因为它正在等待MCP命令。
用法
Claude的基本命令:
- “显示我的所有待办事项”
- “添加待办事项:查看电子邮件”
- “添加待办事项:查看项目文档,并链接:https://example.com/docs"
- “将todo\[ID\]标记为完成”
局限性
- 仅适用于特定的Notion数据库结构
- 不支持复杂的数据库模式
- 基本错误处理
- 不支持其他属性或自定义字段
- 没有重复任务、优先级或标签等高级功能
项目结构
notion_mcp/
├── pyproject.toml
├── README.md
├── .env # Not included in repo
└── src/
└── notion_mcp/
├── __init__.py
├── __main__.py
└── server.py # Main implementation许可证
MIT许可证-使用风险自负
致谢
- 专为与Claude Desktop配合使用而构建
- 使用Notion的API

