MCP Ecommerce

Installation guide

How to install Slack MCP Server

In Claude, ChatGPT, Gemini, Microsoft Copilot, Perplexity, Cursor and Claude Code, with what to check before you start and the first prompts to run.

Slack's MCP server is hosted by Slack at `https://mcp.slack.com/mcp` and uses Streamable HTTP with confidential OAuth. There is nothing to install locally. Each MCP client must be backed by a registered Slack app (directory-published or internal) with a fixed app ID, and users authorize it through the Slack OAuth consent screen. SSE connections and Dynamic Client Registration are not supported.

A Slack workspace admin should approve the client or app through Slack's standard app approval process before anyone connects. The person connecting should use their own Slack account, since tools act with user-token scopes. Start with read scopes only and add write scopes later for supervised tasks.

Slack MCP Server setup guide: Slack's MCP documentation page on docs.slack.dev, shown in a browser frame (agency operations MCP server for e-commerce)
Slack MCP Server setup guide preview: Slack’s documentation on docs.slack.dev, captured Oct 13, 2026. The page may have changed since; the link opens the live version.

Before you start

  • A Slack workspace where an admin can approve the MCP client or app using the standard app approval process.
  • A partner client (Claude.ai, Claude Code, Perplexity or Cursor), or your own client backed by a registered Slack app that is directory-published or internal.
  • For a custom client: the Slack app's client_id and client_secret for confidential OAuth.
  • A test channel for first checks, and read-only scopes to start (for example search and history scopes).
  • If your app has an IP allowlist, the egress IP addresses of the machine or service running your client.
How it runs
Remote, added by URL
Access
Varies by tool
Server address
https://mcp.slack.com/mcp

Slack MCP Server in Claude

  1. Ask a workspace admin to approve Claude through Slack's standard app approval process. The docs list Claude.ai as a partner client.
  2. In Claude.ai or the Claude Desktop app, open Settings > Connectors and look for Slack in the connector list. If you add a custom connector by URL, use https://mcp.slack.com/mcp. The docs point to a dedicated Connect to Claude page for exact steps.
  3. Click Connect and sign in on the Slack OAuth consent screen. Choose the correct workspace.
  4. Review the requested scopes and approve. Keep write scopes such as chat:write, canvases:write, lists:write and files:write out until you need them.
  5. Run a read-only prompt in a test channel to confirm access.
Connector URL
https://mcp.slack.com/mcp

Slack MCP Server in ChatGPT

  1. The Slack documentation does not list ChatGPT as a partner client and has no ChatGPT page, so this route is not covered by the vendor.
  2. If you still want to try it, a Slack app that is directory-published or internal and approved by your admin is required, because only those can use MCP.
  3. In ChatGPT, enable Developer mode and add a custom MCP connector using the URL https://mcp.slack.com/mcp.
  4. Slack does not support Dynamic Client Registration, so the connector must be able to use the app's client_id and client_secret. Check whether ChatGPT allows this before proceeding.
  5. If authorization works, test with a read-only search in a test channel.
Server URL
https://mcp.slack.com/mcp

Slack MCP Server in Gemini

  1. The Slack documentation does not cover Gemini CLI or Gemini app extensions, and Gemini is not a listed partner client.
  2. You would need your own Slack app (directory-published or internal) approved by a workspace admin.
  3. In Gemini CLI, add a remote server under mcpServers in your settings file using the URL https://mcp.slack.com/mcp. Take the exact key names for remote HTTP servers from the Gemini CLI documentation.
  4. Complete OAuth with the app's client_id and client_secret, since Dynamic Client Registration is not supported. Confirm your Gemini setup can do this.
  5. Test with a read-only prompt in a test channel.
settings.json (Gemini CLI, verify key names)
{
  "mcpServers": {
    "slack": {
      "url": "https://mcp.slack.com/mcp"
    }
  }
}

