Slack API MCP server
Post messages, read channels, manage users and files in Slack.
The Slack Web API: conversations, chat, users, files, reactions, pins, reminders, search and admin methods, with your bot or user token.
Why use the hosted one: Every endpoint of Slack's API behind the gateway's search, with your own Slack bot or user token stored encrypted and sent only to Slack.
Needs your Slack bot or user token: add it once in the dashboard (get one at Slack). It is stored encrypted and sent only to that API.
Connect
claude mcp add --transport http hj-slack-api https://mcp.hjlabs.in/mcp/slack-api \
--header "Authorization: Bearer YOUR_API_KEY"Create an API key and put it in place of YOUR_API_KEY. Step-by-step guides: claude.ai and ChatGPT connectors, Claude Code, Cursor, VS Code, Claude Desktop, Windsurf, Zed, OpenAI Codex CLI, Gemini CLI.
All 174 tools
Admin 56 tools
- Approve an app for installation on a workspace.
admin_apps_approve - List approved apps for an org or workspace.
admin_apps_approved_list - List app requests for a team/workspace.
admin_apps_requests_list - Restrict an app for installation on a workspace.
admin_apps_restrict - List restricted apps for an org or workspace.
admin_apps_restricted_list - Archive a public or private channel.
admin_conversations_archive - Convert a public channel to a private channel.
admin_conversations_convert_to_private - Create a public or private channel-based conversation.
admin_conversations_create - Delete a public or private channel.
admin_conversations_delete - Disconnect a connected channel from one or more workspaces.
admin_conversations_disconnect_shared - List all disconnected channels—i.e., channels that were once connected to other
admin_conversations_ekm_list_original_connected_channel_info - Get conversation preferences for a public or private channel.
admin_conversations_get_conversation_prefs - Get all the workspaces a given public or private channel is connected to within
admin_conversations_get_teams - Invite a user to a public or private channel.
admin_conversations_invite - Rename a public or private channel.
admin_conversations_rename - Add an allowlist of IDP groups for accessing a channel
admin_conversations_restrict_access_add_group - List all IDP Groups linked to a channel
admin_conversations_restrict_access_list_groups - Remove a linked IDP group linked from a private channel
admin_conversations_restrict_access_remove_group - Search for public or private channels in an Enterprise organization.
admin_conversations_search - Set the posting permissions for a public or private channel.
admin_conversations_set_conversation_prefs - Set the workspaces in an Enterprise grid org that connect to a public or private
admin_conversations_set_teams - Unarchive a public or private channel.
admin_conversations_unarchive - Add an emoji.
admin_emoji_add - Add an emoji alias.
admin_emoji_add_alias - List emoji for an Enterprise Grid organization.
admin_emoji_list - Remove an emoji across an Enterprise Grid organization
admin_emoji_remove - Rename an emoji.
admin_emoji_rename - Approve a workspace invite request.
admin_invite_requests_approve - List all approved workspace invite requests.
admin_invite_requests_approved_list - List all denied workspace invite requests.
admin_invite_requests_denied_list - Deny a workspace invite request.
admin_invite_requests_deny - List all pending workspace invite requests.
admin_invite_requests_list - List all of the admins on a given workspace.
admin_teams_admins_list - Create an Enterprise team.
admin_teams_create - List all teams on an Enterprise organization
admin_teams_list - List all of the owners on a given workspace.
admin_teams_owners_list - Fetch information about settings in a workspace
admin_teams_settings_info - Set the default channels of a workspace.
admin_teams_settings_set_default_channels - Set the description of a given workspace.
admin_teams_settings_set_description - An API method that allows admins to set the discoverability of a given workspace
admin_teams_settings_set_discoverability - Sets the icon of a workspace.
admin_teams_settings_set_icon - Set the name of a given workspace.
admin_teams_settings_set_name - Add one or more default channels to an IDP group.
admin_usergroups_add_channels - Associate one or more default workspaces with an organization-wide IDP group.
admin_usergroups_add_teams - List the channels linked to an org-level IDP group (user group).
admin_usergroups_list_channels - Remove one or more default channels from an org-level IDP group (user group).
admin_usergroups_remove_channels - Add an Enterprise user to a workspace.
admin_users_assign - Invite a user to a workspace.
admin_users_invite - List users on a workspace
admin_users_list - Remove a user from a workspace.
admin_users_remove - Invalidate a single session for a user by session_id
admin_users_session_invalidate - Wipes all valid sessions on all devices for a given user
admin_users_session_reset - Set an existing guest, regular user, or owner to be an admin user.
admin_users_set_admin - Set an expiration for a guest user
admin_users_set_expiration - Set an existing guest, regular user, or admin user to be a workspace owner.
admin_users_set_owner - Set an existing guest user, admin user, or owner to be a regular user.
admin_users_set_regular
Conversations 18 tools
- Archives a conversation.
conversations_archive - Closes a direct message or multi-person direct message.
conversations_close - Initiates a public or private channel-based conversation
conversations_create - Fetches a conversation's history of messages and events.
conversations_history - Retrieve information about a conversation.
conversations_info - Invites users to a channel.
conversations_invite - Joins an existing conversation.
conversations_join - Removes a user from a conversation.
conversations_kick - Leaves a conversation.
conversations_leave - Lists all channels in a Slack team.
conversations_list - Sets the read cursor in a channel.
conversations_mark - Retrieve members of a conversation.
conversations_members - Opens or resumes a direct message or multi-person direct message.
conversations_open - Renames a conversation.
conversations_rename - Retrieve a thread of messages posted to a conversation
conversations_replies - Sets the purpose for a conversation.
conversations_set_purpose - Sets the topic for a conversation.
conversations_set_topic - Reverses conversation archival.
conversations_unarchive
Files 13 tools
- Deletes an existing comment on a file.
files_comments_delete - Deletes a file.
files_delete - Gets information about a file.
files_info - List for a team, in a channel, or from a user with applied filters.
files_list - Adds a file from a remote service
files_remote_add - Retrieve information about a remote file added to Slack
files_remote_info - Retrieve information about a remote file added to Slack
files_remote_list - Remove a remote file.
files_remote_remove - Share a remote file into a channel.
files_remote_share - Updates an existing remote file.
files_remote_update - Revokes public/external sharing access for a file
files_revoke_public_url - Enables a file for public/external sharing.
files_shared_public_url - Uploads or creates a file.
files_upload
Users 12 tools
- List conversations the calling user may access.
users_conversations - Delete the user profile photo
users_delete_photo - Gets user presence information.
users_get_presence - Get a user's identity.
users_identity - Gets information about a user.
users_info - Lists all users in a Slack team.
users_list - Find a user with an email address.
users_lookup_by_email - Retrieves a user's profile information.
users_profile_get - Set the profile information for a user.
users_profile_set - Marked a user as active.
users_set_active - Set the user profile photo
users_set_photo - Manually sets user presence.
users_set_presence
Chat 10 tools
- Deletes a message.
chat_delete - Deletes a pending scheduled message from the queue.
chat_delete_scheduled_message - Retrieve a permalink URL for a specific extant message
chat_get_permalink - Share a me message into a channel.
chat_me_message - Sends an ephemeral message to a user in a channel.
chat_post_ephemeral - Sends a message to a channel.
chat_post_message - Schedules a message to be sent to a channel.
chat_schedule_message - Returns a list of scheduled messages.
chat_scheduled_messages_list - Provide custom unfurl behavior for user-posted URLs
chat_unfurl - Updates a message.
chat_update
Apps 8 tools
- Get a list of authorizations for the given event context.
apps_event_authorizations_list - Returns list of permissions this app has on a team.
apps_permissions_info - Allows an app to request additional scopes
apps_permissions_request - Returns list of resource grants this app has on a team.
apps_permissions_resources_list - Returns list of scopes this app has on a team.
apps_permissions_scopes_list - Returns list of user grants and corresponding scopes this app has on a team.
apps_permissions_users_list - Enables an app to trigger a permissions modal to grant an app access to a user a
apps_permissions_users_request - Uninstalls your app from a workspace.
apps_uninstall
Usergroups 7 tools
- Create a User Group
usergroups_create - Disable an existing User Group
usergroups_disable - Enable a User Group
usergroups_enable - List all User Groups for a team
usergroups_list - Update an existing User Group
usergroups_update - List all users in a User Group
usergroups_users_list - Update the list of users for a User Group
usergroups_users_update
Calls 6 tools
- Registers a new Call.
calls_add - Ends a Call.
calls_end - Returns information about a Call.
calls_info - Registers new participants added to a Call.
calls_participants_add - Registers participants removed from a Call.
calls_participants_remove - Updates information about a Call.
calls_update
Dnd 5 tools
- Ends the current user's Do Not Disturb session immediately.
dnd_end_dnd - Ends the current user's snooze mode immediately.
dnd_end_snooze - Retrieves a user's current Do Not Disturb status.
dnd_info - Turns on Do Not Disturb mode for the current user, or changes its duration.
dnd_set_snooze - Retrieves the Do Not Disturb status for up to 50 users on a team.
dnd_team_info
Reminders 5 tools
- Creates a reminder.
reminders_add - Marks a reminder as complete.
reminders_complete - Deletes a reminder.
reminders_delete - Gets information about a reminder.
reminders_info - Lists all reminders created by or for a given user.
reminders_list
Team 5 tools
- Gets the access logs for the current team.
team_access_logs - Gets billable users information for the current team.
team_billable_info - Gets information about the current team.
team_info - Gets the integration logs for the current team.
team_integration_logs - Retrieve a team's profile.
team_profile_get
Reactions 4 tools
- Adds a reaction to an item.
reactions_add - Gets reactions for an item.
reactions_get - Lists reactions made by a user.
reactions_list - Removes a reaction from an item.
reactions_remove
Views 4 tools
- Open a view for a user.
views_open - Publish a static view for a User.
views_publish - Push a view onto the stack of a root view.
views_push - Update an existing view.
views_update
Oauth 3 tools
Pins 3 tools
- Pins an item to a channel.
pins_add - Lists items pinned to a channel.
pins_list - Un-pins an item from a channel.
pins_remove
Stars 3 tools
- Adds a star to an item.
stars_add - Lists stars for a user.
stars_list - Removes a star from an item.
stars_remove
Workflows 3 tools
- Indicate that an app's step in a workflow completed execution.
workflows_step_completed - Indicate that an app's step in a workflow failed to execute.
workflows_step_failed - Update the configuration for a workflow extension step.
workflows_update_step
Auth 2 tools
- Revokes a token.
auth_revoke - Checks authentication & identity.
auth_test
Api 1 tool
- Checks API calling code.
api_test
Bots 1 tool
- Gets information about a bot user.
bots_info
Dialog 1 tool
- Open a dialog with a user
dialog_open
Emoji 1 tool
- Lists custom emoji for a team.
emoji_list
Migration 1 tool
- For Enterprise Grid workspaces, map local user IDs to global user IDs
migration_exchange
Rtm 1 tool
- Starts a Real Time Messaging session.
rtm_connect
Search 1 tool
- Searches for messages matching a query.
search_messages
Try asking
Post "deploy finished" to #ops and list who reacted in the last hour.
Usage and limits
Every account gets a free daily allowance of tool calls; connecting, listing and searching are not counted. See the limits. Only a tool that runs costs a call.