Notion MCP Integration 是一个简单的 Model Context Protocol (MCP) 服务器,用于将 Claude 与 Notion API 集成,以管理个人待办列表。该项目是一个基础实现,专门针对作者在 Notion 中的极简待办列表设置,具有以下三个属性:
- When:选择类型,仅有两个选项:"today" 或 "later"
- Checkbox:标记任务是否完成
- 任务名称(隐含)
该项目是一个个人项目,设计用于非常特定的用例。虽然可以作为自己 Notion 集成的起点,但很可能需要修改代码以匹配你的数据库结构和需求。
主要能力包括:
- 添加新的待办事项
- 查看今日任务
- 将任务标记为完成
使用方式:
- 前置要求:Python 3.10 或更高版本、Notion 账号、Notion 集成(API 密钥)、符合上述精确结构的 Notion 数据库(或愿意修改代码适配自己的结构)。
- 克隆仓库(具体命令未提供)。
- 设置 Python 环境(具体步骤未提供)。
- 创建 Notion 集成:访问 https://www.notion.so/my-integrations,创建新集成,复制 API 密钥。
- 将数据库共享给集成:在 Notion 中打开待办数据库,点击 "..." 菜单 → "Add connections",选择你的集成。
- 创建 .env 文件(具体内容未提供)。
- 配置 Claude Desktop(具体配置未提供)。
运行服务器:
- 直接从命令行运行(具体命令未提供)。
- 通过 Claude Desktop 自动运行(推荐):如果正确配置在 claude_desktop_config.json 中,服务器会在 Claude 启动时启动,无需手动管理,Claude 关闭时服务器停止。
- 注意:直接运行时,除非有错误,否则服务器不会显示任何输出,这是正常的,因为它正在等待 MCP 命令。
通过 Claude 的基本命令示例:
- "Show all my todos"
- "What's on my list for today?"
- "Add a todo for today: check emails"
- "Add a task for later: review project"
限制:
- 仅适用于特定的 Notion 数据库结构
- 不支持复杂的数据库架构
- 任务调度仅限于 "today" 或 "later"
- 不支持额外属性或自定义字段
- 基本的错误处理
- 没有高级功能,如重复任务、优先级或标签
- 如果要在不同数据库结构上使用,需要修改 server.py 文件,特别是:
- create_todo() 函数以匹配数据库属性
- call_tool() 中的待办格式化以处理数据结构
- list_tools() 中的输入模式以支持不同选项
项目结构(具体文件列表未提供)。
许可证:MIT License - 使用风险自负。
致谢:构建用于与 Claude Desktop 配合,使用 Notion 的 API。
类别:其他 AI 工具