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 摘要。