MCP Server for coordinating turn-taking across multi-agent group chats with round-robin circular queue, dynamic next-speaker override via @mention tags, max turn ceilings and termination signal detection
Two tools with minimal documentation. get_next_speaker has a reasonable description (95 chars) but lacks parameter descriptions and output schema. submit_turn has a good description (145 chars) but also lacks parameter descriptions and output schema. Neither tool has documented return types or error handling guidance. Input schemas are present but parameters lack type information beyond basic strings. No error classification, recovery guidance, or validation rules documented. Tool composition is reasonable (two distinct concerns), but the interface lacks the clarity needed for reliable LLM invocation.
Determines the next speaker based on mentions or circular round-robin. Checks for explicit mention: @Role in the last message, otherwise uses standard circular round-robin. Returns None if max turns reached.
Records agent utterance, checks termination conditions, and routes next speaker. Increments turn counter, stores entry in history, checks for termination keyword or max turns reached, and determines next speaker.
No parameter descriptions. 'last_message' parameter lacks explanation of what constitutes a valid mention tag, format, or expected content structure.
No output schema documented. Both tools return structured dicts but LLMs cannot infer field names, types, or meaning without explicit schema documentation.
No error handling guidance. Tools do not document failure modes (e.g., what happens if speaker name is invalid, max_turns exceeded, or termination keyword not found).
Parameter 'speaker' in submit_turn lacks validation rules. No description of valid speaker names, case sensitivity, or what happens if an unknown speaker is passed.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 45 | 2026-07-28+ | v2 |
No input validation or constraint documentation. 'content' parameter accepts any string; no guidance on length limits, special character handling, or mention tag format.