使用说明

项目简介

Notion API MCP 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在让AI模型能够通过 Notion API 实现强大的任务管理和内容组织功能。通过此服务器,AI模型可以安全、可扩展地访问和操作 Notion 中的数据与功能,例如创建任务、管理数据库、组织内容等。

主要功能点

  • 任务管理: AI模型可以创建、更新和追踪包含富文本、截止日期、优先级和子任务的TODO清单,实现更智能化的任务管理。
  • 数据库操作: 支持AI模型创建和管理 Notion 数据库,包括自定义属性、设置过滤器和视图,方便AI进行结构化数据处理。
  • 内容组织: AI模型可以利用 Markdown 格式化内容,创建层级列表和进行块操作,实现丰富的文本内容组织和管理。
  • 实时集成: 服务器提供与 Notion 工作区、页面和数据库的直接异步交互,确保AI模型操作的实时性和数据一致性。

安装步骤

  1. 克隆仓库 打开终端,执行以下命令克隆仓库到本地:
    git clone https://github.com/pbohannon/notion-api-mcp.git
  2. 进入项目目录
    cd notion-api-mcp
  3. 创建并激活虚拟环境 为了隔离项目依赖,建议创建并激活 Python 虚拟环境:
    uv venv
    source .venv/bin/activate
    在 Windows 系统上,使用命令 '.venv\Scripts\activate'
  4. 安装依赖 使用 'uv pip' 安装项目依赖:
    uv pip install -e .
  5. 配置环境变量 复制环境变量配置文件模板并创建 '.env' 文件:
    cp .env.integration.template .env
    编辑 '.env' 文件,填入你的 Notion API 密钥和相关的 Notion 页面或数据库 ID。你需要先在 Notion 官网创建 Integration 并获取 API 密钥。

服务器配置

要让 MCP 客户端 (例如 Claude Desktop) 连接到此 MCP 服务器,需要在客户端的配置文件中添加服务器信息。以下是 Claude Desktop 的配置示例,你需要将此配置添加到 '~/Library/Application Support/Claude/claude_desktop_config.json' 文件中:

{
  "mcpServers": {
    "notion-api": {
      "command": "/path/to/your/.venv/bin/python",
      "args": ["-m", "notion_api_mcp"],
      "env": {
        "NOTION_API_KEY": "ntn_your_integration_token_here", // 替换为你的 Notion Integration Token
        "NOTION_PARENT_PAGE_ID": "your_page_id_here",   // 可选,用于创建新数据库,替换为你的父页面ID
        "NOTION_DATABASE_ID": "your_database_id_here"   // 可选,用于现有数据库,替换为你的数据库ID
      }
    }
  }
}

配置参数说明:

  • '"server name": "notion-api"': 为你的 MCP 服务器自定义一个名称,例如 "notion-api"。
  • '"command": "/path/to/your/.venv/bin/python"': 必须替换为你的虚拟环境中 Python 解释器的绝对路径。此路径指向用于启动 MCP 服务器的 Python 解释器。
  • '"args": ["-m", "notion_api_mcp"]': 启动 MCP 服务器的参数,固定为 '["-m", "notion_api_mcp"]',表示运行 'notion_api_mcp' 模块。
  • '"env": { ... }': 环境变量配置,用于传递 Notion API 密钥和相关的 Notion 资源 ID。
    • '"NOTION_API_KEY": "ntn_your_integration_token_here"': 必须替换为你的 Notion Integration Token
    • '"NOTION_PARENT_PAGE_ID": "your_page_id_here"': 可选,如果需要创建新的 Notion 数据库,则需要配置此项,替换为你的 Notion 父页面 ID。
    • '"NOTION_DATABASE_ID": "your_database_id_here"': 可选,如果需要操作现有的 Notion 数据库,则需要配置此项,替换为你的 Notion 数据库 ID。

注意: 即使你已经配置了 '.env' 文件,为了让 Claude Desktop 能够使用 MCP 服务器,必须将环境变量添加到 Claude Desktop 的配置文件中。'.env' 文件主要用于本地开发和测试。

基本使用方法

  1. 启动 MCP 服务器:在终端中,确保已激活虚拟环境,然后执行命令 'python -m notion_api_mcp' 启动服务器。
  2. 配置 MCP 客户端:在支持 MCP 的客户端 (如 Claude Desktop) 中,根据上述 “服务器配置” 部分的说明配置服务器连接信息。
  3. 使用 MCP 工具:在 MCP 客户端中,你可以使用预先注册的工具 (例如 'add_todo', 'search_todos', 'create_database' 等) 与你的 Notion 工作区进行交互。具体的工具列表和使用方法可以参考仓库文档或通过客户端的工具列表功能查看。

信息

分类

生产力应用