Notion API服务器

一个为Notion API实现的MCP服务器,提供用户友好的环境变量配置和完整的Notion API端点支持。

  • by AgentX-ai
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 AgentX-ai/notion-mcp-server

使用说明

AgentX概念MCP服务器

该项目实现了 MCP服务器 为了 API通知 随着 用户友好的环境变量.

✨ 特性

  • 🔧 用户友好配置 -简单的环境变量,而不是复杂的JSON
  • 🔄 向后兼容性 -仍然支持传统 OPENAPI_MCP_HEADERS
  • 🚀 易于设置 -刚刚设置 NOTION_API_TOKEN 并且可选 NOTION_VERSION
  • 📚 API全面支持 -所有可用的Notion API端点
  • 🛡️ 安全 -正确的身份验证和错误处理

安装

1.在理念上建立一体化:

首选 https://www.notion.so/profile/integrations 并创建一个新的 内部的 集成或选择一个现有的。

虽然我们限制了Notion API暴露的范围(例如,您将无法通过MCP删除数据库),但将工作空间数据暴露给LLM会带来非零风险。有安全意识的用户可能希望进一步配置集成 能力.

例如,您可以通过仅从“配置”选项卡授予“读取内容”访问权限来创建只读集成令牌:

2.将内容连接到集成:

确保相关页面和数据库已连接到您的集成。

为此,请访问 访问 内部集成设置中的选项卡。编辑访问权限并选择要使用的页面。

或者,您可以单独授予页面访问权限。您需要访问目标页面,单击3个点,然后选择“连接到集成”。

3.将MCP配置添加到您的客户端:

使用npm:

将以下内容添加到您的 .cursor/mcp.json 或 claude_desktop_config.json (MacOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json)

{
  "mcpServers": {
    "notionApi": {
      "command": "npx",
      "args": ["-y", "@agentx-ai/notion-mcp-server"],
      "env": {
        "NOTION_API_TOKEN": "ntn_****",
        "NOTION_VERSION": "2022-06-28"
      }
    }
  }
}

注: NOTION_VERSION 是可选的,默认为 "2022-06-28" 如果没有提供。

使用Docker:

使用Docker运行MCP服务器有两种选择:

选项1:使用官方Docker Hub镜像:

将以下内容添加到您的 .cursor/mcp.json 或 claude_desktop_config.json:

{
  "mcpServers": {
    "notionApi": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "-e", "NOTION_API_TOKEN",
        "-e", "NOTION_VERSION",
        "mcp/notion"
      ],
      "env": {
        "NOTION_API_TOKEN": "ntn_****",
        "NOTION_VERSION": "2022-06-28"
      }
    }
  }
}

这种方法:

  • 使用官方Docker Hub镜像
  • 使用简单的环境变量而不是复杂的JSON
  • 提供更人性化的配置方法
选项2:在本地构建Docker镜像:

您还可以在本地构建和运行Docker镜像。首先,构建Docker镜像:

docker-compose build

然后,将以下内容添加到您的 .cursor/mcp.json 或 claude_desktop_config.json:

{
  "mcpServers": {
    "notionApi": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "-e",
        "NOTION_API_TOKEN=ntn_****",
        "-e",
        "NOTION_VERSION=2022-06-28",
        "notion-mcp-server"
      ]
    }
  }
}

传统支持: 旧的 OPENAPI_MCP_HEADERS 环境变量仍然支持向后兼容性,但建议使用新方法以获得更好的用户体验。

别忘了更换 ntn_**** 与您的集成秘密。从您的集成配置选项卡中找到它:

通过Smithery安装

通过自动安装用于Claude Desktop的Notion API服务器 史密瑟里:

npx -y @smithery/cli install @agentx-ai/notion-mcp-server --client claude

例子

  1. 使用以下说明
Comment "Hello MCP" on page "Getting started"

AI将正确地规划两个API调用, v1/search 和 v1/comments,以完成任务

  1. 同样,以下指令将导致一个名为“Notion MCP”的新页面添加到父页面“Development”中
Add a page titled "Notion MCP" to page "Development"
  1. 您也可以直接引用内容ID
Get the content of page 1a6b35e6e67f802fa7e1d27686f017f2

开发(本地测试)

构建

npm run build

安装

npm install -g .

使用模型上下文协议/检查器进行测试

npx @modelcontextprotocol/inspector notion-mcp-server

点击:

http://localhost:6274/?MCP_PROXY_AUTH_TOKEN=xxxxxxxxxx