使用说明

项目简介

'notion-mcp' 是一个基于 Model Context Protocol (MCP) 的服务器实现,它连接到 Notion,并允许你通过 MCP 客户端(如 Claude Desktop)使用自然语言管理你的 Notion 待办事项列表。它将 Notion 的待办事项管理功能通过 MCP 协议暴露为一系列工具,使得 LLM 可以调用这些工具来操作你的 Notion 数据。

主要功能点

  • 管理 Notion 待办事项: 支持查看、添加和完成 Notion 页面中的待办事项。
  • MCP 服务器: 遵循 Model Context Protocol 协议,可以与任何兼容 MCP 协议的客户端进行通信。
  • 工具化接口: 将 Notion 待办事项管理功能封装为 'add_todo', 'show_all_todos', 'complete_todo' 等 MCP 工具。
  • Notion API 集成: 使用 Notion 官方 API 安全地访问和修改你的 Notion 页面数据。

安装步骤

  1. 克隆仓库:

    git clone https://github.com/Badhansen/notion-mcp.git
    cd notion-mcp
  2. 配置 Python 环境:

    uv venv
    source .venv/bin/activate
    uv pip install -e .
  3. 创建 Notion 集成并获取 API 密钥:

  4. 分享 Notion 页面给集成:

    • 打开你的 Notion 工作区,找到包含数据库或表格的页面,或者任何你想用作待办事项列表的页面。
    • 点击页面右上角的 "..." 菜单 -> "添加连接"。
    • 搜索并选择你创建的集成(按名称搜索)。
  5. 配置 '.env' 文件:

    • 复制 '.env.example' 文件并重命名为 '.env'。
    • 编辑 '.env' 文件,填入你的 Notion API 密钥和页面 ID。
    NOTION_TOKEN=<your-notion-api-token>  # 替换为你的 Notion API 密钥
    PAGE_ID=<your-notion-page-id>        # 替换为你的 Notion 页面 ID
    NOTION_VERSION="2022-06-28"
    NOTION_BASE_URL="https://api.notion.com/v1"

服务器配置 (MCP 客户端配置)

要将此 MCP 服务器连接到 MCP 客户端(例如 Claude Desktop),你需要在客户端中配置服务器的启动命令。以下是 Claude Desktop 的配置示例。你需要根据你的实际环境和项目路径调整 'command' 和 'args' 字段。

{
    "mcpServers": {
        "notion-mcp": {
            "command": "uv",
            "args": [
                "--directory",
                "/path/to/notion-mcp/src",  // 替换为你的 notion-mcp 仓库中 src 目录的绝对路径
                "run",
                "server.py"
            ]
        }
    }
}

注意: 请将 '/path/to/notion-mcp/src' 替换为你本地 'notion-mcp' 仓库中 'src' 目录的绝对路径

基本使用方法

完成服务器配置后,在你的 MCP 客户端中,你可以使用自然语言指令来调用 'notion-mcp' 提供的工具,从而管理你的 Notion 待办事项。例如,你可以通过指令指示 LLM 调用 'add_todo' 工具来添加新的待办事项,或者调用 'show_all_todos' 工具来查看所有待办事项。具体指令的格式取决于你使用的 MCP 客户端的功能和配置。

信息

分类

生产力应用