mcpField
N
Notion

Notion

本地服务
github.com/ContexaAI记忆与知识029 周前更新

关于 Notion

这是 Notion API MCP 服务的一个分支,将传输方式从 Stdio 改为 Server-Sent Events(SSE)。它让 MCP 客户端访问已连接的 Notion 页面和数据库,并有意限制开放的 API 范围。

主要功能

  1. 01通过 MCP 访问 Notion API
  2. 02SSE 传输方式
  3. 03读取和创建页面内容
  4. 04为页面添加评论
  5. 05支持 npm 和 Docker 部署

适用场景

  1. 01按 ID 获取 Notion 页面
  2. 02在父页面下创建页面
  3. 03为 Notion 页面添加评论

MCP 相关

向 MCP 客户端开放部分 Notion API 功能。此分支使用 Server-Sent Events(SSE)而非 Stdio,可通过 npm 或 Docker 配置集成。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"Notion-MCP-Server-SSE": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"OPENAPI_MCP_HEADERS",
"mcp/notion"
],
"env": {
"OPENAPI_MCP_HEADERS": "<OPENAPI_MCP_HEADERS>"
}
}
}
}
启动命令docker run -i --rm -e OPENAPI_MCP_HEADERS mcp/notion
需要配置的环境变量
OPENAPI_MCP_HEADERS

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
ocimcp/notion

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

在 ContexaAI 上部署,几分钟即可开始使用

部署到 ContexaAI

重要说明

This repository is a fork of the official Notion MCP server available on NPM.
The primary modification is the replacement of the transport mechanism from Stdio to Server-Sent Events (SSE).

Notion MCP 服务

notion-mcp-sm

此项目为 Notion API 实现了一个 MCP 服务。

mcp-demo

安装
1. 在 Notion 中设置集成:

访问 https://www.notion.so/profile/integrations,创建新的内部集成或选择已有集成。

创建 Notion 集成令牌

虽然我们限制了所开放的 Notion API 范围(例如,你无法通过 MCP 删除数据库),但向大模型开放工作区数据仍存在一定风险。注重安全的用户可以进一步配置集成的_功能_。

例如,你可以在“Configuration”选项卡中仅授予“Read content”权限,以创建只读集成令牌:

Notion 集成令牌功能,其中已勾选 Read content

2. 将内容连接到集成:

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

为此,你需要访问相应页面,点击 3 个点,然后选择“Connect to integration”。

将集成令牌添加到 Notion 连接

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", "@notionhq/notion-mcp-server"],
      "env": {
        "OPENAPI_MCP_HEADERS": "{\"Authorization\": \"Bearer ntn_****\", \"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", "OPENAPI_MCP_HEADERS",
        "mcp/notion"
      ],
      "env": {
        "OPENAPI_MCP_HEADERS": "{\"Authorization\":\"Bearer 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",
        "OPENAPI_MCP_HEADERS={\"Authorization\": \"Bearer ntn_****\", \"Notion-Version\": \"2022-06-28\"}",
        "notion-mcp-server"
      ]
    }
  }
}

别忘了将 ntn_**** 替换为你的集成密钥。你可以在集成配置选项卡中找到它:

从开发者门户的 Configuration 选项卡复制集成令牌

示例
  1. 使用以下指令
Comment "Hello MCP" on page "Getting started"

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

  1. 类似地,使用以下指令会在父页面“Development”下创建一个名为“Notion MCP”的新页面
Add a page titled "Notion MCP" to page "Development"
  1. 你也可以直接引用内容 ID
Get the content of page 1a6b35e6e67f802fa7e1d27686f017f2
开发

构建

npm run build

执行

npx -y --prefix /path/to/local/notion-mcp-server @notionhq/notion-mcp-server

发布

npm publish --access public

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。