本项目实现了一个用于 Notion API 的 MCP 服务器,借助该服务器可更便捷地与 Notion 进行交互,拓展其使用场景。
本项目能让你轻松搭建用于 Notion API 的 MCP 服务器,以下是快速搭建的步骤。
访问 https://www.notion.so/profile/integrations 并创建一个新的 内部 集成,或选择一个现有的集成。
⚠️ 重要提示
尽管我们限制了 Notion API 的暴露范围(例如,您无法通过 MCP 删除数据库),但将数据暴露给 LLM 仍存在一定的风险。注重安全的用户可能希望进一步配置集成的 功能。
例如,您可以创建一个只读集成令牌,仅授予“阅读内容”访问权限,从“配置”选项卡中选择:
在您的 .cursor/mcp.json
或 claude_desktop_config.json
(MacOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json
)中添加以下内容:
{
"mcpServers": {
"notionApi": {
"command": "npx",
"args": ["-y", "@notionhq/notion-mcp-server"],
"env": {
"OPENAPI_MCP_HEADERS": "{\"Authorization\": \"Bearer ntn_****\", \"Notion-Version\": \"2022-06-28\" }"
}
}
}
}
有两种方法可以使用 Docker 运行 MCP 服务器:
在 docker-compose.yml
中添加以下内容以启动 MCP 服务器:
version: '3'
services:
notion-mcp-server:
image: ghcr.io/notionhq/notion-mcp-server:latest
ports:
- "19000:19000"
然后运行:
docker-compose up --build
安装依赖项:
npm install @notionhq/notion-mcp-server --save-dev
在 package.json
中添加脚本:
{
"scripts": {
"mcp-server": "npx -y --prefix . @notionhq/notion-mcp-server"
}
}
运行:
npm run mcp-server
在 Notion 中,导航到您要连接的内容(页面或数据库),然后使用侧边栏中的“设置”菜单将该内容连接到之前创建的集成。
post http://localhost:19000/comments
Content-Type: application/json
{
"parent": "page_id",
"content": "这是一个测试评论。"
}
get http://localhost:19000/page_content?page_id=page_id
post http://localhost:19000/search
Content-Type: application/json
{
"query": "要搜索的内容"
}
npm run build
npx -y --prefix /path/to/local/notion-mcp-server @notionhq/notion-mcp-server
npm publish --access public