Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
SLACK_USER_TOKENYesYour Slack User OAuth Token (xoxp-…) used to act as you in Slack. The token is read from the SLACK_USER_TOKEN environment variable only and sent in the Authorization header to slack.com/api/.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}

Tools

Functions exposed to the LLM to take actions

NameDescription
conversations_historyA

Messages in a channel or DM as CSV, newest first. limit: a count ('50') or a window ('1d', '2w', '3m', counted from local midnight); leave it empty when passing cursor. A non-empty Cursor column on the last row means more results: pass it back as cursor, which keeps the original window and page size.

conversations_repliesB

A thread (parent plus replies) as CSV. thread_ts: the parent's ts, e.g. 1234567890.123456. limit and cursor work as in conversations_history.

conversations_add_messageB

Post a message as you. content_type: 'text/markdown' (standard markdown, rendered by Slack) or 'text/plain'. blocks: a Block Kit array, which takes precedence; text then becomes the notification fallback. Link and media unfurling is off.

conversations_search_messagesA

Search messages as CSV. search_query may carry Slack modifiers (in:, from:, before:, …) or be a message URL, which returns that one message. Users: ID, @handle or name. Channels: ID or #name. Dates: YYYY-MM-DD, today, yesterday, 'N days ago', 'July 2026' (during: the whole month) or a month name (during only). limit: 1-100; a cursor replays the original query and page size; filters passed with it are ignored.

users_searchA

Find users by ID, handle, display name, real name or email (case-insensitive substring) as CSV, with the DM channel ID when one exists.

channels_listB

Workspace channels as CSV. channel_types: comma-separated public_channel, private_channel, im, mpim. query: case-insensitive substring over query_targets (name, topic, purpose). sort: 'popularity' (member count).

channels_meB

Conversations you are a member of, as CSV. channel_types as in channels_list.

usergroups_listB

User groups (@mention groups) as CSV: id, name, handle, description, user_count, users (if include_users).

usergroups_meA

User groups you belong to, as CSV.

reactions_addB

Add an emoji reaction (name without colons) to a message.

reactions_removeB

Remove your emoji reaction from a message.

schedule_messageB

Schedule a message up to 120 days ahead. post_at: Unix seconds or ISO-8601 with offset.

list_scheduled_messagesC

Your pending scheduled messages, optionally for one channel.

delete_scheduled_messageB

Cancel a scheduled message before it posts.

canvas_createA

Create a canvas from markdown. channel_id tabs it in that channel; omit for a standalone canvas.

canvas_editA

Apply one edit. operation: insert_at_start|insert_at_end|insert_before|insert_after|replace|delete|rename. insert_before/insert_after/delete need section_id (canvas_find_sections); replace without section_id replaces the whole canvas; rename uses markdown_content as the new title.

canvas_find_sectionsB

Find section IDs in a canvas by text and/or type (h1, h2, h3, any_header, list, table, ...).

canvas_readC

A canvas's title and text content.

list_createC

Create a Slack List. schema: [{"key","name","type":"text|date|select|user|...","is_primary_column"?,"options"?}].

list_itemsC

A List's items; include_list also returns its columns (column_id values for writes).

list_item_createB

Add an item. initial_fields: [{"column_id", : value}]; text columns take "rich_text" blocks.

list_items_updateC

Update up to 100 cells: [{"row_id","column_id", : value}].

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.1/5.0

Scored across 22 tools

Disambiguation4/5

Most tools target a clear resource+action (reactions_add/remove, canvas_create/edit/read, conversations_history/replies/search). The main confusion is the 'list_' prefix colliding between Slack Lists (list_create, list_items, list_item_create) and the verb 'list' (list_scheduled_messages, usergroups_list, channels_list), which can mislead at a glance. Descriptions largely resolve this, so ambiguity is minor.

Naming Consistency3/5

The server mixes noun_verb (canvas_read, usergroups_list, reactions_add, schedule_message, list_create) with verb_noun (list_scheduled_messages, delete_scheduled_message, canvas_find_sections, users_search, channels_list). Individual names are readable but there's no single predictable pattern, and the overloaded 'list' token adds noise.

Tool Count4/5

22 tools is on the heavy side but justified by covering several distinct Slack surfaces (canvas, lists, usergroups, reactions, scheduling, conversations, users, channels). Each tool maps to a real operation with little redundancy, so it stays reasonable for a product as broad as Slack.

Completeness3/5

Core read/write workflows are present (post, schedule, search, react, canvases, lists), but notable gaps exist: no edit/delete for posted messages, no channel management (create/join/leave), no file upload/download, and reactions only cover add/remove. These are workable-around but leave the surface incomplete for full Slack automation.

Maintenance

ActivityMaintained
ResponsivenessNo issues