项目简介
Notion MCP Integration 是一个基于 Model Context Protocol (MCP) 的服务器,它允许您使用支持 MCP 协议的客户端(如 Claude)通过自然语言指令管理 Notion 数据库中的 Todo 清单。此服务器充当 Claude 和 Notion 之间的桥梁,将自然语言请求转换为对 Notion API 的操作,从而实现方便快捷的 Todo 管理。
主要功能点
- 添加 Todo: 通过自然语言指令,快速向 Notion Todo 数据库添加新的任务,并支持添加描述和链接。
- 查看 Todo: 查询并显示 Notion 数据库中所有未完成的 Todo 任务列表。
- 完成 Todo: 通过指定任务 ID,将 Notion 数据库中对应的 Todo 任务标记为已完成。
- 集成 Claude: 专为与 Claude 等 MCP 客户端配合使用而设计,实现无缝的自然语言交互体验。
安装步骤
-
克隆仓库
git clone https://github.com/MCP-Mirror/Ruijian-Zha_Notion_MCP_advanced.git cd Ruijian-Zha_Notion_MCP_advanced -
配置 Python 环境
python -m venv .venv source .venv/bin/activate # Linux/macOS # .venv\Scripts\activate # Windows uv pip install -e . -
配置 Notion API 密钥
- 登录 Notion 官网,创建或登录您的 Notion 账号。
- 前往 Notion Integrations 页面,创建一个新的集成。
- 复制生成的 API 密钥 (Internal Integration Token)。
- 打开您的 Notion Todo 数据库页面,点击右上角的 "..." 菜单,选择 "Add connections",搜索并选择您创建的集成,完成数据库连接。
- 在项目根目录下创建 '.env' 文件,并填入以下内容,替换为您自己的 API 密钥和数据库 ID:
NOTION_API_KEY=YOUR_NOTION_API_KEY NOTION_DATABASE_ID=YOUR_NOTION_DATABASE_ID请务必替换 'YOUR_NOTION_API_KEY' 和 'YOUR_NOTION_DATABASE_ID' 为您自己的信息。
服务器配置
为了让 MCP 客户端(例如 Claude)连接到此 MCP 服务器,您需要在客户端的配置文件中指定服务器的启动命令。以下是一个配置示例,通常在 Claude Desktop 的 'claude_desktop_config.json' 文件中配置:
{ "mcpServers": { "notion-todo": { // 服务器名称,可以自定义 "command": "/path/to/your/.venv/bin/python", // Python 解释器路径,需要指向您的虚拟环境 "args": ["-m", "notion_mcp"], // 启动服务器的参数,固定为 ["-m", "notion_mcp"] "cwd": "/path/to/Ruijian-Zha_Notion_MCP_advanced" // 项目根目录 } } }
请根据您的实际环境修改 'command' 和 'cwd' 的路径。'/path/to/your/.venv/bin/python' 需要替换为您的虚拟环境 Python 解释器的绝对路径,'/path/to/Ruijian-Zha_Notion_MCP_advanced' 需要替换为项目仓库的绝对路径。
基本使用方法
配置完成后,启动 Claude 客户端,它将自动连接到 Notion MCP 服务器。您可以使用以下自然语言指令来管理您的 Notion Todo:
- 显示所有 Todo: 在 Claude 中输入 "Show all my todos" 或类似的指令,服务器会将 Notion 中未完成的 Todo 列表返回给 Claude。
- 添加 Todo: 使用 "Add a todo: [任务名称]" 的格式添加新的 Todo 任务,例如 "Add a todo: 购买咖啡豆"。 您还可以添加描述和链接,例如 "Add a todo: 准备会议材料, 描述: 撰写会议议程, 链接: https://example.com/meeting-agenda"。
- 完成 Todo: 首先需要通过 "Show all my todos" 指令获取任务的 ID,然后使用 "Mark todo [任务 ID] as complete" 的格式标记任务完成,例如 "Mark todo [page ID] as complete"。
注意: 此服务器目前仅支持预定义的 Notion 数据库结构,如果您使用了不同的数据库结构,可能需要修改 'src/notion_mcp/server.py' 文件中的代码以适应您的数据库。
信息
分类
生产力应用