A Model Context Protocol server for Mattermost
The server defines 3 tools with explicit names, descriptions, and JSON Schema input parameters. However, descriptions are generic and do not address the selection criteria, error recovery, or LLM-friendly guidance required by production patterns. Parameter descriptions are present but minimal. Output schemas are not documented anywhere in the codebase. Tool names follow verb_noun convention (mattermost_channels, mattermost_fetch, mattermost_search) but descriptions are shallow and do not differentiate the tools well. No error handling guidance, no field chaining IDs documented, and no pagination limits documented despite tools accepting 'limit' parameters.
Fetch channels from Mattermost. return json of channels information.
Fetch messages from Mattermost channels. return json of messages grouped by channel.
Search messages from Mattermost channels. return json of messages grouped by channel.
Tool descriptions are generic and do not explain selection criteria or when to call each tool instead of alternatives
No documented output schema; LLMs cannot predict return fields or plan downstream tool calls
Parameter descriptions are minimal and lack constraint details (e.g., 'limit' has no maximum value documented in description text, only JSON Schema minimum=1)
No error handling guidance; responses do not instruct LLMs what to do if a tool fails (e.g., 'channel not found, try mattermost_channels first')
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 49 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 43 | - | v1 |
Tool names do not clearly distinguish between them; 'mattermost_fetch' and 'mattermost_search' both retrieve messages but the difference is not clear from the names alone
mattermost_fetch accepts a 'channels' parameter with default behavior ('uses the default channels' per description) but the default is never specified; LLMs cannot predict behavior if parameter is omitted
No pagination guidance; tools accept 'limit' parameter but do not document whether results can be paginated, how many results are returned by default, or what the maximum safe limit is
Date parameters in mattermost_search ('before', 'after', 'on') document format as 'yyyy-mm-dd' in description but do not clarify timezone handling or whether partial dates are valid