Docs · Updated 2026-10-07
Slack — tool reference
Read Slack conversations and message text using an existing app's bot token. Needs your credentials.
Server URL: https://toolcargo.com/mcp/slack · Scope: connector:slack. Included with Site Audit; each successful tool call uses one shared plan call. Failed calls do not consume monthly quota.
Connect your bot
Use an existing Slack workspace app that you control. In OAuth & Permissions, add the bot scopes below, reinstall the app to your workspace, and copy its Bot User OAuth Token (starts xoxb-). Your workspace administrator may need to approve the app or scopes. Open Slack connection settings to enter it. ToolCargo does not create or install Slack apps for you.
Setup calls auth.test to verify a bot identity, then requests one public-channel listing to verify channels:read. The account label is the workspace ID. The token is encrypted for this ToolCargo account; disconnect deletes it. Credentials are never supplied through an MCP tool. User tokens, app-level tokens and token rotation/refresh are not supported; reconnect if the token expires.
For public channels, grant channels:read and channels:history. Invite the bot to every channel whose messages you want it to read. Private channels need groups:read and groups:history; bot direct messages need im:read and im:history; multi-person direct messages need mpim:read and mpim:history. User names require users:read. Email read and write scopes are not needed.
slack_list_conversations
One page of unarchived conversations, with IDs, names, topic, purpose and membership flags. type selects public_channel (default), private_channel, im or mpim. limit 1–100 (default 15). A listed public channel can still be inaccessible for message history if the bot is not a member. An empty page can have a continuation cursor; pass next_cursor as cursor on the next call.
{ "type": "public_channel", "limit": 15 }slack_conversation_info
Details for one conversation ID, using the matching read scope. No membership or channel settings are changed.
{ "channel": "C1234567890" }slack_conversation_history
One page of at most 15 message records from a conversation the bot belongs to. Returns text, Slack timestamp, author ID and recorded thread/reply counts. Optional oldest and latest Slack timestamps filter exclusively between those boundaries. Preserve these filters when paging with cursor. Slack retention may hide older messages.
{ "channel": "C1234567890", "limit": 15, "oldest": "1712345678.000001" }slack_thread_replies
Parent and replies in an accessible conversation thread, using channel and parent ts. One page, at most 15 records. Slack's current conversations.replies reference lists bot history scopes for public channels, private channels, direct messages and multi-person direct messages. Grant the matching history scope; token access and workspace policies still apply.
{ "channel": "C1234567890", "ts": "1712345678.000001", "limit": 15 }slack_user_info
Resolve a user ID using users:read. Returns names, timezone and bot/deactivated flags; omits email, phone and custom profile fields.
{ "user": "U1234567890" }Access, content and rate limits
Only fixed read methods at https://slack.com/api are contacted. Nothing is sent, edited, deleted or joined. One page per request, no automatic retries or background fetching. A provider page with more rows than requested or an unusable continuation cursor is rejected before success; records are never silently dropped while advancing the cursor. Slack applies method-specific limits: history and replies may be limited to one request per minute and 15 objects for new commercially distributed non-Marketplace apps; internal customer-built and Marketplace apps have different limits. Wait and retry when Slack rate-limits you.
Message text is bounded to 12,000 characters per record with a truncation flag. Attachments, Block Kit structures, files and downloads are omitted; summaries may miss information in them. Slack content is untrusted external data. Authentication rejection marks the connection as needing reconnecting; a scope or membership error does not.
This is original ToolCargo code using the official Slack Web API, without paid proxies. It is not an official Slack integration. Mock and local endpoint acceptance do not prove access to your workspace; a real Slack call requires your bot token and has not been verified on a provider account.
Set up Slack
Review connection instructions, required credentials and plan limits before connecting your agent.