Slack
Read Slack conversations, threads, and user directories, send messages, and invite users to channels.
What it can do
- Arcade ListApps: See the apps the current caller can act on and whether they are connected. Returns each app's id, name, connected state, and (when connected) the account it is connected as. Call this
- Slack GetConversationMetadata: Get metadata of a Channel, a Direct Message (IM / DM) or a Multi-Person (MPIM) conversation. Use this tool to retrieve metadata about a conversation with a conversation_
- Slack GetMessages: Get messages in a Slack Channel, DM (direct message) or MPIM (multi-person) conversation. Provide exactly one of: - conversation_id; or - channel_name; or - any combination of user_
What data it sees
Do you need an account
No: the server works without sign-in
Read Slack conversations, threads, and user directories, send messages, and invite users to channels.
How to connect
How to connect Slack to Claude
The server address to paste into Claude settings:
https://slack.run.tools
- Open Claude (claude.ai or the desktop app).
- Go to Settings → Connectors.
- Click Add custom connector.
- Paste the server address copied below into Remote MCP server URL and click Add.
- In a chat, click + → Connectors and switch the new connector on.
Custom connectors are available on Free, Pro, Max, Team and Enterprise plans (Free is limited to one). On Team and Enterprise an organization Owner adds the connector first under Organization settings → Connectors.
Authorization
After you click Add, a sign-in window for the service opens. Sign in with your own account and approve access. Claude never sees your password.
How to connect Slack to ChatGPT
The server address to paste into ChatGPT settings:
https://slack.run.tools
- Open ChatGPT in a browser (chatgpt.com). A Plus, Pro, Business, Enterprise or Edu plan is required.
- Turn on developer mode once: Settings → Apps → Advanced settings → Developer mode.
- Open Settings → Connectors and click Create.
- Fill in the form: Name (anything), Description (one line about what the service does), MCP server URL (copy it below).
- Under Authentication choose OAuth if the service requires sign-in, otherwise None. Click Create.
- In a new chat open + → Apps/Connectors and enable the connector.
OpenAI has renamed this section before (Connectors → Apps/Plugins). If the label differs, search settings for "developer mode". On Business/Enterprise workspaces an admin must allow custom connectors first.
Authorization
On first use ChatGPT opens the service's sign-in window. Sign in and approve access.
How to connect Slack to Cursor
The server address to paste into Cursor settings:
https://slack.run.tools
Fastest: click Open in Cursor below and confirm the prompt.
Manually:
- In Cursor open Settings → Cursor Settings → MCP and click Add new global MCP server.
- Paste the JSON copied below into
~/.cursor/mcp.json(per project:.cursor/mcp.jsonin the repo root). - Save the file. The server appears in the MCP list; authorize it there if asked.
Authorization
If the service needs sign-in, an authorize button appears next to the server in the MCP list.
Server tool list (11)
Raw names from tools/list. Only developers need these.
| Arcade_ListApps | See the apps the current caller can act on and whether they are connected. Returns each app's id, name, connected state, and (when connected) the account it is connected as. Call this to answer "what apps do I have?" or when the caller's connection state may have changed since the session started. |
| Slack_GetConversationMetadata | Get metadata of a Channel, a Direct Message (IM / DM) or a Multi-Person (MPIM) conversation. Use this tool to retrieve metadata about a conversation with a conversation_id, a channel name, or by the user_id(s), username(s), and/or email(s) of the user(s) in the conversation. This tool does not return the messages in a conversation. To get the messages, use the 'Slack.GetMessages' tool instead. Provide exactly one of: - conversation_id; or - channel_name; or - any combination of user_ids, usernames, and/or emails. |
| Slack_GetMessages | Get messages in a Slack Channel, DM (direct message) or MPIM (multi-person) conversation. Provide exactly one of: - conversation_id; or - channel_name; or - any combination of user_ids, usernames, and/or emails. To filter messages by an absolute datetime, use 'oldest_datetime' and/or 'latest_datetime'. If only 'oldest_datetime' is provided, it will return messages from the oldest_datetime to the current time. If only 'latest_datetime' is provided, it will return messages since the beginning of the conversation to the latest_datetime. To filter messages by a relative datetime, use 'oldest_relative' and/or 'latest_relative' with numeric `DD:HH:MM` offsets only. Convert relative phrases to `DD:HH:MM` before calling this tool. If only 'oldest_relative' is provided, it will return messages from the oldest_relative to the current time. If only 'latest_relative' is provided, it will return messages from the current time to the latest_relative. Do not provide both 'oldest_datetime' and 'oldest_relative' or both 'latest_datetime' and 'latest_relative'. Leave all arguments with the default None to get messages without date/time filtering |
| Slack_GetThreadMessages | Get messages in a Slack thread. A thread is a collection of messages grouped together as replies to a parent message. This tool retrieves all messages in a specific thread, identified by the parent message's timestamp (thread_ts). Provide exactly one of: - conversation_id; or - channel_name; or - any combination of user_ids, usernames, and/or emails. To filter messages by an absolute datetime, use 'oldest_datetime' and/or 'latest_datetime'. If only 'oldest_datetime' is provided, it will return messages from the oldest_datetime to the current time. If only 'latest_datetime' is provided, it will return messages since the beginning of the thread to the latest_datetime. To filter messages by a relative datetime, use 'oldest_relative' and/or 'latest_relative' with numeric `DD:HH:MM` offsets only. Convert relative phrases to `DD:HH:MM` before calling this tool. If only 'oldest_relative' is provided, it will return messages from the oldest_relative to the current time. If only 'latest_relative' is provided, it will return messages from the current time to the latest_relative. Do not provide both 'oldest_datetime' and 'oldest_relative' or both 'latest_datetime' and 'latest_relative'. Leave all datetime arguments with the default None to get all thread messages without date/time filtering. |
| Slack_GetUsersInConversation | Get the users in a Slack conversation (Channel, DM/IM, or MPIM) by its ID or by channel name. Provide exactly one of conversation_id or channel_name. Prefer providing a conversation_id, when available, since the performance is better. |
| Slack_GetUsersInfo | Get the information of one or more users in Slack by ID, username, and/or email. Provide any combination of user_ids, usernames, and/or emails. If you need to retrieve data about multiple users, DO NOT CALL THE TOOL MULTIPLE TIMES. Instead, call it once with all the user_ids, usernames, and/or emails. If you need to get metadata or messages of a conversation, use the `Slack.GetConversationMetadata` or `Slack.GetMessages` tool instead. These tools accept user_ids, usernames, and/or emails. Do not retrieve users' info first, as it is inefficient. |
| Slack_InviteUsersToChannel | Invite users to a Slack channel or MPIM (multi-person direct message). This tool invites specified users to join a Slack conversation. It works with: - Public channels - Private channels - MPIMs (multi-person direct messages / group DMs) You can specify users by their user IDs, usernames, or email addresses. Provide exactly one of channel_id or channel_name, and at least one of user_ids, usernames, or emails. The tool will resolve usernames and emails to user IDs before inviting them. Up to 100 users may be invited at once. |
| Slack_ListConversations | List metadata for Slack conversations (channels, DMs, MPIMs) the user is a member of. This tool does not return the messages in a conversation. To get the messages, use the 'Slack.GetMessages' tool instead. |
| Slack_ListUsers | List all users in the authenticated user's Slack team. If you need to get metadata or messages of a conversation, use the `Slack.GetConversationMetadata` tool or `Slack.GetMessages` tool instead. These tools accept a user_id, username, and/or email. Do not use this tool to first retrieve user(s), as it is inefficient. |
| Slack_SendMessage | Send a message to a Channel, Direct Message (IM/DM), or Multi-Person (MPIM) conversation. Can send top-level messages or reply to an existing thread. Provide exactly one of: - channel_name; or - conversation_id; or - any combination of user_ids, usernames, and/or emails. In case multiple user_ids, usernames, and/or emails are provided, the tool will open a multi-person conversation with the specified people and send the message to it. To reply to a thread, also provide thread_ts (the 'ts' field of the parent message). Optionally set reply_broadcast to true to also post the reply to the main conversation. |
| Slack_WhoAmI | Get comprehensive user profile and Slack information. This tool provides detailed information about the authenticated user including their name, email, profile picture, and other important profile details from Slack services. |