使用说明
项目简介
'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 页面数据。
安装步骤
-
克隆仓库:
git clone https://github.com/Badhansen/notion-mcp.git cd notion-mcp -
配置 Python 环境:
uv venv source .venv/bin/activate uv pip install -e . -
创建 Notion 集成并获取 API 密钥:
- 访问 https://www.notion.so/my-integrations 创建一个新的集成。
- 复制生成的 API 密钥。
-
分享 Notion 页面给集成:
- 打开你的 Notion 工作区,找到包含数据库或表格的页面,或者任何你想用作待办事项列表的页面。
- 点击页面右上角的 "..." 菜单 -> "添加连接"。
- 搜索并选择你创建的集成(按名称搜索)。
-
配置 '.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 客户端的功能和配置。
信息
分类
生产力应用