> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mcpmanager.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Connect Slack

> Connect Slack's MCP server to MCP Manager: create a Slack app, request the user scopes its tools need, publish it to the Slack Marketplace or keep it internal, then add the server at https://mcp.slack.com/mcp with your app's Client ID and Client Secret using confidential OAuth.

Slack exposes an official MCP server at `https://mcp.slack.com/mcp`, but it doesn't connect with a single OAuth click. It uses **confidential OAuth**: you register a Slack app, request the scopes its tools need, and supply that app's **Client ID** and **Client Secret**. Slack mints a per-user token from those credentials when each person approves access.

<Note>
  When you connect the Slack MCP URL, MCP Manager's [authentication
  detection](/mcp-server-guides/overview#how-mcp-manager-detects-the-authentication-type) lands on **OAuth with client pre-registration** — Slack's
  MCP server is a confidential OAuth client, so it won't accept a dynamically registered client. You supply your own app's Client ID and Client Secret
  rather than approving with nothing in hand.
</Note>

<Info>
  This guide is a convenience based on Slack's setup at the time of writing. **Slack's own [MCP server
  documentation](https://docs.slack.dev/ai/slack-mcp-server/) is authoritative** and may be more current. The requirements below — creating a Slack
  app, choosing scopes, and publishing or keeping the app internal — come from Slack, not from MCP Manager. If a step here has drifted or a connection
  problem is specific to how Slack works, **Slack support** is the fastest path to an answer.
</Info>

## Before you start

The bulk of the work happens on Slack's side, in the [Slack API portal](https://api.slack.com/apps). Bring the following before you open MCP Manager:

* **A Slack app you control.** Slack's MCP server only accepts a registered app with a fixed app ID. Create one at api.slack.com/apps, or use an existing one for your workspace.
* **A published or internal app.** Slack restricts MCP to apps published in the **Slack Marketplace** or to **internal** apps built for your own organization. Unlisted apps are rejected — this is the most common blocker.
* **The user scopes the tools need.** Slack's MCP tools run on a per-user token, so you request **user** scopes on the app. Request only what your team will use.
* **Your app's Client ID and Client Secret.** Both live under **Basic Information → App Credentials** in the Slack app settings. You'll paste them into MCP Manager.
* **Admin approval, if required.** Workspace and Enterprise Grid admins approve and manage MCP client apps. If you're not an admin, line one up.

<Tip>
  Request the narrowest set of scopes that covers your use case. Slack maps each tool to specific user scopes, so a read-only deployment can skip
  `chat:write` and the `canvases:write` scope entirely, and grant them later if needs change.
</Tip>

## Connect the server

<Steps>
  <Step title="Create or open your Slack app">
    In the [Slack API portal](https://api.slack.com/apps), create a new app (or open an existing one) for the workspace you want MCP Manager to reach. This app's fixed app ID is what Slack uses to approve, log, and rate-limit the connection.
  </Step>

  <Step title="Request the user scopes your tools need">
    Under **OAuth & Permissions**, add **user token scopes** for the Slack tools your team will use. Common scopes:

    | Scope                 | Grants                            |
    | --------------------- | --------------------------------- |
    | `search:read.public`  | Search public channel messages    |
    | `search:read.private` | Search private channels you're in |
    | `channels:history`    | Read public channel history       |
    | `groups:history`      | Read private channel history      |
    | `chat:write`          | Send messages                     |
    | `canvases:read`       | Read Slack canvases               |
    | `canvases:write`      | Create and edit canvases          |
    | `users:read`          | Read member profiles              |

    Scopes drive exactly which MCP tools work, so omit write scopes for a read-only connection.
  </Step>

  <Step title="Publish the app or keep it internal">
    Slack only allows MCP for apps in the **Slack Marketplace** or for **internal** apps scoped to your own organization. Submit the app to the
    Marketplace, or configure it as an internal app, before it can use `mcp.slack.com`. Unlisted apps are blocked.
  </Step>

  <Step title="Copy the Client ID and Client Secret">
    Open **Basic Information → App Credentials** and copy the **Client ID** and **Client Secret**. These are the confidential OAuth credentials MCP
    Manager needs. Treat the Client Secret like a password.
  </Step>

  <Step title="Add the server in MCP Manager">
    On the [Servers](https://app.mcpmanager.ai/settings/servers) page, add a server, paste the URL `https://mcp.slack.com/mcp`, and click **Continue**. Detection resolves to **OAuth with client pre-registration**; provide the values it asks for:

    ```text Credentials theme={null}
    Client ID:     <your-slack-app-client-id>
    Client Secret: <your-slack-app-client-secret>
    ```

    MCP Manager stores both encrypted and uses them to run Slack's OAuth flow. Each user who connects then approves the Slack consent screen, and Slack issues a token tied to their own identity and permissions. The server's tools are now available to add to a gateway.
  </Step>
</Steps>

## Gotchas & things to keep in mind

* **Unlisted apps don't work.** Slack only accepts MCP requests from Marketplace-published or internal apps with a fixed app ID. A throwaway unlisted app will be rejected no matter how its scopes are set — publish it or scope it as internal first.
* **The token is per user, not shared.** Slack uses confidential OAuth to mint a token for each person who approves, so every action reflects that user's own Slack permissions and identity. This favors **per-user identity** over a single shared credential — see [per-user versus shared identity](/security/authentication-and-identity#per-user-identity-versus-shared-identity).
* **Scopes gate the tools.** If a Slack tool returns a permission error, the app is missing the matching user scope. Add it under OAuth & Permissions, then have affected users re-authorize so the new scope is granted.
* **Use the exact path.** The endpoint is `https://mcp.slack.com/mcp`. The host alone won't connect — include the `/mcp` path.
* **Admins can revoke at any time.** Workspace and Enterprise Grid admins approve and manage MCP client apps centrally. If a connection stops working, check whether an admin has paused or removed approval for the app.
* **Standard Web API rate limits apply.** Slack's MCP tools are subject to the same rate limits as the corresponding Web API methods, so high-volume agents should expect throttling.

## Further reading

<CardGroup cols={2}>
  <Card title="Find & Connect MCP Servers" icon="compass" href="/mcp-server-guides/overview">
    How MCP Manager detects authentication type, and how to find other servers' URLs.
  </Card>

  <Card title="How MCP Manager authenticates" icon="key" href="/security/authentication-and-identity#how-mcp-manager-authenticates-to-a-server">
    What OAuth with client pre-registration means for the credentials you just supplied.
  </Card>

  <Card title="Identities for remote servers" icon="id-badge" href="/mcp-gateway-concepts/mcp-servers/remote#identities-for-remote-servers">
    Per-user versus shared identity for a server connected over OAuth.
  </Card>

  <Card title="Connect your AI client" icon="plug" href="/tutorials/connect-your-ai-client">
    Point Claude, Cursor, or another client at the gateway once Slack is connected.
  </Card>
</CardGroup>

## External sources

<CardGroup cols={2}>
  <Card title="Slack MCP server overview" icon="slack" href="https://docs.slack.dev/ai/slack-mcp-server/">
    Slack's authoritative developer reference for the MCP server — endpoint, confidential OAuth, scopes, and app requirements.
  </Card>

  <Card title="Guide to the Slack MCP server" icon="book" href="https://slack.com/help/articles/48855576908307-Guide-to-the-Slack-MCP-server">
    Slack's help-center overview of what the MCP server can do and how to connect approved client apps.
  </Card>
</CardGroup>
