Slack MCP 用 --url 加预注册 client_id,不要抄 --transport http

官方远程是 https://mcp.slack.com/mcp。Codex 写法是 mcp add slack --url … --oauth-client-id。Slack 文档那行 --transport http 是 Claude 语法。不带 client_id 会 DCR 失败。这不是 Cloud 里的 @Codex。

这是把 Slack 工作区接到本机 Codex 的远程 MCP,不是 Cloud 频道里的 @Codex。官方地址是 Streamable HTTP:https://mcp.slack.com/mcp。Slack 不支持动态客户端登记(DCR),必须带你自己 Slack 应用的 client ID:

codex mcp add slack --url https://mcp.slack.com/mcp --oauth-client-id my-slack-app
codex mcp login slack
[mcp_servers.slack]
url = "https://mcp.slack.com/mcp"
enabled = true

[mcp_servers.slack.oauth]
client_id = "my-slack-app"

codex mcp add 打印的完整 OAuth callback URL 登到 Slack 应用。无端口的 127.0.0.1 规则见回调那几条。工作区管理员还要批准 MCP 集成;未上架的 Slack 应用不能用这套 MCP。

不要做这些:

  • 不要抄 Slack 文档 Codex 节里的 codex mcp add --transport http slack https://mcp.slack.com/mcp。那是 Claude Code 的语序。Codex 是 add 名字 --url 地址。
  • 不要把 [mcp_servers.slack]url = …auth = "oauth" 粘成一行。键要分行。auth = "oauth" 是 HTTP 默认,真正缺的是 oauth.client_id
  • 不要空表跑 codex mcp login slack。开放问题会立刻报 Dynamic client registration not supported。
  • 不要去抄 Claude 插件清单里那串现成 clientId。那是 Claude Skills 插件的客户端,不是你的 Slack 应用。
  • 不要和 Cloud @Codex、精选插件 slack@openai-curated 混成一套。
  • 不要抄 /sse,也不要给它 required = true 挂全局。
  • 不要把用户 token 当第一手段写进 bearer_token_env_var。官方路径是预注册 OAuth + mcp login

改完新开会话。codex mcp list 应看到 slack;网页 Cloud 仍不读这份 config.toml

来源