CommandCodeAI / CommandCodeAI/command-code

One-click Slack MCP install: register official OAuth client

未关闭
#610 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

主要语言
没有语言数据
星标
4k
派生
350
PR 合并指标
30 天内没有已合并 PR

描述

Summary

cmd mcp add --transport http slack https://mcp.slack.com/mcp cannot complete OAuth. Slack rejects the fallback client with Invalid client_id.

Root cause

Slack's MCP server (mcp.slack.com) does not advertise a Dynamic Client Registration endpoint in its OAuth authorization-server metadata:

{"issuer":"https://mcp.slack.com","authorization_endpoint":"https://slack.com/oauth/v2_user/authorize","token_endpoint":"https://slack.com/api/oauth.v2.user.access",...}

(compare Notion: mcp.notion.com advertises registration_endpoint and auto-registers fine).

When DCR is unavailable, the CLI falls back to a generic pre-registered client — clientId: "command-code" — which Slack rejects with Invalid client_id at https://slack.com/oauth/v2_user/authorize.

Expected behavior

One-click install like Claude/ChatGPT: user runs cmd mcp add slack https://mcp.slack.com/mcp, browser opens Slack's authorization page against an official, pre-registered Command Code Slack app, and completes.

Suggestion

Register an official Slack app (Slack "MCP connector" or custom app) with:

  • OAuth redirect URL: http://127.0.0.1:8085/callback (the CLI's local callback)
  • User scopes per Slack's MCP server scopes_supported (search:read., chat:write, channels:history, groups:history, im:history, mpim:history, canvases:read/write, users:read, reactions:, emoji:read, files:read/write, channels:read/write, groups:read/write, im:write, mpim:write, lists:read/write)

Then either ship clientId/clientSecret in the CLI for the well-known slack URL, or support server-keyed pre-registered credentials like other editors do.

Impact

Blocked install for the second most-requested MCP integration after Notion. Workaround today requires users to create their own Slack app and mcp add-json the client credentials.

贡献指南

这个仓库没有索引到贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

调研方向

cmd mcp add --transport http 的 OAuth 流程开始,将 Slack 的授权服务器元数据与现有的 Notion DCR 路径进行比较。追踪 fallback 客户端 command-code 在何处被选中,以及本地 http://127.0.0.1:8085/callback 重定向是如何配置的。当 well-known Slack URL 使用官方客户端打开 Slack 授权,并在不使用用户创建的凭据的情况下完成安装时,即视为完成。

由索引模型根据 Issue 内容生成。

评估

领域
authentication, cli
Issue 类型
功能
难度
4/5
预计耗时
3-5 天
活跃度
冷清
描述清晰度
基本清楚
新手友好度
35/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。