Notion待办集成工具

一个与Notion API集成的MCP服务器,用于通过Claude管理个人待办事项列表,适用于简单的任务管理场景。

  • by danhilse
  • Python
  • 本地部署
  • 209 星标
  • 更新于
在 GitHub 查看 danhilse/notion_mcp

使用说明

MCP集成概念

一个简单的模型上下文协议(MCP)服务器,它与Notion的API集成,通过Claude管理我的个人待办事项列表。这是一个专门为我在Notion中的极简主义待办事项列表设置量身定制的基本实现。

重要提示

这是一个为非常特定的用例设计的个人项目:我的简单Notion待办事项列表,只有三个属性:

  • 任务(标题)
  • 何时(仅选择两个选项:“今天”或“以后”)
  • 复选框(如果已完成,则标记)

概念数据库示例

虽然您可以将此作为您自己的Notion集成的起点,但您可能需要修改代码以匹配您的特定数据库结构和要求。

特性

  • 添加新的所有项目
  • 查看所有待办事项
  • 查看今天的任务
  • 确认任务已完成

先决条件

  • Python 3.10或更高版本
  • Notion账户
  • Notion集成(API密钥)
  • 与上述确切结构相匹配的Notion数据库(或愿意为您的结构修改代码)

设置

  1. 克隆存储库:
git clone https://github.com/yourusername/notion-mcp.git
cd notion-mcp
  1. 设置Python环境:
python -m venv .venv
source .venv/bin/activate  # On Windows use: .venv\Scripts\activate
uv pip install -e .
  1. 创建Notion集成:

    • 首选https://www.notion.so/my-integrations
    • 创建新的集成
    • 复制API密钥
  2. 通过集成共享您的数据库:

    • 在Notion中打开您的todo数据库
    • 点击“…”菜单→ “添加连接”
    • 选择您的集成
  3. 创建一个 .env 文件:

NOTION_API_KEY=your-api-key-here
NOTION_DATABASE_ID=your-database-id-here
  1. 配置Claude桌面:
{
  "mcpServers": {
    "notion-todo": {
      "command": "/path/to/your/.venv/bin/python",
      "args": ["-m", "notion_mcp"],
      "cwd": "/path/to/notion-mcp"
    }
  }
}

运行服务器

服务器可以通过两种方式运行:

  1. 直接从命令行:
# From the project directory with virtual environment activated
python -m notion_mcp
  1. 自动通过克劳德桌面(推荐):
  • 如果在中配置正确,服务器将在Claude启动时启动 claude_desktop_config.json
  • 无需手动管理服务器
  • Claude关闭时服务器停止

注意:直接运行时,服务器不会显示任何输出,除非出现错误——这是正常的,因为它正在等待MCP命令。

用法

Claude的基本命令:

  • “显示我的所有待办事项”
  • “我今天的清单上有什么?”
  • “添加今天的待办事项:查看电子邮件”
  • “为以后添加任务:审阅项目”

局限性

  • 仅适用于特定的Notion数据库结构
  • 不支持复杂的数据库模式
  • 仅限于“今天”或“以后”的任务调度
  • 不支持其他属性或自定义字段
  • 基本错误处理
  • 没有重复任务、优先级或标签等高级功能

定制

如果你想在不同的数据库结构中使用它,你需要修改 server.py 文件,特别是:

  • 这 create_todo() 函数以匹配您的数据库属性
  • todo格式 call_tool() 处理您的数据结构
  • 中的输入架构 list_tools() 如果你想要不同的选择

项目结构

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