MCP server for CrowdMind, a local-first desktop app for simulating AI persona panels and testing stimuli against them. Provides tools to manage workspaces, panels, personas, and run tests.
CrowdMind MCP has major quality issues. While tool names follow the verb_noun pattern (list_, create_, run_, get_), parameter descriptions are almost entirely missing across all 10 tools. Input schemas are present and properly typed, but the tool descriptions lack essential context for LLM selection. The server processes Spanish-language fields (nombre, descripcion, color) without explaining their purpose to English-speaking LLMs. Output schemas are not documented anywhere in the source. Error handling is minimal, no recovery guidance, no error categorization. No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Composition is reasonable (separate list/create/run operations), but parameter relationships are undocumented (e.g., does save_personas require generate_personas_preview to run first?).
Create a new CrowdMind panel in a workspace.
Generate local deterministic persona drafts for a panel brief.
Generate a compact executive Markdown report for a test.
Get compact results for a CrowdMind test.
List panels for a workspace.
List personas in a panel.
List tests in a panel.
CRITICAL: Parameter descriptions are missing or minimal across all tools. The rubric requires non-empty descriptions for every parameter. Examples: create_panel's 'nombre' and 'descripcion' have no descriptions; generate_personas_preview's 'batchNonce' is undocumented; run_simple_test's 'personaIds' lacks guidance on when it's required vs optional.
CRITICAL: Output schemas are not documented. The rubric requires documenting what each tool returns so LLMs can plan downstream calls. Only descriptions exist; no explicit return type specifications visible in source. This prevents LLMs from knowing what fields are available (e.g., does list_panels return panel.id or panel.panelId?).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 52 | 2026-07-28+ | v2 |
List CrowdMind workspaces from the configured SQLite database.
Run a local deterministic simple test against all or selected panel personas.
Save persona drafts into a panel.
HIGH: Parameter naming mismatch and Spanish field names cause confusion. create_panel uses 'nombre' and 'descripcion' (Spanish) instead of English 'name' and 'description'. LLMs trained primarily on English may misinterpret these. No guidance on what color format is expected for create_panel's 'color' parameter (hex? RGB? CSS name?).
HIGH: No error handling or recovery guidance. Tools like save_personas, run_simple_test, and create_panel can fail, but no documentation explains what errors are possible, whether they're retryable, or what the LLM should do next. Violates the error-classification pattern.
HIGH: No tool annotations. Missing readOnlyHint on read-only tools (list_*, get_*) and destructiveHint on write tools (create_panel, save_personas, run_simple_test). These annotations help LLMs understand tool safety and composition.
MEDIUM: Undocumented parameter relationships. generate_personas_preview generates 'drafts' that save_personas stores, but this workflow is never documented in either tool's description. run_simple_test requires personaIds (optional array), but no guidance on what happens if it's empty vs populated.
MEDIUM: Parameter constraints are not enforced or documented. Examples: count in generate_personas_preview (no min/max specified); panelId and workspaceId are required but no guidance on valid format; estimulo in run_simple_test has no description or length guidance.
MEDIUM: No pagination support on list tools. list_workspaces, list_panels, list_personas, and list_tests do not accept limit/offset or page parameters. If a workspace has hundreds of panels, the LLM receives all of them, wasting context and inviting hallucination.