CommandCodeAI / CommandCodeAI/command-code

One-click Slack MCP install: register official OAuth client

Aperta
#610 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Lingua principale
Nessun dato sulla lingua
Stelle
4k
Fork
350
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

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.

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia dal flusso OAuth di cmd mcp add --transport http e confronta i metadati del server di autorizzazione di Slack con il percorso DCR esistente di Notion. Traccia il punto in cui viene selezionato il client di fallback command-code e come viene configurato il reindirizzamento locale http://127.0.0.1:8085/callback. Il lavoro è completato quando l’URL well-known di Slack apre l’autorizzazione Slack con un client ufficiale e completa l’installazione senza credenziali create dall’utente.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Ambito
authentication, cli
Tipo di issue
Funzionalità
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Tranquilla
Chiarezza
Abbastanza chiara
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.