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。