Atlas reads Slack channel history through Slack's official hosted MCP server at https://mcp.slack.com/mcp, so it can absorb an incident thread or a design debate before it starts writing code. Setup requires a registered Slack app: put its client ID and client secret in the mcp.slack.oauth block of atlas.json, run atlas mcp auth slack, and have a workspace admin approve the connection.
What Atlas reads from Slack
Atlas reads Slack channel history through Slack's official hosted MCP server at https://mcp.slack.com/mcp, so it can absorb an incident thread or a design debate before it starts writing code. In 2026 that means the last 50 messages in #incidents become context rather than a copy and paste job.
Most of the reasoning behind a code change never reaches the code. It happens in Slack: the argument about which approach to take, the moment somebody spotted the bad deploy, the decision to roll back. Giving Atlas read access to Slack channel history through Slack's official hosted MCP server means the agent starts from what your team already worked out, instead of rediscovering it from an empty prompt. The integration is deliberately about reading. The value is context, not another bot posting in your channels.
Registering a Slack app, which Slack requires
In 2026, Slack setup has one extra step compared with most MCP servers: Slack requires MCP clients to be backed by a registered Slack app with a fixed app ID, so put its client ID and client secret in the mcp.slack.oauth block of atlas.json before you run atlas mcp auth slack.
Servers like Linear's support dynamic client registration and hand you a token with no app to create. Slack does not work that way. Slack requires MCP clients to be backed by a registered Slack app with a fixed app ID, so create the app first, take its client ID and client secret, and write them into the mcp.slack.oauth block of atlas.json. Only then does atlas mcp auth slack have something to authenticate as. Getting this order wrong is the usual first failure.
The transport: streamable HTTP, not SSE
Slack's hosted MCP server speaks JSON-RPC over streamable HTTP only and does not support SSE. Register it with atlas mcp add slack --url https://mcp.slack.com/mcp, and do not reach for an SSE transport option, because Slack will not answer on one in 2026.
Transport confusion is common because several MCP servers still offer both SSE and streamable HTTP, and older tutorials assume SSE is the default. Slack's hosted server is streamable HTTP only. The registration command, atlas mcp add slack --url https://mcp.slack.com/mcp, is all you need, and any attempt to force an SSE connection to mcp.slack.com is wasted effort. If the handshake fails, look at the Slack app credentials and the workspace approval, not at the transport.
Workspace admin approval
A workspace admin must approve the Slack connection, because Slack gates MCP access at the workspace level rather than per user, a rule that still holds in 2026. Until that approval lands, no amount of client configuration in atlas.json will give Atlas access to channel history.
Workspace level gating is a governance decision on Slack's side, and it is worth knowing before you start rather than after. One developer cannot quietly wire an agent into company chat. The Slack app has to exist, and an admin has to approve the connection for the workspace. Plan for that conversation as part of the setup, and bring the read-only framing to it: Atlas is pulling channel history to understand an incident, not gaining the ability to talk in #general.
The daily loop: read the incident thread first
Ask Atlas to pull the last 50 messages from #incidents and summarize what broke before it opens the repository. Reading the Slack thread first is the whole discipline: the humans already diagnosed the outage in chat, and Atlas should start from their conclusion, not from a blank slate.
A good prompt against the Slack integration names the channel and the range. Pull the last 50 messages from #incidents, summarize what broke, then go look at the code. Atlas reconstructs the timeline from the thread, including the half formed theories people abandoned, which are often the fastest route to the real cause. The summary it produces is also a useful artifact on its own: it is the first draft of an incident writeup, assembled from the messages your team actually sent.
A self-hosted, strictly read-only Slack server
For a self-hosted stdio path, run the community korotovsky/slack-mcp-server with SLACK_MCP_XOXP_TOKEN set. Exactly 1 environment variable decides write access: leave SLACK_MCP_ADD_MESSAGE_TOOL unset and the server stays strictly read-only, so Atlas can read Slack history but never post.
Teams that cannot get a hosted MCP connection approved, or that want a hard guarantee about writes, can run korotovsky/slack-mcp-server locally over stdio. Set SLACK_MCP_XOXP_TOKEN for authentication. The critical detail is the variable you do not set: leaving SLACK_MCP_ADD_MESSAGE_TOOL unset keeps the server strictly read-only. That makes the guarantee structural instead of a policy in a document, which is usually what a security reviewer is asking for.
Do not use the archived Slack MCP package
The @modelcontextprotocol/server-slack package is archived and should not be used for new Atlas setups in 2026. Point at Slack's official hosted server at https://mcp.slack.com/mcp, or run the community korotovsky/slack-mcp-server yourself, and skip the archived package entirely.
Search results still surface @modelcontextprotocol/server-slack, and it will appear to install fine, which is what makes it a trap. It is archived. New Atlas setups should use one of the two maintained paths: Slack's official hosted MCP server at https://mcp.slack.com/mcp, or the community korotovsky/slack-mcp-server run over stdio. Choosing a maintained server now is much cheaper than migrating off an abandoned one after it stops matching Slack's API.
Setup
- 01Add Slack's official hosted MCP server with atlas mcp add slack --url https://mcp.slack.com/mcp, which speaks JSON-RPC over streamable HTTP only and does not support SSE.
- 02Register a Slack app with a fixed app ID, then put its client ID and client secret in the mcp.slack.oauth block of atlas.json before running atlas mcp auth slack.
- 03Have a workspace admin approve the connection, because Slack gates MCP access at the workspace level.
- 04Ask Atlas to pull the last 50 messages from #incidents and summarize what broke before it opens the repo.
- 05For a self-hosted stdio path, run the community korotovsky/slack-mcp-server with SLACK_MCP_XOXP_TOKEN and leave SLACK_MCP_ADD_MESSAGE_TOOL unset to keep it strictly read-only.
- 06Do not use @modelcontextprotocol/server-slack, which is archived and should not be used for new setups.
Frequently asked questions
- how to connect Atlas to Slack
- Run atlas mcp add slack --url https://mcp.slack.com/mcp, put your Slack app's client ID and client secret in the mcp.slack.oauth block of atlas.json, run atlas mcp auth slack, then have a workspace admin approve it.
- why does the Slack MCP server need a registered Slack app
- Slack requires MCP clients to be backed by a registered Slack app with a fixed app ID. Its client ID and client secret go in the mcp.slack.oauth block of atlas.json.
- does the Slack MCP server support SSE
- No. Slack's official hosted MCP server speaks JSON-RPC over streamable HTTP only and does not support SSE.
- can I make the Slack MCP server read-only
- Yes. Run the community korotovsky/slack-mcp-server with SLACK_MCP_XOXP_TOKEN and leave SLACK_MCP_ADD_MESSAGE_TOOL unset, which keeps the server strictly read-only.
- why can Atlas not see my Slack channels
- Slack gates MCP access at the workspace level, so a workspace admin has to approve the connection. Without that approval, the Slack app credentials in atlas.json are not enough.
- is modelcontextprotocol server-slack still maintained
- No. @modelcontextprotocol/server-slack is archived and should not be used for new setups. Use Slack's hosted server at https://mcp.slack.com/mcp or korotovsky/slack-mcp-server.
- how do I get Atlas to summarize a Slack incident thread
- Ask Atlas to pull the last 50 messages from #incidents and summarize what broke before it opens the repo. It reads channel history through the Slack MCP server.
Try Atlas in your terminal
The terminal-native AI coding agent. Free core, single binary.
Install AtlasRelated guides
Atlas with Fireworks AI (gateway) in 2026: Buying Latency with Money
Fireworks AI (gateway) serves Atlas open models with fast-router tiers: DeepSeek V4 Flash at $0.14 / $0.28 per Mtok on a 1,000,000 token context.
Atlas with DeepSeek Chat: 384,000 Token Output at $0.28 per Mtok in 2026
Run Atlas on DeepSeek Chat in 2026. DeepSeek's non-reasoning endpoint gives 1M tokens (1,000,000) of context at $0.14 per Mtok input, $0.28 per Mtok output.
Atlas vs Tabby: Terminal AI Coding Agents in 2026
Atlas and Tabby comparison for 2026. Atlas offers terminal-native TUI with permission-gated tools and diff review. Tabby provides self-hosted GPU completion and a cloud agent.
Atlas for Node.js in 2026
Node.js developers in 2026 can adopt Atlas, the terminal-native AI coding agent, for secure, efficient development. Leverage local embeddings, AST indexing, and robust safety features.
Atlas for Angular in 2026
Adopt Atlas, the terminal-native AI coding agent, for your Angular projects in 2026. Enhance development with intelligent code search, secure local embeddings, and granular control over AI actions.
Atlas with SiliconFlow in 2026: Qwen3 Coder 480B at $0.25/$1.00 per Mtok
Atlas with SiliconFlow in 2026: Qwen3-Coder-480B-A35B at $0.25/$1.00 per Mtok, a free Qwen3.5-4B small_model, and the api.siliconflow.cn residency question.
Atlas with DeepInfra: The Cheapest Open-Weights Host for an Agent Loop in 2026
Run Atlas on DeepInfra: GPT OSS 120B at $0.037/$0.17 per Mtok, DeepSeek V4 Flash at a 1,048,576 token window for $0.09 input. Setup, limits, and cost math.
Atlas with DeepSeek-R1 (local via Ollama): Visible Reasoning at Every Size in 2026
DeepSeek-R1 runs locally from 1.5B to 671B under one Ollama tag, with a 128K to 164K context, free self-hosted, or $1.35 / $5.40 per Mtok via Bedrock. Atlas setup.