Three MCP servers for the Genasis agentic team platform: Mattermost REST API wrapper, Plane REST API wrapper, and trial-app REST API wrapper
This server exhibits critical definition gaps across nearly all 16 tools. Most tools lack complete input schemas visible in source; descriptions are present but often generic or under-specified. Parameter descriptions are sparse or missing entirely. No output schemas documented. Tool naming shows some verb-prefix consistency (post_message, list_posts, create_issue, transition_issue, update_post) but several tools have duplicate names across different backends (post_message appears twice, list_posts twice, create_issue twice, transition_issue twice), creating ambiguity. The server appears to be a multi-backend simulator (Mattermost, Plane, trial-app) but tool definitions are not clearly separated by backend in the schema. Error handling and recovery guidance are absent. Security considerations (secret injection, permission gates) are not evident. Composition is poor, tools do not chain well due to missing output schema documentation.
D-056: devops 가 dev server 띄운 후 호출. 사용자 ShowcasePanel 의 LocalDevServerOrFallback 가 이 URL 을 자동 prefill 해서 iframe 으로 표시. URL 은 localhost:<port> 또는 외부 접근 가능한 주소.
Create a kanban card. Idempotent on title.
Create a Plane issue. Idempotent on name — re-call updates state/assignee instead of creating a duplicate.
List all channels visible to the bot in MM_TEAM_ID.
List all issues in PLANE_PROJECT_ID.
List kanban cards. Use to inspect current state before transitioning.
List recent chat posts in the scrum channel.
Duplicate tool names across backends: post_message, list_posts, create_issue, and transition_issue each appear 2 - 3 times with different backends (Mattermost, Plane, Simulator). LLMs cannot disambiguate which backend a tool targets. Requires namespace prefixing (e.g., mattermost_post_message, plane_create_issue) or explicit backend parameter.
Output schemas are not documented for any tool. LLMs cannot plan downstream calls or extract required fields (e.g., post_id from post_message, issue_id from create_issue). Agents cannot chain tools without guessing response structure.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 50 | 2026-07-28+ | v2 |
List recent posts in a Mattermost channel (default = MM_DEFAULT_CHANNEL_ID).
List the kanban states defined on the project.
Post a chat message to a Mattermost channel. Default channel = MM_DEFAULT_CHANNEL_ID. Use `root_id` to thread under the human's request.
Post a chat message to one of the team's channels. Default channel = scrum. Use `root_id` to thread under an existing message (typically the human's request).
Mark which showcase features are active (e.g. ['accent-red', 'dark-mode']). LRU-append — most recently set wins for visual priority.
Pick which showcase app the panel renders ('quiz' default; 'todo', 'pomodoro', etc.).
Move a Plane issue to a different state. Title-keyed (idempotent on no-op).
Move a kanban card to a new state. Title-keyed (idempotent).
Edit a post the bot owns.
Parameter descriptions are sparse or missing. 'actor' in post_message (Simulator) lacks description; 'root_id' type differs between Mattermost (string) and Simulator (integer) without explanation. 'assignee' in create_issue lacks guidance on null/empty handling. LLMs cannot infer correct parameter usage.
No error handling or recovery guidance. Tools lack descriptions of failure modes, retryability, or next steps. E.g., create_issue claims idempotency on name but does not document what happens if assignee role is invalid or channel does not exist.
Tool composition is broken. list_posts returns recent posts but output schema is undocumented, agent cannot extract post_id to pass to update_post or root_id for threading. create_issue returns unknown structure, agent cannot get issue_id for transition_issue. Missing chaining IDs force discovery detours.