Skip to main content
Glama
bcharleson

Slack MCP Server

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
SLACK_BOT_TOKENYesBot User OAuth Token for most operations (starts with xoxb-)
SLACK_USER_TOKENNoUser OAuth Token for search functionality (starts with xoxp-)

Capabilities

Server capabilities have not been inspected yet.

Tools

Functions exposed to the LLM to take actions

NameDescription
list_channels
    List all accessible Slack channels in the workspace.

    Args:
        types: Comma-separated channel types to include.
               Options: public_channel, private_channel, mpim, im
               Default: "public_channel,private_channel"
        exclude_archived: Whether to exclude archived channels. Default: True
        limit: Maximum number of channels to return (1-1000). Default: 100

    Returns:
        Dictionary containing list of channels with their details
    
get_channel_info
    Get detailed information about a specific Slack channel.

    Args:
        channel_id: The ID of the channel (e.g., "C01234567")

    Returns:
        Dictionary containing channel details including name, topic,
        purpose, member count, and creation date
    
create_channel
    Create a new Slack channel.

    Args:
        name: Name for the new channel (max 80 chars, lowercase,
              no spaces, use hyphens instead)
        is_private: Whether to create a private channel. Default: False

    Returns:
        Dictionary containing the created channel's details
    
archive_channel
    Archive a Slack channel.

    Args:
        channel_id: The ID of the channel to archive (e.g., "C01234567")

    Returns:
        Dictionary indicating success or error
    
get_channel_history
    Fetch message history from a Slack channel.

    Args:
        channel_id: The ID of the channel (e.g., "C01234567")
        limit: Maximum number of messages to return (1-1000). Default: 20
        oldest: Unix timestamp of oldest message to include (optional)
        latest: Unix timestamp of latest message to include (optional)

    Returns:
        Dictionary containing list of messages with sender, text,
        timestamp, and thread info
    
join_channel
    Join a Slack channel.

    Args:
        channel_id: The ID of the channel to join (e.g., "C01234567")

    Returns:
        Dictionary indicating success or error with channel info
    
leave_channel
    Leave a Slack channel.

    Args:
        channel_id: The ID of the channel to leave (e.g., "C01234567")

    Returns:
        Dictionary indicating success or error
    
set_channel_topic
    Set the topic for a Slack channel.

    Args:
        channel_id: The ID of the channel (e.g., "C01234567")
        topic: The new topic text for the channel

    Returns:
        Dictionary indicating success with the new topic
    
post_message
    Post a message to a Slack channel.

    Args:
        channel_id: The ID of the channel to post to (e.g., "C01234567")
        text: The message text to post (supports Slack markdown)
        thread_ts: Optional thread timestamp to reply in a thread
        unfurl_links: Whether to unfurl text-based URLs. Default: True
        unfurl_media: Whether to unfurl media URLs. Default: True

    Returns:
        Dictionary containing the posted message details including timestamp
    
reply_to_thread
    Reply to a message thread in Slack.

    Args:
        channel_id: The ID of the channel containing the thread (e.g., "C01234567")
        thread_ts: The timestamp of the parent message to reply to
        text: The reply message text (supports Slack markdown)
        broadcast: Whether to also post the reply to the channel. Default: False

    Returns:
        Dictionary containing the posted reply details
    
get_thread_replies
    Get all replies in a message thread.

    Args:
        channel_id: The ID of the channel containing the thread (e.g., "C01234567")
        thread_ts: The timestamp of the parent message
        limit: Maximum number of replies to return (1-1000). Default: 20

    Returns:
        Dictionary containing the thread messages
    
add_reaction
    Add an emoji reaction to a message.

    Args:
        channel_id: The ID of the channel containing the message (e.g., "C01234567")
        timestamp: The timestamp of the message to react to
        emoji: The emoji name without colons (e.g., "thumbsup", "heart", "rocket")

    Returns:
        Dictionary indicating success or error
    
remove_reaction
    Remove an emoji reaction from a message.

    Args:
        channel_id: The ID of the channel containing the message (e.g., "C01234567")
        timestamp: The timestamp of the message
        emoji: The emoji name without colons (e.g., "thumbsup", "heart", "rocket")

    Returns:
        Dictionary indicating success or error
    
get_message_reactions
    Get all reactions on a specific message.

    Args:
        channel_id: The ID of the channel containing the message (e.g., "C01234567")
        timestamp: The timestamp of the message

    Returns:
        Dictionary containing the message and its reactions
    
update_message
    Update an existing message.

    Args:
        channel_id: The ID of the channel containing the message (e.g., "C01234567")
        timestamp: The timestamp of the message to update
        text: The new message text

    Returns:
        Dictionary indicating success with updated message details
    
