Notion MCP 用官方远程 URL 再 login,不要抄 rmcp 或 SSE

CLI:codex mcp add notion --url https://mcp.notion.com/mcp,再 mcp login notion。这是 OAuth,目前不能非交互授权。中文教程说 mcp add 不能加 URL、还要 experimental_use_rmcp_client,那是过时路径。

Notion 官方给 Codex 的是远程 Streamable HTTP,不是本地包。CLI 可以一次加完,不必先手改 TOML:

codex mcp add notion --url https://mcp.notion.com/mcp
codex mcp login notion

官方文档只示范了写 ~/.codex/config.toml 再 login,效果一样:

[mcp_servers.notion]
url = "https://mcp.notion.com/mcp"
enabled = true

codex mcp login notion 会走浏览器 OAuth。Notion 写明目前没有非交互授权,不能靠 PAT / bearer 在 CI 里静默登录。网页 Work / Cloud 不读这份本机配置。

不要做这些:

  • 不要抄 Claude 的 claude mcp add --transport http。Codex 远程用 --url,名字写在 add 后面。
  • 不要抄 /sse。Codex 只要 Streamable HTTP;Notion 的 SSE 是给旧客户端的退路。
  • 不要一上来套 npx mcp-remote。Codex 自己会连 HTTP。
  • 不要开 experimental_use_rmcp_client / features.rmcp_client 当现行前置。那是早期 HTTP 客户端旗标,Figma 那条已经说过不要再抄。
  • 不要信「codex mcp add 只能加本地 stdio」。Learn 和本机 codex mcp add --help 都有 --url
  • 不要贴 Claude / Cursor 的 mcpServers JSON,也不要装已经停更的 notion-mcp-server 开源包当默认。
  • 不要给它 required = true 挂全局。文档库不是每条会话都要的依赖。
  • 不要和 bearer 混用。显式 bearer_token_env_var 会盖掉已登录的 OAuth。

项目层 .codex/config.toml 可以给同事同一条 url,每人仍要自己 mcp login。桌面和 IDE 经常只读 ~/.codex,见项目层 MCP 那条。改完新开会话,用 codex mcp get notion 看传输是 streamable_http。

来源