100+ integrations are ready to connect to your AI.Connect your first MCP

Slack MCP server for your AI

Read channel history and thread replies, post or schedule messages, open DMs, create channels and invite people, then pull the files, profiles and reactions behind any of it.

PopMCPSlack

Summarize what happened in #incidents over the last 24 hours and link the key threads

Supported Slack tools

Every messaging, channel, file, user and admin call PopMCP exposes, plus the workspace events it can watch for. Search by name or browse by module.

slack_conversations_archive

Archive a channel (hides it; reversible with unarchive).

slack_conversations_create

Create a new public or private channel.

slack_conversations_history

Fetch a channel's recent messages (newest first).

slack_conversations_info

Get metadata for one channel.

slack_conversations_invite

Invite one or more users to a channel.

slack_conversations_join

Join a public channel (so the bot can read history / post without chat:write.public).

slack_conversations_list

List channels (and optionally DMs/MPDMs) visible to the token.

slack_conversations_members

List the user ids that belong to a channel.

slack_conversations_open

Open or resume a direct message (one user) or group DM (multiple users), or re-open by channel id.

slack_conversations_replies

Fetch a thread: the parent message plus its replies.

slack_conversations_set_purpose

Set a channel's purpose/description.

slack_conversations_set_topic

Set a channel's topic (the short line under the channel name).

slack_files_info

Get info about a single file (metadata, share locations, comments).

slack_files_list

List files in the workspace, filtered by channel/user/type/time.

slack_files_remote_add

Register an externally-hosted file in Slack by URL (no byte upload needed).

slack_users_conversations

