项目简介
这个项目实现了一个专门用于Notion平台的Model Context Protocol (MCP) 服务器。它优化了对Notion内容的只读访问,旨在为AI助手提供更高效、更易用的数据获取能力。
主要功能点
- 只读访问: 安全地读取Notion页面、数据库、块和评论等内容,不提供修改或删除功能。
- 精简工具集: 将Notion API暴露给AI的工具数量从15+减少到只有少数几个核心工具,提高AI选择工具的效率和准确性。
- 高性能: 通过并行处理等技术,显著加快获取大型Notion页面的内容速度。
- 全面内容获取: 支持读取页面、数据库、页面属性、块内容和评论。
- 一键获取整页内容 (新功能: API-get-one-pager): 允许AI通过一个工具调用,递归地获取整个Notion页面的完整结构和内容,包括嵌套的块、关联的数据库信息和评论,极大地简化了AI理解复杂页面的过程。
- 后台处理: 对于非常大的页面,支持在后台进行内容获取,避免请求超时。
安装步骤
-
在Notion中设置集成:
- 访问 Notion 集成页面 (通常是 'https://www.notion.so/profile/integrations')。
- 创建一个新的内部集成。
- 在集成的“能力 (Capabilities)”配置中,建议仅勾选“读取内容 (Read content)”权限,以确保只读访问的安全性。
- 复制生成的内部集成令牌(Secret Token)。
-
配置MCP客户端:
- 找到你的MCP客户端配置文件。例如,Cursor AI通常是'.cursor/mcp.json',Claude桌面版在macOS上是'~/Library/Application Support/Claude/claude_desktop_config.json'。
- 在配置文件的 'mcpServers' 部分添加一个新的服务器配置项(例如,键名可以是 'notionApi')。
- 这个配置项是一个JSON对象,必须包含 'command'(用于启动服务器的命令)和 'args'(传递给命令的参数列表)。
- 配置中还需要一个 'env' 字段,这是一个JSON对象,用于设置环境变量。在此,需要设置 'OPENAPI_MCP_HEADERS' 环境变量,其值是一个JSON字符串,包含 Notion API 的认证头部信息,格式为 '{"Authorization": "Bearer [你的集成令牌]", "Notion-Version": "2022-06-28" }'。请务必将 '[你的集成令牌]' 替换为你从Notion复制的集成令牌。
- 根据你希望的运行方式(使用npm安装或使用Docker),配置对应的 'command' 和 'args'。
- 使用npm: 'command' 设置为 '"npx"','args' 设置为 '["-y", "notion-readonly-mcp-server"]'。
- 使用Docker: 'command' 设置为 '"docker"','args' 设置为 '["run", "--rm", "-i", "-e", "OPENAPI_MCP_HEADERS", "taewoong1378/notion-readonly-mcp-server"]'。
-
连接内容到集成:
- 在你希望AI能够访问的Notion页面或数据库中,点击页面右上角的“...”菜单。
- 选择“添加连接 (Add connections)”或“连接到集成 (Connect to integration)”,然后选择你刚刚创建的Notion集成。
基本使用方法
安装配置完成后,你的AI助手(如果它支持并配置了MCP客户端)就能够发现并使用这个Notion MCP服务器暴露的工具了。
AI通常会根据你的指令和它能访问的工具来决定如何获取信息。你可以尝试给AI发送指令,让它获取某个Notion页面的内容。例如:
- “请获取页面 ID 为 '你的页面ID' 的完整内容。”
AI可能会自动调用 'API-get-one-pager' 工具来完成这个任务,递归地拉取页面的所有相关信息。对于后台处理的任务,AI也可能使用 'API-get-background-result' 工具来获取结果。
信息
分类
生产力应用