An MCP server that knows how to edit the Roo Code custom modes file
Server has 4 tools with basic schemas and minimal descriptions. All tools have input schemas with proper JSON Schema structure and type definitions. However, descriptions are extremely terse (10-35 chars), parameter descriptions are completely absent, and output schemas are undocumented. No error handling guidance, no parameter constraints (enums, ranges), and no indication of idempotency or side effects. Naming is verb-first and clear (list_, create_, get_, put_), but parameter documentation is missing entirely. This is a typical community server with functional definitions but insufficient LLM-optimization.
Create a new custom mode
Get the fields of a custom mode
List all custom modes
Put and overwrite any one or more fields of a custom mode
All tool descriptions are under 20 characters and provide no context for LLM selection. 'List all custom modes' and 'Get the fields of a custom mode' are too generic and do not explain when to use each tool or what the output contains.
No parameter descriptions exist. Parameters like 'slug', 'name', 'roleDefinition', 'customInstructions', and 'groups' lack any explanation of their purpose, format, or constraints. LLMs cannot infer whether 'slug' is a unique identifier, a URL-safe name, or something else.
Output schemas are completely undocumented. Tools return JSON text responses, but the structure and fields are not declared. LLMs cannot plan downstream calls or extract data reliably without knowing what fields to expect.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 41 | 2026-07-28+ | v2 |
No error handling guidance. Errors like 'Custom mode not found' are thrown but do not suggest recovery steps (e.g., 'Call list_custom_modes to see available modes'). Agents have no actionable next step on failure.
No idempotency or side-effect declarations. 'create_custom_mode' and 'put_custom_mode_fields' modify state, but descriptions do not warn that these are irreversible or whether they are safe to retry. Agents cannot determine if a retry will cause duplicates.