List the channels a given user (or the token's own user/bot) belongs to.

slack_users_get_presence

Get an user's presence (active/away).

slack_users_info

Get a single user's profile + metadata by id.

slack_users_list

List all users in the workspace (members + bots).

slack_users_lookup_by_email

Find an user by their email address (requires users:read.email).

slack_users_profile_get

Get an user's profile fields (display name, title, phone, status, custom fields).

slack_chat_delete

Delete a message by channel + ts.

slack_chat_get_permalink

Get a stable permalink URL for a specific message.

slack_chat_post_ephemeral

Send a message visible to only ONE user in a channel (ephemeral).

slack_chat_post_message

Send a message to a channel, DM, or thread.

slack_chat_schedule_message

Schedule a message for future delivery.

slack_chat_scheduled_messages_list

List pending scheduled messages (optionally filtered to one channel / time range).

slack_chat_update

Edit an existing message (identified by channel + ts).

slack_team_info

Get info about the workspace/team.

slack_usergroups_list

List the workspace's user groups (@-mention groups).

slack_bookmarks_add

Add a bookmark to a channel (a pinned link in the channel header).

slack_bookmarks_list

List a channel's bookmarks.

slack_reactions_add

Add an emoji reaction to a message.

slack_reactions_get

Get the reactions on a single item (message or file).

slack_reactions_remove

Remove an emoji reaction from a message (or file).

slack_pins_add

Pin a message to a channel.

slack_pins_list

List the pinned items in a channel.

slack_search_messages

Search messages with Slack's search syntax (e.g.

slack_emoji_list

List the workspace's custom emoji (name → image URL or alias).

slack_conversations_accept_shared_invite

Accept a Slack Connect channel invite.

slack_conversations_approve_shared_invite

Approve a pending Slack Connect invite (admin gate).

slack_conversations_close

Close a DM or group DM (removes it from the sidebar).

slack_conversations_decline_shared_invite

Decline a Slack Connect invite.

slack_conversations_invite_shared

Send a Slack Connect invite to add an external person/org to a channel.

slack_conversations_kick

Remove a single user from a channel.

slack_conversations_leave

Leave a channel.

slack_conversations_list_connect_invites

List Slack Connect invites sent and received.

slack_conversations_mark

Move the read cursor in a channel to a specific message ts (marks earlier messages read).

slack_conversations_rename

Rename a channel.

slack_conversations_request_shared_invite_approve

Approve a request to add an external user to a channel.

slack_conversations_request_shared_invite_deny

Deny a request to add an external user to a channel.

slack_conversations_request_shared_invite_list

List pending external-user add requests.

slack_conversations_unarchive

Unarchive a previously archived channel.

slack_admin_conversations_archive

Archive a channel.

slack_admin_conversations_bulk_archive

Archive up to 100 channels at once.

slack_admin_conversations_bulk_delete

Delete up to 100 channels at once.

slack_admin_conversations_bulk_move

Move up to 100 channels to another workspace.

slack_admin_conversations_convert_to_private

Convert a public channel to private.

slack_admin_conversations_convert_to_public

Convert a private channel to public.

slack_admin_conversations_create

Create a channel org-wide or in a workspace.

slack_admin_conversations_delete

Delete a channel.

slack_admin_conversations_disconnect_shared

Disconnect a Slack Connect channel from one or more workspaces.

slack_admin_conversations_ekm_list_orig_channels

List EKM-affected originally-connected channel info.

slack_admin_conversations_get_conversation_prefs

Get a channel's posting/permission preferences.

slack_admin_conversations_get_custom_retention

Get a channel's custom message-retention policy.

slack_admin_conversations_get_teams

List the workspaces a channel belongs to.

slack_admin_conversations_invite

Invite users to a channel.

slack_admin_conversations_lookup

Look up channels by workspace with activity filters.

slack_admin_conversations_remove_custom_retention

Remove a channel's custom retention policy (revert to default).

slack_admin_conversations_rename

Rename a channel.

slack_admin_conversations_restrict_access_add_group

Add an IDP group allowed to access a private channel.

slack_admin_conversations_restrict_access_list_groups

List IDP groups gated to a private channel.

slack_admin_conversations_restrict_access_remove_group

Remove an IDP group's access to a private channel.

slack_admin_conversations_search

Search channels across the org.

slack_admin_conversations_set_conversation_prefs

Set a channel's posting/permission preferences.

slack_admin_conversations_set_custom_retention

Set a channel's custom retention (days).

slack_admin_conversations_set_teams

Set which workspaces a channel is shared to.

slack_admin_conversations_unarchive

Unarchive a channel.

slack_admin_users_assign

Add an existing org user to a workspace.

slack_admin_users_invite

Invite an user to a workspace.

slack_admin_users_list

List users on a Grid workspace.

slack_admin_users_remove

Remove an user from a workspace.

slack_admin_users_session_clear_settings

Clear custom session settings for users.

slack_admin_users_session_get_settings

Get session settings for the given users.

slack_admin_users_session_invalidate

Invalidate a single session by id.

slack_admin_users_session_list

List an user's active sessions.

slack_admin_users_session_reset

Wipe all sessions for an user (sign them out everywhere).

slack_admin_users_session_reset_bulk

Bulk-reset sessions for multiple users.

slack_admin_users_session_set_settings

Set session settings (duration, device limits) for users.

slack_admin_users_set_admin

Promote an user to workspace admin.

slack_admin_users_set_expiration

Set a guest account's expiration timestamp.

slack_admin_users_set_owner

Promote an user to workspace owner.

slack_admin_users_set_regular

Demote an user to regular member.

slack_admin_users_unsupported_versions_export

Queue a CSV export of members on unsupported Slack app versions.

slack_files_complete_upload_external

Step 3 of the modern file upload: finalize uploaded file(s) and optionally share them to channels.

slack_files_delete

Delete a file.

slack_files_get_upload_url_external

Step 1 of the modern file upload: get an one-time upload_url + file_id.

slack_files_remote_info

Get info about a remote file.

slack_files_remote_list

List remote files, optionally filtered to a channel / time range.

slack_files_remote_remove

Remove a remote file from Slack.

slack_files_remote_share

Share a remote file into one or more channels.

slack_files_remote_update

Update a remote file's metadata (title, url, type, preview).

slack_files_revoke_public_url

Revoke a file's public URL.

slack_files_shared_public_url

Enable a public (external) URL for a file.

slack_users_delete_photo

Remove the calling user's profile photo.

slack_users_discoverable_contacts_lookup

Check whether an email maps to a discoverable Slack contact.

slack_users_identity

Get the identity of the user who authorized the (user) token — Sign in with Slack.

slack_users_profile_set

Set profile fields.

slack_users_set_photo

Set the calling user's profile photo.

slack_users_set_presence

Manually set the calling user's presence (auto/away).

slack_admin_apps_activities_list

List app activity logs for a team/org.

slack_admin_apps_approve

Approve an app for installation in the org/workspace.

slack_admin_apps_approved_list

List approved apps.

slack_admin_apps_clear_resolution

Clear an app's approved/restricted resolution.

slack_admin_apps_config_lookup

Look up connector-app configs by app ids.

slack_admin_apps_config_set

Set a connector app's config (domain restrictions, workflow auth).

slack_admin_apps_requests_cancel

Cancel an app install request.

slack_admin_apps_requests_list

List app install requests.

slack_admin_apps_restrict

Restrict (block) an app.

slack_admin_apps_restricted_list

List restricted apps.

slack_admin_apps_uninstall

Uninstall an app from workspaces/org.

slack_admin_teams_admins_list

List a workspace's admins.

slack_admin_teams_create

Create a workspace in the org.

slack_admin_teams_list

List the workspaces in the org.

slack_admin_teams_owners_list

List a workspace's owners.

slack_admin_teams_settings_info

Get a workspace's settings.

slack_admin_teams_settings_set_default_channels

Set a workspace's default channels for new members.

slack_admin_teams_settings_set_description

Set a workspace's description.

slack_admin_teams_settings_set_discoverability

Set a workspace's discoverability.

slack_admin_teams_settings_set_icon

Set a workspace's icon.

slack_admin_teams_settings_set_name

Set a workspace's name.

slack_chat_delete_scheduled_message

Cancel a pending scheduled message before it sends.

slack_chat_me_message

Post an italic, /me-style status message to a channel.

slack_chat_unfurl

Attach custom unfurl previews to links already posted in a message (Slack app link unfurling).

slack_canvases_access_delete

Remove access for users/channels on a canvas.

slack_canvases_access_set

Set access level (read/write) for users or channels on a canvas.

slack_canvases_create

Create a standalone canvas.

slack_canvases_delete

Delete a canvas.

slack_canvases_edit

Apply edit operations to a canvas.

slack_canvases_sections_lookup

Find sections in a canvas matching criteria (e.g.

slack_conversations_canvases_create

Create a channel-tab canvas attached to a channel.

slack_team_access_logs

List login access logs (paid plans + admin).

slack_team_billable_info

Per-user billable-activity flags.

slack_team_billing_info

Get the workspace's billing plan info.

slack_team_integration_logs

List app/integration add/remove logs.

slack_team_preferences_list

List the workspace's preference settings.

slack_team_profile_get

Get the workspace's custom profile-field definitions (the schema for users.profile fields).

slack_usergroups_create

Create an user group.

slack_usergroups_disable

Disable (deactivate) an user group.

slack_usergroups_enable

Enable a previously disabled user group.

slack_usergroups_update

Update an user group's name, handle, description, or default channels.

slack_usergroups_users_list

List the member user ids of an user group.

slack_usergroups_users_update

Replace the entire membership of an user group.

slack_calls_add

Register a new Call (a 3rd-party call object Slack can render).

slack_calls_end

End a Call.

slack_calls_info

Get info about a Call.

slack_calls_participants_add

Add participants to a Call.

slack_calls_participants_remove

Remove participants from a Call.

slack_calls_update

Update a registered Call's title/join_url/display id.

slack_admin_emoji_add

Add a custom emoji from an image URL.

slack_admin_emoji_add_alias

Add an alias for an existing custom emoji.

slack_admin_emoji_list

List org custom emoji.

slack_admin_emoji_remove

Remove a custom emoji.

slack_admin_emoji_rename

Rename a custom emoji.

slack_admin_invite_requests_approve

Approve an invite request.

slack_admin_invite_requests_approved_list

List approved invite requests.

slack_admin_invite_requests_denied_list

List denied invite requests.

slack_admin_invite_requests_deny

Deny an invite request.

slack_admin_invite_requests_list

List pending invite requests.

slack_admin_workflows_collaborators_add

Add collaborators to workflows.

slack_admin_workflows_collaborators_remove

Remove collaborators from workflows.

slack_admin_workflows_permissions_lookup

Look up who can run the given workflows.

slack_admin_workflows_search

Search workflows in the org/team.

slack_admin_workflows_unpublish

Unpublish workflows.

slack_dnd_end_dnd

End the current Do Not Disturb session.

slack_dnd_end_snooze

End the current snooze.

slack_dnd_info

Get an user's Do Not Disturb status.

slack_dnd_set_snooze

Turn on Do Not Disturb snooze for N minutes (calling user).

slack_dnd_team_info

Get Do Not Disturb status for multiple users at once.

slack_reminders_add

Create a reminder.

slack_reminders_complete

Mark a reminder complete.

slack_reminders_delete

Delete a reminder.

slack_reminders_info

Get info about a reminder.

slack_reminders_list

List the calling user's reminders.

slack_admin_barriers_create

Create an information barrier between user groups.

slack_admin_barriers_delete

Delete an information barrier.

slack_admin_barriers_list

List information barriers.

slack_admin_barriers_update

Update an information barrier.

slack_admin_usergroups_add_channels

Add default channels to an org user group.

slack_admin_usergroups_add_teams

Associate workspaces with an org user group.

slack_admin_usergroups_list_channels

List an org user group's default channels.

slack_admin_usergroups_remove_channels

Remove default channels from an org user group.

slack_assistant_search_context

Retrieve message/file context relevant to an assistant query.

slack_assistant_threads_set_status

Set the transient 'is typing/thinking…' status in an AI assistant thread.

slack_assistant_threads_set_suggested_prompts

Set suggested prompts in an AI assistant thread.

slack_assistant_threads_set_title

Set the title of an AI assistant thread.

slack_bookmarks_edit

Edit an existing channel bookmark.

slack_bookmarks_remove

Remove a channel bookmark.

slack_reactions_list

List items the user/bot has reacted to.

slack_views_open

Open a modal view for an user.

slack_views_publish

Publish a Home tab view for a specific user.

slack_views_push

Push a new view onto an open modal stack.

slack_views_update

Update an existing modal view.

slack_admin_auth_policy_assign_entities

Assign entities (users) to an auth policy (e.g.

slack_admin_auth_policy_get_entities

List entities assigned to an auth policy.

slack_admin_auth_policy_remove_entities

Remove entities from an auth policy.

slack_admin_functions_list

List custom functions installed by app ids.

slack_admin_functions_permissions_lookup

Look up who can use the given custom functions.

slack_admin_functions_permissions_set

Set who can use a custom function.

slack_admin_roles_add_assignments

Assign a role to users on entities.

slack_admin_roles_list_assignments

List role assignments across the org.

slack_admin_roles_remove_assignments

Remove role assignments.

slack_apps_activities_list

List the app's activity/log entries (custom function & workflow logs).

slack_apps_event_authorizations_list

List the installations a given event is visible to (Enterprise Grid org apps).

slack_apps_uninstall

Uninstall the calling app from the workspace.

slack_auth_revoke

Revoke the token used to make the call (logs the app/user out).

slack_auth_teams_list

List the workspaces an org-wide (Enterprise Grid) app token can act on.

slack_auth_test

Verify the calling token and return its identity: url, team, user, team_id, user_id, bot_id, plus enterprise info.

slack_pins_remove

Unpin a message from a channel.

slack_search_all

Search messages AND files together.

slack_search_files

Search files.

slack_admin_audit_anomaly_allow_get_item

Read the IP/ASN anomaly allow-list.

slack_admin_audit_anomaly_allow_update_item

Write/overwrite the IP/ASN anomaly allow-list.

slack_functions_complete_error

Signal that a custom (workflow) function failed.

slack_functions_complete_success

Signal that a custom (workflow) function finished successfully and return its outputs.

slack_admin_analytics_get_file

Download a daily/member/public-channel analytics export (gzip JSON).

slack_api_test

Health check — echoes back any args you send and confirms connectivity.

slack_bots_info

Get information about a bot user.

slack_migration_exchange

Map local user ids to global (Enterprise Grid) user ids across orgs.

Connect Slack to your AI

Credentials off one Slack screen, then an endpoint your client signs into. Nothing to deploy, and nothing to install.

At api.slack.com/apps: Create New App → From a manifest (it pre-defines every scope), Install to Workspace, then paste the Bot User OAuth Token. Add the User OAuth Token (optional) for search, reminders and admin.*

Bot User OAuth Token••••••••••••3f7a
User OAuth Token (optional)••••••••••••3f7a
ConnectionVerified

Then just ask for the work

  • Summarize what happened in #incidents over the last 24 hours and link the key threads

    • conversations_history
    • conversations_replies
    • chat_get_permalink
  • Add an :eyes: reaction to every unanswered question in #support from today

    • conversations_history
    • conversations_replies
    • reactions_add
  • Spin up a private channel for the Acme migration and invite the platform group

    • conversations_create
    • usergroups_list
    • conversations_invite
  • Which channels is dana@acme.com in, and is she around right now?

    • users_lookup_by_email
    • users_conversations
    • users_get_presence

Use Slack from the assistant you already open

One hosted endpoint, registered once per client. The same tools and the same permissions, whichever window the request comes from.

Claude DesktopCustom connector

Add the PopMCP URL under Settings → Connectors and the tools appear in every chat.

Claude WebCustom connector

The same endpoint, registered in the browser. Nothing to install on the machine you are working from.

ChatGPTCustom connector

Register PopMCP as a custom connector, then let ChatGPT read and update the account.

CodexDesktop & CLI

Wire the endpoint into Codex or the Codex CLI when a task needs live business context, not a fixture.

OpenCodeCoding agent

Register the remote MCP server in OpenCode's config for terminal-first and scripted agent runs.

ZCodeDesktop app

Add PopMCP as an MCP server in Z.ai's desktop app and work the account from the same window.

Slack MCP server questions

What teams ask before putting Slack behind an AI client.

What do I paste in to connect Slack?

One required value: the Bot User OAuth Token from a Slack app you own. The quickest route is api.slack.com/apps, then Create New App → From a manifest, paste the manifest we give you (it pre-defines every scope), Install to Workspace, and copy the token out. There is no OAuth popup to maintain and the token does not expire.

What does the User OAuth Token (optional) field add?

It acts as you rather than as the bot, and it turns on search, reminders, Do-Not-Disturb writes and the admin.* (Enterprise Grid) surface. Leave it blank and the rest still works off the bot token: messaging, channels and DMs, users and user groups, reactions, pins and bookmarks, files, calls, canvases and views. Add it when a request needs one of those extra surfaces.

Does the bot have to be in a channel before it can read it?

A bot token only sees the conversations the bot belongs to, which is why a freshly installed app appears to see almost nothing. conversations_join puts the bot into a public channel so it can read history and post without chat:write.public; a private channel needs someone to invite the app, or conversations_invite run by a token that is already in there. conversations_list is the fastest check on what your token can currently reach.

How many Slack tools show up in my AI client?

39 of the 229 operations load by default; the other 190 stay searchable so the tool list does not swamp your client. They cover 37 API modules — Conversations (26), Admin conversations (25), Admin users (16), Files (13) and Users (12) are the biggest — and split 86 read to 143 write. Turn on the full-catalog toggle if you want everything exposed at once.

Can an agent work with files in the workspace?

Files is one of the larger modules at 13 operations. files_list filters the workspace's files by channel, user, type or time, and files_info returns a single file's metadata, share locations and comments. files_remote_add registers an externally hosted file in Slack by URL, so a link to something already stored elsewhere becomes a Slack file without a byte upload.

Which Slack events can PopMCP watch?

Message-level activity is polled: new message in a channel, new reply in a thread, and file shared. Structural changes come from change detection — channel created, channel archived, teammate joined, teammate deactivated, someone joined or left a channel, reaction added, message pinned, bookmark added and message scheduled. Two admin queues are watchable as well: app install requested and invite request received. The message and thread-reply triggers follow the specific channel or thread you point them at; file shared watches the workspace.

Do I have to run or host the Slack MCP server myself?

No. PopMCP hosts it and gives you a Streamable HTTP MCP URL. There is nothing to deploy, no callback URL to register, and no infrastructure to keep running or patch.

Which AI clients can use this MCP server?

Any client that supports a remote Streamable HTTP MCP server — Claude Desktop, Claude Web, ChatGPT custom connectors, Codex and the Codex CLI, OpenCode and Z.ai's ZCode, as well as editors such as Cursor, Windsurf and Zed. Your client signs in to PopMCP with OAuth; the provider credential never leaves the server.

Why do only 39 of the 229 tools load by default?

Loading 229 tool definitions into every conversation burns context before the work starts. PopMCP loads a curated 39-tool set covering the everyday workflows and keeps the rest searchable, so your AI pulls a specialist tool only when a task needs it. You can switch a connection to the full catalog at any time.

What is the difference between a tool and a trigger?

A tool is something your AI calls — there are 229 here. A trigger is something PopMCP watches for you: 21 Slack events that can start work on the PopMCP side. Triggers never enter your AI client's context, and none of them ask you to paste a callback URL into Slack.

Connect Slack to your AI in minutes

Launch a hosted MCP endpoint for Slack, keep tool access under control, and start testing real workflow prompts right away.

Connect your first MCP