这是一个简单的模型上下文协议(MCP)服务器,它与Notion的API集成,通过Claude管理我的个人待办事项列表。这是专门为我在Notion中的极简待办事项列表设置的基本实现。
<p align="center"> <img src="assets/demo.gif" width="600"/> </p>这是一个针对特定使用场景设计的个人项目:我的简单Notion待办事项列表,该列表只有三个属性:
虽然你可以将其作为自己Notion集成的起点,但你可能需要修改代码以匹配你的具体数据库结构和需求。
git clone https://github.com/yourusername/notion-mcp.git
cd notion-mcp
python -m venv .venv
source .venv/bin/activate # 在Windows上使用:.venv\Scripts\activate
uv pip install -e .
创建Notion集成:
将数据库分享给集成:
创建一个.env文件:
NOTION_API_KEY=your-api-key-here
NOTION_DATABASE_ID=your-database-id-here
{
"mcpServers": {
"notion-todo": {
"command": "/path/to/your/.venv/bin/python",
"args": ["-m", "notion_mcp"],
"cwd": "/path/to/notion-m- cp"
}
}
}
服务器可以通过两种方式运行:
# 在激活虚拟环境的项目目录下
python -m notion_mcp
claude_desktop_config.json中正确配置,当启动Claude时,服务器会自动启动注意:直接运行时,除非有错误,否则服务器不会显示任何输出——这是因为服务器正在等待MCP命令。
通过Claude的基本命令:
如果你想用不同的数据库结构使用此项目,你需要修改server.py文件,特别是:
create_todo()函数以匹配你的数据库属性call_tool()中的待办事项格式化以处理你的数据结构list_tools()中的输入模式notion_mcp/
├── pyproject.toml
├── README.md
├── .env # 不包含在仓库中
└── src/
└── notion_mcp/
├── __init__.py
├── __main__.py
└── server.py # 主要实现
MIT许可证 - 自行承担风险