Hosted MCP server · #32 most used on Smithery · ✓ verified

Slack

slack

Read Slack conversations, threads, and user directories, send messages, and invite users to channels.

Uses
12k
Tools
11
Runs
Hosted
Listed
12mo ago

Get started

Add it to your agent

npx -y @smithery/cli@latest install slack --client claude

Swap --client claude for cursor, vscode, windsurf or another client. The CLI asks for any required settings.

What it can do

11 tools

Arcade_ListAppsSee the apps the current caller can act on and whether they are connected. Returns each app's id, name, connected state, and (when connec…

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_GetConversationMetadata5 paramsGet metadata of a Channel, a Direct Message (IM / DM) or a Multi-Person (MPIM) conversation. Use this tool to retrieve metadata about a c…

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, usernam

ParameterTypeDescription
emailsarrayThe emails of the users to get the conversation metadata.
user_idsarrayThe IDs of the users to get the conversation metadata.
usernamesarrayThe usernames of the users to get the conversation metadata. Prefer providing user_ids and/or emails, when available, since the performance is better.
channel_namestringThe name of the channel to get metadata for. Prefer providing a conversation_id, when available, since the performance is better.
conversation_idstringThe ID of the conversation to get metadata for
Slack_GetMessages11 paramsGet messages in a Slack Channel, DM (direct message) or MPIM (multi-person) conversation. Provide exactly one of: - conversation_id; or -…

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 t

ParameterTypeDescription
limitintegerThe maximum number of messages to return. Defaults to 20. Maximum is 100.
emailsarrayThe emails of the users in the conversation to get messages from.
user_idsarrayThe IDs of the users in the conversation to get messages from.
usernamesarrayThe usernames of the users in the conversation to get messages from. Prefer providinguser_ids and/or emails, when available, since the performance is better.
next_cursorstringThe cursor to use for pagination.
channel_namestringThe name of the channel to get messages from. Prefer providing a conversation_id, when available, since the performance is better.
conversation_idstringThe ID of the conversation to get messages from. Provide exactly one of conversation_id OR any combination of user_ids, usernames, and/or emails.
latest_datetimestringThe latest message to include in the results, specified as a datetime object in the format 'YYYY-MM-DD HH:MM:SS' or ISO 8601.
latest_relativestringThe latest message to include in the results, specified as a time offset from the current time. Use only the numeric 'DD:HH:MM' format; convert relative phrases to that format before calling this tool
oldest_datetimestringThe oldest message to include in the results, specified as a datetime object in the format 'YYYY-MM-DD HH:MM:SS' or ISO 8601.
oldest_relativestringThe oldest message to include in the results, specified as a time offset from the current time. Use only the numeric 'DD:HH:MM' format; convert relative phrases to that format before calling this tool
Slack_GetThreadMessages12 paramsGet messages in a Slack thread. A thread is a collection of messages grouped together as replies to a parent message. This tool retrieves…

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 m

ParameterTypeDescription
limitintegerThe maximum number of messages to return. Defaults to 20. Maximum is 100.
emailsarrayThe emails of the users in the conversation containing the thread.
user_idsarrayThe IDs of the users in the conversation containing the thread.
thread_tsstringThe timestamp of the parent message that starts the thread. This is the 'ts' field from the parent message.
usernamesarrayThe usernames of the users in the conversation containing the thread. Prefer providing user_ids and/or emails, when available, since the performance is better.
next_cursorstringThe cursor to use for pagination.
channel_namestringThe name of the channel containing the thread. Prefer providing a conversation_id, when available, since the performance is better.
conversation_idstringThe ID of the conversation containing the thread. Provide exactly one of conversation_id OR channel_name OR any combination of user_ids, usernames, and/or emails.
latest_datetimestringThe latest message to include in the results, specified as a datetime object in the format 'YYYY-MM-DD HH:MM:SS' or ISO 8601.
latest_relativestringThe latest message to include in the results, specified as a time offset from the current time. Use only the numeric 'DD:HH:MM' format; convert relative phrases to that format before calling this tool
oldest_datetimestringThe oldest message to include in the results, specified as a datetime object in the format 'YYYY-MM-DD HH:MM:SS' or ISO 8601.
oldest_relativestringThe oldest message to include in the results, specified as a time offset from the current time. Use only the numeric 'DD:HH:MM' format; convert relative phrases to that format before calling this tool
Slack_GetUsersInConversation4 paramsGet 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 c…

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.

