Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
MATTERMOST_URLNoBase URL of the Mattermost server, e.g. https://mattermost.example.com.
MATTERMOST_CSRFNoThe MMCSRF browser session cookie value used to authenticate.
MATTERMOST_TOKENNoThe MMAUTHTOKEN browser session cookie value used to authenticate.
MATTERMOST_USER_IDNoOptional MMUSERID cookie value identifying the user.
MATTERMOST_AUTH_HELPNoExtra text added to the 401 error, e.g. how cookies are rotated in your setup.
MATTERMOST_TRUST_ENVNoSet to 0 to ignore HTTP(S)_PROXY/ALL_PROXY and connect to Mattermost directly.1
MATTERMOST_COOKIE_TTLNoCookie cache lifetime in seconds.900
MATTERMOST_COOKIE_HOSTNossh host alias whose cookie file is read (or `local` to read the file on this machine). Enables the cookie host source; unset by default (off).
MATTERMOST_COOKIE_PATHNoPath relative to $HOME on the cookie host to the KEY=VALUE cookie file..config/mattermost-mcp/cookie.env
MATTERMOST_COOKIE_CACHENoLocal cache file (mode 0600) for cookies fetched from the cookie host.~/.cache/mattermost-mcp/cookie.cache
MATTERMOST_KEYCHAIN_SERVICENoService name under which the OS keychain stores accounts url, token, csrf and user_id.mattermost-mcp
MATTERMOST_COOKIE_SSH_TIMEOUTNossh connect timeout in seconds when reading the cookie host file.10

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": true
}
logging
{}
prompts
{
  "listChanged": true
}
resources
{
  "subscribe": false,
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_channelsB

List all Mattermost channels the authenticated user is a member of.

get_channel_postsA

Get recent posts from a Mattermost channel, newest first.

get_threadB

Get a post and all its replies.

search_postsA

Full-text search across Mattermost posts, newest first.

Supports Mattermost search syntax (from:username, in:channel-name, before:/after:/on:YYYY-MM-DD, "exact phrase", -excluded). By default skips channels the user has muted in the sidebar — pass include_muted=True to widen the search.

get_direct_messagesA

Get direct message history with a specific user, newest first.

get_mentionsA

Get posts that mention the authenticated user, newest first.

Mentions in muted channels are included by default — mute hides unread badges, not @-mentions. Pass include_muted=False to exclude them.

get_unreadA

Get unread counts and mention badges per channel.

By default skips channels muted in the sidebar (same behavior as the client unread badge). Pass include_muted=True to see every unread.

get_userA

Get a Mattermost user's profile by username.

get_meA

Get the authenticated user and what this server is allowed to do.

Returns {id, username, first_name, last_name, email, status, nickname, position, auth_mode, write_enabled}. auth_mode is "token" or "cookie"; write_enabled tells whether posting/editing tools are available.

list_teamsA

List the teams the authenticated user belongs to.

Returns list of {id, name, display_name}.

get_postB

Get a single post by ID.

get_channelA

Look up a channel by ID, or by its name (the URL slug, e.g. "town-square").

Pass channel_id, or name. With name alone, searches the channels you are a member of; add team_id or team_name to look up any channel in a team.

Returns {id, name, display_name, type, team_id, header, purpose}.

search_usersA

Find users by username, full name, nickname or email prefix.

get_pinned_postsC

Get the posts pinned in a channel.

get_file_infoA

Get metadata of a file attached to a post (see a post's file_ids).

The file content is not downloaded.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.7/5.0

Scored across 15 tools

Disambiguation5/5

Each tool targets a distinct resource and retrieval path: single post (get_post), thread with replies (get_thread), channel history (get_channel_posts), DMs (get_direct_messages), mentions (get_mentions), and search (search_posts) are all clearly differentiated. Channel, user, and team lookups are similarly well-separated, leaving an agent little room for misselection.

Naming Consistency5/5

Consistent snake_case with predictable verb_noun patterns: get_*, list_*, and search_* throughout. The only quirk, get_me, is an idiomatic convenience that still reads as a getter and doesn't break the pattern.

Tool Count5/5

Fifteen tools is a natural fit for a chat workspace, spanning channels, users, teams, posts, search, and files. Every tool has a clear place and none look like filler.

Completeness3/5

Read coverage is thorough (posts, threads, channels, users, teams, files, search), but the surface is entirely read-only: there is no send_post, edit_post, delete_post, or channel-management operation. This is a notable gap for a messaging client, and get_me's write_enabled flag implies posting/editing tools are expected to exist.

Maintenance

ActivityMaintained
ResponsivenessNo issues