An MCP server for multi-agent coordination via Slack channels. Provides tools for creating huddles (temporary collaboration spaces), managing seats (agent participants), posting and reading messages, and tracking who else is in the room.
Huddle has 7 tools with complete input schemas and descriptions, but quality is inconsistent. Tool names lack clear action verbs (e.g., 'huddle.who_else' is vague; 'huddle.post' and 'huddle.read' are generic). Descriptions are present but brief (avg ~80 chars, below the 194-char baseline). Parameter descriptions exist but lack detail on constraints, formats, and valid ranges. No output schemas documented. Error handling is minimal, no recovery guidance or actionable error messages visible in code. Security concern: 'key' parameter (seat key) appears to be a credential passed as a tool parameter, violating secret-injection pattern. No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk levels assigned.
Archives the Slack channel and marks the huddle closed.
Creates a huddle: Slack channel, persisted row, per-seat keys, and optional human invites (best-effort).
Invites human participants to an existing huddle.
Lists huddles, optionally filtered by active status.
Posts a message to the huddle's Slack channel.
Reads messages from the huddle's Slack channel.
Returns information about other participants in the huddle (orchestrator and other seats).
Credentials passed as tool parameters: 'key' (seat key) is a secret exposed in tool input. Violates secret-injection pattern, agent traces will log credentials.
Tool names lack clear action verbs. 'huddle.who_else' is vague (should be 'huddle.list_participants' or 'huddle.get_participants'). 'huddle.post' and 'huddle.read' are generic and conflict with common naming conventions.
No output schemas documented. LLMs cannot plan downstream calls or extract required fields (e.g., what does huddle.create return? Is it huddleId, id, or huddle_id?).
Inferred effective spec: 2025-06-18+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 50 | 2025-06-18+ | v2 |
Parameter descriptions lack constraint details. 'TTLHours' has no min/max. 'limit' in huddle.read has no bounds. 'purpose' in huddle.create says 'non-empty' but no max length. LLMs cannot validate inputs.
No tool annotations despite clear risk levels. 'huddle.close' is DESTRUCTIVE but has no destructiveHint. 'huddle.read' is READ_ONLY but has no readOnlyHint. Agents cannot reason about side effects.