拓十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Notion MCP 安装和设置:在 Cursor 中接入 TaoToken 统一 Key 的 config.toml 骨架

Notion MCP 安装和设置:在 Cursor 中接入 TaoToken 统一 Key 的 config.toml 骨架

1. 为什么要在 Cursor 里装 Notion MCP

Notion MCP 是 Notion 官方提供的 Model Context Protocol 服务端,它把 Notion 里的页面、数据库、块结构暴露成一组标准工具,让 Cursor 这类支持 MCP 的编辑器可以直接读写你的工作区。简单说,以前你要手动复制 Notion 页面内容贴进对话,现在 Cursor 能自己调用工具去查页面、建条目、更新数据库。

适合谁用:习惯把需求文档、周报、知识库放在 Notion,又想在 Cursor 里让 AI 直接引用这些内容的开发者。尤其是做多工具协作的人,Cursor 管代码、Notion 管文档,中间靠 MCP 打通,省掉来回切换。

但这里有个现实问题:Notion MCP 本身不解决模型调用,它只负责「访问 Notion」。你在 Cursor 里真正跑对话、跑补全,还是要走一个模型 API 通道。如果每个工具都单独配一套 Key,管理起来很碎。这篇的做法是:Notion MCP 负责数据侧,TaoToken 统一 Key 负责模型侧,两边在 Cursor 的配置里各占一块,互不打架。

我试过把 Notion MCP 和统一 Key 分开配,结果 Cursor 的 settings 里堆了三四个 env,改一个忘一个。后来把模型通道收敛到 TaoToken,Notion 侧只留一个集成密钥,配置文件清爽很多。下面按「环境准备 → 拿 Key → 写 config.toml → 验证 → 排障」走一遍。

2. 前置准备:Node 环境与 TaoToken 统一 Key

2.1 检查 Node 版本

Notion MCP 服务端是 npm 包@notionhq/notion-mcp-server,靠npx拉起,所以本机 Node 不能太旧。官方要求 Node 18 以上,实测 Node 20 LTS 最稳。

Windows 下打开 PowerShell:

node -v npm -v

如果node -v输出低于 v18,去 Node 官网下 LTS 包覆盖安装。装完重开终端再验一次。macOS 用brew install node或 nvm 都行。

注意:Cursor 内置终端和系统终端可能读到不同的 Node 路径。如果你用 nvm,确认 Cursor 启动时继承的环境变量里有正确的 Node。最省事的办法是装一个全局 Node,别在 MCP 这条链上依赖 nvm 的 shell 初始化。

2.2 在 TaoToken 拿统一 Key

模型侧我们统一走 TaoToken。打开官网 https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= ,注册后进控制台。控制台地址带 deep link:

https://taotoken.net/console?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content=

在控制台里创建 API Key,路径是 API Keys 页面:

https://taotoken.net/api-keys?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content=

生成的 Key 形如sk-xxxx,复制保存。这个 Key 后面会写进 Cursor 的模型配置,不是写进 Notion MCP 的 env,两者别混。

API 基础地址是 https://taotoken.net/api ,注意这个地址不带 UTM 参数,配置里原样填。

2.3 在 Notion 侧建内部集成

Notion MCP 需要两样东西:一个内部集成密钥(Internal Integration Token),以及把这个集成「连接」到目标页面或数据库。

进 Notion 的设置 → 连接(Connections)→ 开发内部集成,创建一个新的 internal integration,拿到ntn_开头的 token。然后回到你要操作的页面,右上角...→ 连接 → 选中刚建的集成。没做这步,MCP 调过去会返回 404 或权限错误。

3. 可复制的 config.toml 骨架

Cursor 的 MCP 配置有两种写法:JSON(mcp.json)和 TOML(config.toml)。这篇按标题给 TOML 骨架。文件位置一般在:

  • Windows:%USERPROFILE%\.cursor\mcp\config.toml
  • macOS / Linux:~/.cursor/mcp/config.toml

如果目录不存在就手动建。完整骨架如下:

# Notion MCP 服务端定义 [mcp_servers.notion-api-mcp] command = "cmd" args = ["/c", "npx", "-y", "@notionhq/notion-mcp-server"] [mcp_servers.notion-api-mcp.env] OPENAPI_MCP_HEADERS = "{\"Authorization\": \"Bearer ntn_你的内部集成密钥\", \"Notion-Version\": \"2022-06-28\"}" # 模型通道:统一走 TaoToken [model] provider = "openai-compatible" base_url = "https://taotoken.net/api" api_key = "sk-你的TaoToken密钥" model = "claude-sonnet-4-20250514"

几个关键点解释一下。

command = "cmd"加args = ["/c", ...]是 Windows 专用写法。macOS / Linux 直接:

[mcp_servers.notion-api-mcp] command = "npx" args = ["-y", "@notionhq/notion-mcp-server"]

OPENAPI_MCP_HEADERS是一个 JSON 字符串,里面塞了 Authorization 和 Notion-Version。注意转义:外层是 TOML 字符串,内层是 JSON,双引号要写成\"。这是最容易写错的地方,少一个反斜杠整个 MCP 就起不来。