Slack MCP Server in Microsoft Copilot

  1. The Slack documentation does not cover Microsoft Copilot Studio or GitHub Copilot, and neither is a listed partner client.
  2. Prepare a Slack app that is directory-published or internal and approved by a workspace admin.
  3. In VS Code, add a remote server to .vscode/mcp.json under servers with the URL https://mcp.slack.com/mcp. In Copilot Studio, add an MCP tool or custom connector with the same URL.
  4. Slack requires confidential OAuth with the app's client_id and client_secret and does not support Dynamic Client Registration. Confirm your Copilot setup supports that.
  5. Test with a read-only search in a test channel.
.vscode/mcp.json (verify against VS Code docs)
{
  "servers": {
    "slack": {
      "type": "http",
      "url": "https://mcp.slack.com/mcp"
    }
  }
}

Slack MCP Server in Perplexity

  1. Ask a workspace admin to approve Perplexity through Slack's standard app approval process. The docs list Perplexity as a partner client.
  2. In the Perplexity desktop app, open the connectors settings and look for Slack. The Slack docs do not include a Perplexity-specific page, so follow Perplexity's own instructions for exact menu names.
  3. Start the connection and sign in on the Slack OAuth consent screen for the right workspace.
  4. Review the requested scopes and approve read scopes first.
  5. Test with a read-only search in a test channel.
Server URL (if asked)
https://mcp.slack.com/mcp

Slack MCP Server in Cursor

  1. Ask a workspace admin to approve Cursor through Slack's standard app approval process. The docs list Cursor as a partner client and have a Connect to Cursor page.
  2. Open Cursor's MCP settings and add the Slack server, following the Connect to Cursor page for exact values. The endpoint is https://mcp.slack.com/mcp.
  3. Authorize on the Slack OAuth consent screen for the correct workspace.
  4. Review the scopes. Leave write scopes out until needed.
  5. Run a read-only prompt in a test channel to confirm.
mcp.json (verify against Slack's Cursor page)
{
  "mcpServers": {
    "slack": {
      "url": "https://mcp.slack.com/mcp"
    }
  }
}

Slack MCP Server in Claude Code

  1. Ask a workspace admin to approve Claude Code through Slack's standard app approval process. The docs list Claude Code as a partner client.
  2. Run the add command in your terminal using the HTTP transport and the Slack endpoint. Check the Connect to Claude page in the Slack docs for any extra flags, such as app credentials.
  3. Start claude and open the MCP status view with /mcp to start authentication for the slack server.
  4. Sign in on the Slack OAuth consent screen and approve read scopes first.
  5. Run a read-only prompt in a test channel to confirm.
Terminal
claude mcp add --transport http slack https://mcp.slack.com/mcp

Check that it works

Start with questions that only read data. If these answer from your real account, the connection is good.

  • Search Slack for messages containing the word "launch" from the last 7 days in the test channel and summarize the results.
  • Read the last 10 messages in the test channel and list who posted.
  • List the channels I am a member of, names only.

Troubleshooting

+Why does the client fail to connect or say the app is not approved?

Only directory-published or internal Slack apps may use MCP, and a workspace admin must approve the client through the standard app approval process. Ask the admin to check the approval status. Also confirm the client uses a fixed app ID. Unlisted apps are prohibited from using MCP.

+Why does OAuth fail or Dynamic Client Registration produce an error?

Slack does not support Dynamic Client Registration or SSE connections. Use a partner client, or a client that can use your Slack app's `client_id` and `client_secret` for confidential OAuth against `https://mcp.slack.com/mcp` over Streamable HTTP. Metadata discovery files are listed in the Slack docs.

+Why are some tools missing or returning permission errors, or requests rejected?

The tools available depend on the scopes granted on the user token, for example `search:read.public` for search or `chat:write` for sending. Re-authorize with the needed scopes. If your app has an IP allowlist, requests from addresses not on it are rejected, so add your client's IPs.

Written Oct 13, 2026 from the vendor documentation. Exact menus, addresses and commands change; the official documentation is the source of truth.