Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SLACK_BOT_TOKEN | Yes | Bot User OAuth Token for most operations (starts with xoxb-) | |
| SLACK_USER_TOKEN | No | User OAuth Token for search functionality (starts with xoxp-) |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| 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
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |