Connect your AI Agents to Slack in minutes

Merge lets you securely connect your agents to Slack and thousands of tools instantly

Available tools

list_channels

List all channels in the workspace

create_channel

Create a new channel

get_channel_info

Get information about a channel using Channel ID (not channel name)

join_channel

Join a channel

leave_channel

Leave a channel

archive_channel

Archive a channel

unarchive_channel

Unarchive a channel

get_channel_members

Get members of a channel

invite_to_channel

Invite users to a channel

kick_from_channel

Remove a user from a channel

set_channel_topic

Set the topic for a channel

set_channel_purpose

Set the purpose for a channel

rename_channel

Rename a channel

get_file_info

Get information about a file

list_files

List files in the workspace

delete_file

Delete a file

share_file

Share a file to channels

get_file_content

Get the content of a text file

make_file_public

Make a file publicly accessible

revoke_file_public_url

Revoke public access to a file

post_message

Send a message to a Slack channel using Channel ID (not channel name)

update_message

Update an existing message in Slack

delete_message

Delete a message from Slack

get_message_permalink

Get a permanent link to a message

get_conversation_history

Get message history from a channel using Channel ID with enhanced timestamp filtering. For time windows: use Unix timestamps (oldest='1640995200.123456', latest='1640995300.123456') OR convenient parameters (days_ago=7, hours_ago=24, start_date='2023-12-01', end_date='2023-12-15'). Set inclusive=True to include boundary messages.

schedule_message

Schedule a message to be sent later

delete_scheduled_message

Delete a scheduled message

add_reaction

Add an emoji reaction to a message

remove_reaction

Remove an emoji reaction from a message

get_conversation_replies

Get all replies in a Slack thread. This tool MUST be called whenever you encounter a message with reply_count > 0 from get_conversation_history, search_messages, or any message-fetching tool to provide complete conversation context. When presenting results to users, always display username/display_name instead of user_id for better readability.

list_unread_direct_messages

Get all unread direct messages and group DMs with their message content. When presenting results to users, always display username/display_name instead of user_id for better readability.

list_unread_channel_messages

Get all unread messages from channels with their message content. Uses smart prioritization to check most recently active channels first. When presenting results to users, always display username/display_name instead of user_id for better readability.

list_scheduled_messages

List scheduled messages that haven't been sent yet

get_unread_messages_from_channel

Get all unread messages from a specific channel. Uses the channel's last_read timestamp to accurately identify unread messages. When presenting results to users, always display username/display_name instead of user_id for better readability.

get_unread_messages_from_user

Get all unread direct messages from a specific user. When presenting results to users, always display username/display_name instead of user_id for better readability.

post_message_by_name

Send a message to a person or channel by name instead of ID. Resolves display name, real name, username, or channel name to the correct ID and sends the message. Use this when you have a person's name but not their Slack user/channel ID.

list_pinned_messages

List all pinned messages and items in a channel

pin_message

Pin a message to a channel

unpin_message

Remove a pinned message from a channel

search_messages

Search Slack messages using Slack's exact search syntax with enhanced timestamp filtering. For time windows: use date modifiers (after:YYYY-MM-DD, before:YYYY-MM-DD) OR convenient parameters (days_ago=7, hours_ago=24, start_date='2023-12-01', end_date='2023-12-15'). IMPORTANT: When using from:@username, NEVER guess usernames - use list_users tool first to find the exact username/display name. Returns paginated results.

search_files

Search for files across Slack using keywords with enhanced timestamp handling and automatic pagination. Supports channel filtering, file type filtering, and efficient date-based searches. IMPORTANT: When using from:@username, NEVER guess usernames - use list_users tool first to find the exact username/display name.

get_user_info

Get complete user information including workspace role, permissions, and profile

list_users

List all users in the workspace

lookup_user_by_email

Look up a user by their email address

get_user_presence

Get a user's presence status

set_user_presence

Set your own presence status (auto or away)

set_user_profile

Set profile information for a user

get_users_conversations

Get conversations a user is a member of

set_user_status

Set status text and emoji for a user. Only sends emoji parameter when provided (not null/empty).

clear_user_status

Clear the status for a user

validate_credential

Validate Slack credentials. Verifies credentials during setup.

View all tools by creating a free accountSee more tools

How to set up Merge Agent Handler

In an mcp.json file, add the configuration below, and restart Cursor.

Learn more in the official documentation ↗

1{
2  "mcpServers": {
3    "agent-handler": {
4      "url": "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
5      "headers": {
6        "Authorization": "Bearer yMt*****"
7      }
8    }
9  }
10}
11
Copy Code

Open your Claude Desktop configuration file and add the server configuration below. You'll also need to restart the application for the changes to take effect.

Make sure Claude is using the Node v20+.

Learn more in the official documentation ↗

1{
2  "mcpServers": {
3    "agent-handler": {
4      "command": "npx",
5      "args": [
6        "-y",
7        "mcp-remote@latest",
8        "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
9        "--header",
10        "Authorization: Bearer ${AUTH_TOKEN}"
11      ],
12      "env": {
13        "AUTH_TOKEN": "yMt*****"
14      }
15    }
16  }
17}
Copy Code
Copied!

Open your Windsurf MCP configuration file and add the server configuration below.
Click on the refresh button in the top right of the Manage MCP server page or in the top right of the chat box in the box icon.

Learn more in the official documentation ↗

1{
2    "mcpServers": {
3      "agent-handler": {
4        "command": "npx",
5        "args": [
6          "-y",
7          "mcp-remote@latest",
8          "https://ah-api.merge.dev/api/v1/tool-packs/<tool-pack-id>/registered-users/<registered-user-id>/mcp",
9          "--header",
10          "Authorization: Bearer ${AUTH_TOKEN}"
11        ],
12        "env": {
13          "AUTH_TOKEN": "<ah-production-access-key>"
14        }
15      }
16    }
17  }
Copy Code

In Command Palette (Cmd+Shift+P on macOS, Ctrl+Shift+P on Windows), run "MCP: Open User Configuration".

You can then add the configuration below and press "start" right under servers. Enter the auth token when prompted.

Learn more in the official documentation ↗

1{
2  "inputs": [
3    {
4      "type": "promptString",
5      "id": "agent-handler-auth",
6      "description": "Agent Handler AUTH_TOKEN", // "yMt*****" when prompt
7      "password": true
8    }
9  ],
10  "servers": {
11    "agent-handler": {
12      "type": "stdio",
13      "command": "npx",
14      "args": [
15        "-y",
16        "mcp-remote@latest",
17        "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
18        "--header",
19        "Authorization: Bearer ${input:agent-handler-auth}"
20      ]
21    }
22  }
23}
Copy Code

FAQs on using Merge's Slack  MCP server

FAQs on using Merge's Slack  MCP server

How can I use the Slack MCP server?

The Slack MCP server allows AI agents to search channels and files, send and read messages, fetch user profiles, and much more.

To use Slack with Merge Agent Handler, you'd use Agent Handler’s standard flow:

  • Add Slack to a Tool Pack: Create or configure a Tool Pack and add the Slack connector with the specific tools you want to enable (e.g., list_channels, post_message)
  • Set up authentication: Choose between individual authentication (user-specific Slack credentials) and shared authentication (organization-level access)
  • Register users: Create registered users in Agent Handler who’ll interact with Slack through your agent
  • Authenticate via Merge Link: When a user first attempts a Slack tool call, Agent Handler automatically prompts them through a guided authentication flow using Merge Link
  • Make tool calls: Once you've authenticated your agent, it can execute Slack tool calls with built-in security, observability, and DLP safeguards

What are popular tools for Slack’s MCP server?

Search tools

  • Search messages and files: Filter by date, user, and type; retrieve metadata and content
  • Search users: Filter by name, partial name, email, or ID; retrieve user details and status
  • Search private and public channels: Filter by name/description; retrieve channel metadata

Messaging tools

  • Send messages: Send to any Slack conversation
  • Read channels: Retrieve full message history
  • Read threads: Retrieve entire threaded conversations

User management

  • Fetch user profiles: Retrieve full profile metadata, including custom fields

What makes Merge Agent Handler’s Slack MCP server better than alternative Slack MCP servers?

Secure authentication & credential handling

Merge Agent Handler provides built-in authentication flows, user onboarding, and dynamic authorization handling so Slack credentials are managed securely and consistently.

Granular security with data loss prevention (DLP)

The Security Gateway actively scans Slack tool inputs and outputs for sensitive information and can block, redact, or mask data. This protects against data misuse across Slack interactions.

Real-time observability with fully-searchable logs

Agent Handler logs every tool call and underlying Slack API request. These server Logs are fully searchable, allowing you to easily debug, audit, and optimize your agentic workflows with Slack.

Connector Studio for customization

Merge Agent Handler’s Slack MCP server already includes 50+ tools. But you can modify existing ones and add any with ease.

How does Merge Agent Handler manage authentication?

Merge handles all Slack credential workflows—including onboarding prompts, dynamic authorization flows, and individual vs. shared authentication configuration—through Merge Agent Handler and built-in auth logic.

For each connector in a Tool Pack, you can determine whether Slack requires individual authentication or can use shared authentication.

Can I set custom security rules for Slack tool calls?

Yes. Agent Handler supports:

  • Default DLP rules
  • Custom rules that scan Slack tool inputs and responses for sensitive data
  • Actions, including block, redact, or mask

For example, you can set rules that block post_message calls that contain credit card numbers before they're sent to Slack channels; redact social security numbers from search_messages responses; and log any get_user_profile calls that access employee phone numbers.

What are common use cases for the Slack MCP server?

  • Knowledge retrieval: An AI agent can search Slack message history, threads, and channels to answer questions, surface past decisions, and provide context
  • Automated notifications and updates: Agents can post status updates, such as daily summaries, to specific channels based on data from connected systems (e.g., issues in Jira)
  • Workflow orchestration: Agents can coordinate cross-platform actions, like creating an Asana ticket from a Slack conversation and then posting the ticket link back to the thread
  • Meeting and event coordination: Agents can parse Slack discussions to identify scheduling needs, check availability across calendar systems, and send meeting confirmations to relevant channels or users
  • Customer support triage: Agents can monitor support channels, categorize requests, and route issues to the appropriate team members

Explore other MCP servers built and managed by Merge

ukg_pro
UKG Pro
vercel
Vercel
vestaboard
Vestaboard
visualping
VisualPing
whoop
WHOOP
weather
Weather
webflow
Webflow
wikipedia
Wikipedia
wix
Wix
wordpress
WordPress
workday
Workday
x
X
xero
Xero
yelp
Yelp
youtube
YouTube
zendesk
Zendesk
zendesk_sell
Zendesk Sell
zohocrm
Zoho CRM
zohodesk
Zoho Desk
zoom
Zoom
zoominfo
ZoomInfo
biorxiv
bioRxiv
n8n
n8n

Ready to try it out?

Whether you're an engineer experimenting with agents or a product manager looking to add tools, you can get started for free now