ParameterTypeDescription
limitintegerThe maximum number of users to return. Defaults to 200. Maximum is 500.
next_cursorstringThe cursor to use for pagination.
channel_namestringThe name of the channel to get users in. Prefer providing a conversation_id, when available, since the performance is better.
conversation_idstringThe ID of the conversation to get users in.
Slack_GetUsersInfo3 paramsGet the information of one or more users in Slack by ID, username, and/or email. Provide any combination of user_ids, usernames, and/or e…

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

ParameterTypeDescription
emailsarrayThe emails of the users to get
user_idsarrayThe IDs of the users to get
usernamesarrayThe usernames of the users to get. Prefer retrieving by user_ids and/or emails, when available, since the performance is better.
Slack_InviteUsersToChannel5 paramsInvite users to a Slack channel or MPIM (multi-person direct message). This tool invites specified users to join a Slack conversation. It…

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

ParameterTypeDescription
emailsarrayThe email addresses of the people to invite.
user_idsarrayThe Slack user IDs of the people to invite. Up to 100 users may be listed. Provide at least one of user_ids, usernames, or emails.
usernamesarrayThe Slack usernames of the people to invite. Prefer providing user_ids and/or emails when available for better performance.
channel_idstringThe ID of the Slack channel or MPIM (multi-person direct message) to invite users to. Provide exactly one of channel_id OR channel_name.
channel_namestringThe name of the channel to invite users to. Prefer providing a channel_id when available for better performance. Note: MPIMs don't have names, so use channel_id for MPIMs.
Slack_ListConversations3 paramsList metadata for Slack conversations (channels, DMs, MPIMs) the user is a member of. This tool does not return the messages in a convers…

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.

ParameterTypeDescription
limitintegerThe maximum number of conversations to list. Defaults to 200. Maximum is 500.
next_cursorstringThe cursor to use for pagination.
conversation_typesarrayOptionally filter by the type(s) of conversations. Defaults to None (all types).
Slack_ListUsers3 paramsList all users in the authenticated user's Slack team. If you need to get metadata or messages of a conversation, use the `Slack.GetConve…

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.

ParameterTypeDescription
limitintegerThe maximum number of users to return. Defaults to 200. Maximum is 500.
next_cursorstringThe next cursor token to use for pagination.
exclude_botsbooleanWhether to exclude bots from the results. Defaults to True.
Slack_SendMessage8 paramsSend a message to a Channel, Direct Message (IM/DM), or Multi-Person (MPIM) conversation. Can send top-level messages or reply to an exis…

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

ParameterTypeDescription
emailsarrayThe emails of the people to message.
messagestringThe content of the message to send.
user_idsarrayThe Slack user IDs of the people to message.
thread_tsstringThe timestamp of the parent message to reply to in a thread. Use the 'ts' field from the parent message (the first message in the thread), not from a reply. If omitted, the message is sent as a new to
usernamesarrayThe Slack usernames of the people to message. Prefer providing user_ids and/or emails, when available, since the performance is better.
channel_namestringThe channel name to send the message to. Prefer providing a conversation_id, when available, since the performance is better.
conversation_idstringThe conversation ID to send the message to.
reply_broadcastbooleanWhen replying to a thread (thread_ts is set), set to true to also post the reply to the main conversation. Only valid when thread_ts is provided. Defaults to False
Slack_WhoAmIGet comprehensive user profile and Slack information. This tool provides detailed information about the authenticated user including thei…

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.