delete_message
    Delete a message from a channel.

    Args:
        channel_id: The ID of the channel containing the message (e.g., "C01234567")
        timestamp: The timestamp of the message to delete

    Returns:
        Dictionary indicating success or error
    
send_dm
    Send a direct message to a user.

    Args:
        user_id: The ID of the user to message (e.g., "U01234567")
        text: The message text to send (supports Slack markdown)

    Returns:
        Dictionary containing the sent message details
    
list_conversations
    List direct message and group DM conversations.

    Args:
        types: Comma-separated conversation types. Default: "im,mpim"
               Options: im (1:1 DMs), mpim (group DMs)
        limit: Maximum number of conversations to return. Default: 50

    Returns:
        Dictionary containing list of DM conversations
    
get_dm_history
    Fetch message history from a DM or group DM conversation.

    Args:
        channel_id: The ID of the DM conversation (e.g., "D01234567")
        limit: Maximum number of messages to return (1-1000). Default: 20
        oldest: Unix timestamp of oldest message to include (optional)
        latest: Unix timestamp of latest message to include (optional)

    Returns:
        Dictionary containing list of messages
    
open_dm
    Open a direct message or group DM conversation.

    Args:
        user_ids: Comma-separated user IDs to open a conversation with
                  (e.g., "U01234567" for DM, "U01234567,U07654321" for group DM)

    Returns:
        Dictionary containing the conversation channel details
    
search_messages
    Search messages across the Slack workspace.

    Note: Requires a User Token (SLACK_USER_TOKEN) as search is not
    available with bot tokens.

    Args:
        query: Search query string. Supports Slack search modifiers:
               - "in:#channel" to search in specific channel
               - "from:@user" to search messages from a user
               - "has:reaction" to find messages with reactions
               - "before:YYYY-MM-DD" or "after:YYYY-MM-DD" for date filters
               Example: "project update in:#general from:@john"
        sort: Sort order - "timestamp" or "score". Default: "timestamp"
        sort_dir: Sort direction - "asc" or "desc". Default: "desc"
        count: Number of results to return (1-100). Default: 20

    Returns:
        Dictionary containing search results with messages and metadata
    
search_files
    Search files across the Slack workspace.

    Note: Requires a User Token (SLACK_USER_TOKEN) as search is not
    available with bot tokens.

    Args:
        query: Search query string. Supports Slack search modifiers:
               - "in:#channel" to search in specific channel
               - "from:@user" to search files from a user
               - "type:pdf" to filter by file type
               Example: "quarterly report type:pdf in:#finance"
        sort: Sort order - "timestamp" or "score". Default: "timestamp"
        sort_dir: Sort direction - "asc" or "desc". Default: "desc"
        count: Number of results to return (1-100). Default: 20
        types: Comma-separated file types to filter (optional)
               Options: images, videos, pdfs, docs, snippets, etc.

    Returns:
        Dictionary containing search results with files and metadata
    
search_all
    Search both messages and files across the Slack workspace.

    Note: Requires a User Token (SLACK_USER_TOKEN) as search is not
    available with bot tokens.

    Args:
        query: Search query string. Supports Slack search modifiers.
        sort: Sort order - "timestamp" or "score". Default: "timestamp"
        sort_dir: Sort direction - "asc" or "desc". Default: "desc"
        count: Number of results per type (1-100). Default: 10

    Returns:
        Dictionary containing both message and file search results
    
list_users
    List all users in the Slack workspace.

    Args:
        limit: Maximum number of users to return (1-1000). Default: 100
        include_locale: Include locale information for users. Default: False

    Returns:
        Dictionary containing list of users with their profiles
    
get_user_info
    Get detailed information about a specific user.

    Args:
        user_id: The ID of the user (e.g., "U01234567")

    Returns:
        Dictionary containing detailed user profile information
    
get_user_presence
    Get the presence/online status of a user.

    Args:
        user_id: The ID of the user (e.g., "U01234567")

    Returns:
        Dictionary containing user presence information
    
lookup_user_by_email
    Find a user by their email address.

    Args:
        email: The email address to look up

    Returns:
        Dictionary containing the user's profile if found
    
get_user_profile
    Get the profile information for a user.

    Args:
        user_id: The ID of the user (e.g., "U01234567")

    Returns:
        Dictionary containing detailed profile fields
    
get_bot_info
    Get information about the authenticated bot user.

    Returns:
        Dictionary containing bot identity information
    
get_team_info
    Get information about the Slack workspace/team.

    Returns:
        Dictionary containing workspace information
    

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/bcharleson/slack-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server