Notion MCP 服务器

连接 Claude Desktop(和其他 MCP 客户端)到 Notion,提供实时 MCP 服务器支持 SSE。

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

使用说明

MCP服务器概念

连接 克劳德桌面版 (和其他MCP客户端)直接发送到 概念 使用真正的MCP服务器 上海证券交易所 支持。

没有不稳定的本地脚本。URL中没有令牌。请在云中安全运行。

🚀 快速入门(推荐)

全天候安全运行此功能的最简单方法是打开 Apify.

部署到Apify

连接您的MCP客户端

  • 基本URL (指定容器URL):

    https://<run-id>.runs.apify.net

  • SSE端点:

    GET /sse

  • 客户端到服务器消息:

    POST /message?sessionId=...

身份验证通过以下方式完成:

  • 认证头: Authorization: Bearer <SECRET_TOKEN>

✨ 特性

  • MCP协议与SSE
  • 安全承载身份验证
  • 通知API访问(通过OpenAPI工具进行CRUD)
  • 速率限制和基本DDoS保护 (express-rate-limit)
  • 安全标头 (helmet)

💻 地方发展(面向极客)

安装

npm install

构建

npm run build

跑

npm start

Docker(可选)

如果你在本地使用Docker:

docker build -t notion-mcp-server .
docker run -p 8080:8080 --env-file .env notion-mcp-server

⚙️ 配置

此项目旨在从环境变量(和Apify Actor输入)读取配置。

所需ENV变量

  • NOTION_TOKEN
    • 您的Notion集成令牌。
  • SECRET_TOKEN
    • 访问所需的承载令牌 /sse 和 /message.

可选(高级):

  • NOTION_API_VERSION (默认值: 2022-06-28)
  • OPENAPI_MCP_HEADERS (JSON标头字符串;覆盖 NOTION_TOKEN 当存在时)
  • BASE_URL (覆盖OpenAPI服务器基本URL)

Claude桌面配置

将以下内容添加(或合并)到 claude_desktop_config.json:

{
  "mcpServers": {
    "notion": {
      "command": "node",
      "args": ["/ABSOLUTE/PATH/TO/dist/start-apify.js"],
      "env": {
        "NOTION_TOKEN": "YOUR_NOTION_TOKEN",
        "SECRET_TOKEN": "YOUR_SECRET_TOKEN"
      }
    }
  }
}

在Apify上,您通常通过以下方式配置机密 演员输入 / 秘密 并将容器URL用作服务器端点。

安全注意事项

  • 永不承诺 .env 文件或Apify storage/ 目录。
  • 使用强力 SECRET_TOKEN 如果泄漏,请旋转它。

贡献

欢迎PR!