Slack

Slack

Let your AI work in Slack: find channels and people, read channel history and threads, catch up on what was said, post messages and thread replies, and react with emoji. One workspace, through a Slack app you install yourself.

7-day free trial · No credit card · EU-hosted

Ask Slack anything

Try a real prompt against Slack via AnythingMCP — Claude calls the tools, returns the answer. Press Enter on your own message to install on Cloud.

Install Slack on Cloud
Slack · live via MCP
Share
Opus 4.7

Claude is AI and can make mistakes. Please double-check responses.

Setup in 2 minutes

  1. 1Start a free trial on cloud.anythingmcp.com.
  2. 2Click Slack in the connector store. Paste credentials when prompted.
  3. 3Mint an MCP API key and point your AI client at the generated MCP URL.
Install Slack now

Guides for Slack

Step-by-step setup for the most popular AI clients.

Setting up Slack

From the connector definition itself: where to find the credentials, what they need to be allowed to do, and which API this adapter talks to.

Slack

This connector works in one Slack workspace through the Slack Web API (https://slack.com/api): list channels and people, read channel history and threads, post messages and replies, and add reactions. It authenticates with a token from a Slack app that you create and install in your own workspace (about 5 minutes).

Setup

  1. Open https://api.slack.com/apps → Create New App → From a manifest → pick the workspace.
  2. Paste this manifest (JSON) and click Create:
{
  "display_information": {
    "name": "AnythingMCP"
  },
  "features": {
    "bot_user": {
      "display_name": "AnythingMCP",
      "always_online": false
    }
  },
  "oauth_config": {
    "scopes": {
      "bot": [
        "channels:read",
        "channels:history",
        "channels:join",
        "groups:read",
        "groups:history",
        "im:read",
        "im:history",
        "mpim:read",
        "mpim:history",
        "chat:write",
        "reactions:write",
        "users:read"
      ]
    }
  },
  "settings": {
    "org_deploy_enabled": false,
    "socket_mode_enabled": false,
    "token_rotation_enabled": false
  }
}
  1. Install App → Install to Workspace and allow. If the workspace only lets admins install apps, Slack sends an approval request to a workspace admin instead.
  2. OAuth & Permissions → Bot User OAuth Token (starts with xoxb-): paste it into SLACK_TOKEN and install the connector.
  3. Keep token rotation off (as in the manifest): with rotation on, the token expires every 12 hours and a pasted token stops working.

Bot token or user token

  • A bot token (xoxb-, the default) acts as the app: messages are posted by "AnythingMCP", and it reads the history of a channel only once the app is a member. Public channels: slack_join_channel, or /invite @AnythingMCP in the channel. Private channels, group DMs: invite the app with /invite @AnythingMCP.
  • A user token (xoxp-) acts as the person who installed the app: it sees every conversation that person sees and posts in their name. To get one, add the same scopes plus search:read under oauth_config.scopes.user in the manifest (App Manifest page), reinstall, and paste the User OAuth Token instead. Only a user token can search, so slack_search_messages is installed switched off: turn it on when you use a user token.
  • Add users:read.email to the scopes if the AI should see people's email addresses.

Conversations and ids: every call takes ids, not names: channel ids start with C (public), G (some private), D (direct messages); user ids with U or W. Look them up with slack_list_conversations and slack_list_users. types chooses what is listed: public_channel (default), private_channel, mpim (group DMs), im (direct messages), comma-separated.

Messages, threads and timestamps: a message is identified by its channel and its ts (e.g. 1712345678.123456), which is also its time in Unix seconds. A reply to a thread has thread_ts set to the parent's ts; slack_get_thread_replies with the parent's ts returns the parent followed by the replies, and slack_post_message with thread_ts replies in the thread. oldest and latest bound the history in Unix seconds. Messages use Slack mrkdwn (*bold*, _italic_, <https://example.com|link text>, <@U123> to mention someone); text should stay under 4,000 characters.

Pagination: lists return response_metadata.next_cursor; pass it as cursor with the same other arguments while it is not empty. has_more says whether more history exists. Search pages with page (see messages.paging).

Rate limits: per method and per workspace. conversations.list and users.list allow about 20 calls a minute, conversations.history and conversations.replies about 50 a minute for an app installed in your own workspace, chat.postMessage about one message per second per channel. Over a limit Slack answers HTTP 429 with a Retry-After header.

Errors: Slack answers HTTP 200 with "ok": false and an error code; the connector reports these as errors.

  • invalid_auth, not_authed, token_revoked, token_expired, account_inactive: the token is wrong, was revoked, or the app was uninstalled. Paste a fresh token.
  • missing_scope (the needed field names the scope): add the scope to the app, reinstall it, and paste the new token if it changed.
  • not_in_channel: the app is not a member of the channel; join it or invite the app.
  • channel_not_found: a wrong id, or a private conversation the token cannot see.
  • not_allowed_token_type: the method needs the other kind of token (search needs a user token).
  • is_archived, msg_too_long, no_text, already_reacted, invalid_name (emoji names go without colons): fix the input.

Out of scope here: editing or deleting messages, files, channel management beyond joining, user groups, Slack Connect administration and Enterprise Grid org-wide installs.

Your AI is two clicks away from Slack.

Install the connector, paste your credentials, ask your AI a question. 7-day free trial, no credit card.