Notion-Version固定2022-06-28,这是 Notion API 的版本号,别改。

模型段里的base_url填https://taotoken.net/api,api_key填你在 TaoToken 控制台拿的 Key。model按你实际要用的填,TaoToken 支持多种模型,具体列表在模型对话页可以看:

https://taotoken.net/models?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content=

提示:TOML 里字符串用双引号时,内部双引号必须转义。如果你嫌转义麻烦,可以用 TOML 的单引号字面量字符串,但那样 JSON 里的双引号就不用转义了——不过 Cursor 对 TOML 解析的兼容性以双引号转义写法最稳,建议照上面写。

4. 验证请求与成功结果

4.1 重启 Cursor 并检查 MCP 状态

改完config.toml必须完全退出 Cursor 再重开,不是关窗口,是退出进程。重开后打开设置里的 MCP 面板,应该能看到notion-api-mcp处于 running 状态,旁边有个绿点。

如果显示 failed 或一直转圈,先看 Cursor 的 MCP 日志。日志里通常会打印npx拉包的过程和 Node 报错。

4.2 在对话里触发 Notion 工具

新建一个对话,输入类似:

帮我查一下 Notion 里「项目周报」这个页面的最新内容

正常情况下 Cursor 会弹出工具调用确认,显示它要调用notion-api-mcp的搜索或读取工具。点允许后,它会返回页面内容。这一步成功,说明 Notion 侧通了。

4.3 验证模型通道走的是 TaoToken

模型侧单独验一次。在 Cursor 里发一句普通对话,比如「用一句话解释什么是 MCP」。如果返回正常,说明base_url和api_key生效。

想更确定,可以看 TaoToken 控制台的用量记录,模型对话页也能直接测:

https://taotoken.net/chat?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content=

在模型对话页选同一个模型发一条消息,能返回就说明 Key 和通道没问题。这样把「Notion 数据侧」和「模型侧」分开验证,出问题时能快速定位是哪一边。

4.4 一个完整的联调动作

真正要确认两边都通,做这个动作:在 Cursor 里说「读取 Notion 里某个数据库的条目,然后用一句话总结」。如果 Cursor 先调 Notion MCP 拿到数据,再把数据交给模型总结并返回,说明 MCP 和 TaoToken 通道串起来了。这一步过了,配置就算完成。

5. 本篇常见错排查

5.1 npx 拉包失败或超时

现象:MCP 状态 failed,日志里npx卡住或报 network error。

原因通常是 npm 源慢或缓存脏。先手动在终端跑一次:

npx -y @notionhq/notion-mcp-server --help

能跑通说明包没问题,问题在 Cursor 的环境变量。跑不通就清缓存:

npm cache clean --force

再试。如果公司网络有 npm 镜像,配一下 registry 再重试。

5.2 401 / 403:集成密钥或权限问题

现象:MCP 起来了,但调用 Notion 工具返回 401 或 403。

先检查OPENAPI_MCP_HEADERS里的 token 是不是ntn_开头、有没有多余空格。再检查 Notion 页面有没有把集成「连接」上去。Notion 的权限模型是:集成创建后默认什么都看不到,必须手动把页面或数据库分享给这个集成。这一步漏了,token 再对也是 403。

5.3 TOML 转义写错导致解析失败

现象:Cursor 启动时报 config 解析错误,或 MCP 根本没加载。

九成是OPENAPI_MCP_HEADERS那行的转义问题。对照检查:外层双引号、内层 JSON 的每个双引号前都要有反斜杠。最稳的验证方式是把那行单独拎出来,用在线 TOML 解析器过一遍。

5.4 模型通道 404 或 model not found

现象:Notion 工具能调,但对话报模型不存在。

检查base_url是不是https://taotoken.net/api,结尾不要多加/v1或斜杠。再检查model字段填的模型名是否在 TaoToken 支持列表里。模型名写错会直接 404。列表在模型对话页能查到。

5.5 Cursor 读不到 config.toml

现象:改了文件但 MCP 面板没变化。

确认文件路径对不对。Windows 是%USERPROFILE%\.cursor\mcp\config.toml,不是AppData下面。另外 Cursor 有些版本优先读mcp.json,如果你同时存在两个文件,可能读的是另一个。把config.toml作为唯一来源,或者确认当前版本用的是 TOML。

6. 长期编码场景:把 Key 收敛到 Coding Plan

如果你不只是偶尔用 Notion MCP,而是每天在 Cursor 里跑长任务、Agent 式改代码,那模型调用量会上去,单次按量付费不如包月划算。TaoToken 的 Coding Plan 就是给这种长期编码场景准备的:

https://taotoken.net/coding-plan?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content=

接入方式和上面一样,还是base_url加api_key,只是 Key 换成 Coding Plan 对应的。Notion MCP 那一段完全不用动,数据侧和模型侧解耦的好处就在这里:换模型通道不影响 MCP 配置。

如果你在配的过程中卡在某个报错,优先看接入文档:

https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content=

文档里有各语言的调用示例和常见错误码。Key 管理统一在 API Keys 页面,别把 Key 硬编码进会提交到 git 的文件里,config.toml本身也别进版本库。

返回列表