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.

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_idandclient_secretfor 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
- Ask a workspace admin to approve Claude through Slack's standard app approval process. The docs list Claude.ai as a partner client.
- In Claude.ai or the Claude Desktop app, open
Settings > Connectorsand look for Slack in the connector list. If you add a custom connector by URL, usehttps://mcp.slack.com/mcp. The docs point to a dedicated Connect to Claude page for exact steps. - Click Connect and sign in on the Slack OAuth consent screen. Choose the correct workspace.
- Review the requested scopes and approve. Keep write scopes such as
chat:write,canvases:write,lists:writeandfiles:writeout until you need them. - Run a read-only prompt in a test channel to confirm access.
https://mcp.slack.com/mcp
Slack MCP Server in ChatGPT
- 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.
- 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.
- In ChatGPT, enable Developer mode and add a custom MCP connector using the URL
https://mcp.slack.com/mcp. - Slack does not support Dynamic Client Registration, so the connector must be able to use the app's
client_idandclient_secret. Check whether ChatGPT allows this before proceeding. - If authorization works, test with a read-only search in a test channel.
https://mcp.slack.com/mcp
Slack MCP Server in Gemini
- The Slack documentation does not cover Gemini CLI or Gemini app extensions, and Gemini is not a listed partner client.
- You would need your own Slack app (directory-published or internal) approved by a workspace admin.
- In Gemini CLI, add a remote server under
mcpServersin your settings file using the URLhttps://mcp.slack.com/mcp. Take the exact key names for remoteHTTPservers from the Gemini CLI documentation. - Complete OAuth with the app's
client_idandclient_secret, since Dynamic Client Registration is not supported. Confirm your Gemini setup can do this. - Test with a read-only prompt in a test channel.
{
"mcpServers": {
"slack": {
"url": "https://mcp.slack.com/mcp"
}
}
}
Slack MCP Server in Microsoft Copilot
- The Slack documentation does not cover Microsoft Copilot Studio or GitHub Copilot, and neither is a listed partner client.
- Prepare a Slack app that is directory-published or internal and approved by a workspace admin.
- In VS Code, add a remote server to
.vscode/mcp.jsonunderserverswith the URLhttps://mcp.slack.com/mcp. In Copilot Studio, add an MCP tool or custom connector with the same URL. - Slack requires confidential OAuth with the app's
client_idandclient_secretand does not support Dynamic Client Registration. Confirm your Copilot setup supports that. - Test with a read-only search in a test channel.
{
"servers": {
"slack": {
"type": "http",
"url": "https://mcp.slack.com/mcp"
}
}
}
Slack MCP Server in Perplexity
- Ask a workspace admin to approve Perplexity through Slack's standard app approval process. The docs list Perplexity as a partner client.
- 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.
- Start the connection and sign in on the Slack OAuth consent screen for the right workspace.
- Review the requested scopes and approve read scopes first.
- Test with a read-only search in a test channel.
https://mcp.slack.com/mcp
Slack MCP Server in Cursor
- 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.
- 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. - Authorize on the Slack OAuth consent screen for the correct workspace.
- Review the scopes. Leave write scopes out until needed.
- Run a read-only prompt in a test channel to confirm.
{
"mcpServers": {
"slack": {
"url": "https://mcp.slack.com/mcp"
}
}
}
Slack MCP Server in Claude Code
- Ask a workspace admin to approve Claude Code through Slack's standard app approval process. The docs list Claude Code as a partner client.
- Run the add command in your terminal using the
HTTPtransport and the Slack endpoint. Check the Connect to Claude page in the Slack docs for any extra flags, such as app credentials. - Start
claudeand open the MCP status view with/mcpto start authentication for theslackserver. - Sign in on the Slack OAuth consent screen and approve read scopes first.
- Run a read-only prompt in a test channel to confirm.
claude mcp add --transport http slack https://mcp.slack.com/mcpCheck 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.