Token导航 LogoToken导航

MCP Server · 文档知识

Chatmooc Notion MCP Server

支持多租户架构的Notion MCP服务器,允许通过HTTP请求头动态传入Notion API Token,使多个用户可以连接各自的Notion工作区。

stdio官方级别未说明来源级核验工具 0
多租户认证服务TypeScriptClaudeAPI代理

快速开始

作者 / 组织
Leonx01
提供方
Leonx01

工具数量

0

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

1

仓库热度

收录来源

1 个

MCP World

选型结论

Chatmooc Notion MCP Server 属于文档知识类 MCP Server,公开资料标注 0 个工具,通过stdio 本地进程接入,适配 Claude,有可以直接复制的安装命令;接入前要先准备 访问 Token。

分类

文档知识

传输方式

stdio

认证方式

访问 Token

部署方式

公开资料未说明

安装与配置

安装命令

pip install langchain-mcp-adapters langgraph python-dotenv

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 对应的运行时,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 0 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

Notion MCP Server (Multi-Tenant Fork)

支持多租户架构的 Notion MCP Server。与官方版本不同,本分支允许通过 HTTP 请求头动态传入 Notion API Token,使多个用户可以连接各自的 Notion 工作区,无需为每个用户部署独立实例。

核心特性

  • 多租户支持 - 每个请求可携带不同 Notion Token
  • 双认证模式 - 支持分离认证(生产)和合并认证(开发)
  • HTTP 传输 - Streamable HTTP 模式,便于 Web 应用集成
  • LangGraph 兼容 - 完美支持 langchain-mcp-adapters

快速开始

Docker 部署

本项目提供两个 Docker Compose 配置,对应两种认证方式:

方式一:分离认证(生产/多租户)

使用 docker-compose.yml:

services:
  notion-mcp-server:
    build: .
    ports:
      - "3000:3000"
    command: ["--transport", "http", "--port", "3000", "--auth-token", "your-mcp-secret"]

启动:

docker compose -f docker-compose.yml up -d

特点:

  • 需要 --auth-token 设置 MCP 服务器认证密钥
  • 客户端需提供两个 Header:Authorization(MCP认证)+ X-Notion-Token(Notion认证)
  • 适合多租户场景,一个服务支持多个 Notion 用户
方式二:合并认证(开发/单用户)

使用 docker-compose.simple.yml:

services:
  notion-mcp-server:
    build: .
    ports:
      - "3000:3000"
    command: ["--transport", "http", "--port", "3000", "--disable-auth"]

启动:

docker compose -f docker-compose.simple.yml up -d

特点:

  • 使用 --disable-auth 关闭 MCP 服务器认证
  • 客户端只需一个 Header:Authorization: Bearer
  • 适合个人开发测试
注意:两种方式都不需要设置 NOTION_TOKEN 环境变量,Token 通过请求头动态传入!

本地运行

npm install
npm run build
npm start -- --transport http --port 3000 --auth-token your-mcp-secret

两种认证方式详解

本服务支持两种认证模式,根据你的使用场景选择:

方式一:分离认证(推荐用于生产/多租户)

原理:MCP 服务器认证 和 Notion API 认证 完全分离

┌─────────────┐  Authorization  ┌─────────────┐  X-Notion-Token  ┌─────────────┐
│  LangGraph  │ ──────────────> │  MCP Server │ ───────────────> │  Notion API │
│   Client    │  (你的服务密钥)  │   (本服务)   │  (用户Notion密钥) │   (官方)    │
└─────────────┘                 └─────────────┘                  └─────────────┘

Headers:

  • Authorization: Bearer —— 验证有权连接此 MCP 服务器(由 --auth-token 参数设置)
  • X-Notion-Token: —— 验证有权访问哪个 Notion 工作区(每个用户不同)

cURL 示例:

curl -H "Authorization: Bearer your-mcp-secret" \
     -H "X-Notion-Token: ntn_xxxxx" \
     -H "Content-Type: application/json" \
     -d '{"jsonrpc": "2.0", "method": "tools/list", "id": 1}' \
     http://localhost:3000/mcp

LangGraph 示例:

from langchain_mcp_adapters.client import MultiServerMCPClient
from langgraph.prebuilt import create_react_agent

# 用户 A 使用自己的 Notion Token
client_a = MultiServerMCPClient({
    "notion": {
        "transport": "http",
        "url": "http://localhost:3000/mcp",
        "headers": {
            "Authorization": "Bearer your-mcp-secret",      # 固定,你的服务密钥
            "X-Notion-Token": "ntn_user_a_token"            # 变化,用户A的Notion
        }
    }
})
tools_a = await client_a.get_tools()
agent_a = create_react_agent("claude-sonnet-4-6", tools_a)

# 用户 B 使用不同的 Notion Token,同一个服务器
client_b = MultiServerMCPClient({
    "notion": {
        "transport": "http",
        "url": "http://localhost:3000/mcp",
        "headers": {
            "Authorization": "Bearer your-mcp-secret",      # 相同的服务密钥
            "X-Notion-Token": "ntn_user_b_token"            # 不同的Notion密钥
        }
    }
})
tools_b = await client_b.get_tools()
# ... 操作用户 B 的 Notion

适用场景:

  • ✅ SaaS 应用,多个用户各自连接自己的 Notion
  • ✅ 团队协作平台,按用户区分权限
  • ✅ 共享 MCP 服务基础设施

方式二:合并认证(开发便利)

原理:直接用 Notion Token 作为 Bearer Token,一举两得

┌─────────────┐  Authorization  ┌─────────────┐  (same token)   ┌─────────────┐
│  LangGraph  │ ──────────────> │  MCP Server │ ──────────────> │  Notion API │
│   Client    │  (notion token) │   (本服务)   │                 │   (官方)    │
└─────────────┘                 └─────────────┘                 └─────────────┘

Headers:

  • Authorization: Bearer —— 既是 MCP 认证又是 Notion 认证

cURL 示例:

curl -H "Authorization: Bearer ntn_xxxxx" \
     -H "Content-Type: application/json" \
     -d '{"jsonrpc": "2.0", "method": "tools/list", "id": 1}' \
     http://localhost:3000/mcp

LangGraph 示例:

from langchain_mcp_adapters.client import MultiServerMCPClient
from langgraph.prebuilt import create_react_agent

client = MultiServerMCPClient({
    "notion": {
        "transport": "http",
        "url": "http://localhost:3000/mcp",
        "headers": {
            # 直接用 Notion Token 作为 Bearer,省一个 Header
            "Authorization": "Bearer ntn_xxxxx"
        }
    }
})
tools = await client.get_tools()
agent = create_react_agent("claude-sonnet-4-6", tools)

# 调用工具搜索 Notion
result = await agent.ainvoke({
    "messages": [{"role": "user", "content": "列出我的数据库"}]
})

适用场景:

  • ✅ 个人开发测试
  • ✅ 单机部署,只服务一个用户
  • ✅ 快速原型,懒得配置两个 Token

对比总结

特性方式一(分离)方式二(合并)
Headers 数量2 个1 个
多租户支持✅ 支持❌ 不支持
部署方式一个服务 + 多用户一个服务 + 一个用户
安全性🔒 高(服务密钥不暴露)⚠️ 中(Notion Token 即服务密钥)
适用场景生产/SaaS开发/个人

测试验证

  1. 启动 Docker:
   docker compose -f docker-compose.simple.yml up -d
  1. 创建 .env 文件:
   NOTION_TOKEN=ntn_xxxxx
   MCP_SERVER_URL=http://localhost:3000/mcp
  1. 安装依赖并运行测试:
   pip install langchain-mcp-adapters langgraph python-dotenv
   python test_langgraph.py

预期输出:

==================================================
Test: Call Notion Tool
==================================================
Notion Token: ntn_z59972...

Getting tools...
[OK] Got 22 tools

Calling tool: API-post-search

[OK] Found 1 results:
  Page: ChatMOOC

[OK] Tool call test passed!
注意:工具列表中的 Error Responses: 400: Bad... 是 OpenAPI 文档中的错误说明,不是实际错误。

获取 Notion Token

  1. 访问 Notion Integration
  2. 创建 Internal Integration
  3. 复制 Token(格式 ntn_xxxx)
  4. 在目标页面点击「...」→「Connect to integration」授权

命令行参数

Options:
  --transport      传输模式: stdio 或 http (默认: stdio)
  --port         HTTP 模式端口 (默认: 3000)
  --auth-token    MCP 连接认证 Token(方式一必需,方式二可选)
  --disable-auth         禁用认证(仅开发使用)
  --help, -h             显示帮助

原项目

基于 Notion 官方 MCP Server 修改。

License

MIT

工具与能力

工具数量

0

资源数量

0

提示词数量

0

能力标签

多租户TypeScript本地部署Notion集成API代理认证服务SaaS工具

支持客户端

Claude

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

读长文档提问

把 PDF、Markdown 和笔记交给模型,按章节追问细节。

整理知识库

把零散资料归档、打标签,检索时更容易命中。

批量出摘要

提取要点,输出能直接引用的段落。

选择建议

值得选的地方

  • 只提供 0 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • stdio 方式要求本地装好 运行环境,换机器要重新装一遍。
  • 需要自备访问 Token,没有凭据没法直接试。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在文档知识场景里让模型直接调用外部能力的人。
  • 已经在用 Claude 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 暂时拿不到访问 Token的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Chatmooc Notion MCP Server

MCP World · 本页

0stdio有1 个2026-05-17
Cherry Studio

MCP World

0未说明未标注1 个2026-05-17
Pdf Math Translate

MCP World

0stdio有1 个2026-05-17
report generation

MCP World

0stdio有1 个2026-05-17
Anything To Notebooklm

MCP World

0stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Chatmooc Notion MCP Server 怎么安装?

公开资料给出的安装命令是 pip install langchain-mcp-adapters langgraph python-dotenv,运行环境为 未标注。装完后按客户端要求写进 MCP 配置,重启客户端生效。

Chatmooc Notion MCP Server 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 未标注;保存后完全退出客户端再打开,配置才会生效。

Chatmooc Notion MCP Server 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Chatmooc Notion MCP Server 需要 API Key 吗?

公开资料标注的认证方式是访问 Token,也就是要先拿到凭据才能连上;凭据只填在自己本地的配置里,不要写进公开仓库。

Chatmooc Notion MCP Server 支持哪些客户端?

公开资料标注支持 Claude;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP