Repository containing MCP server plugins and skills, including event description generator experimental plugins
This MCP server exposes two tools for CSV processing and chunk planning in the context of an event description generator workflow. Both tools have clear, domain-specific descriptions and well-defined input schemas with proper JSON Schema types. However, critical gaps severely limit usability: (1) NO OUTPUT SCHEMAS are documented for either tool, the LLM cannot know what fields to expect from responses, violating pattern:tool and preventing downstream tool chaining; (2) Parameter descriptions are minimal or absent, leaving ambiguity about valid inputs and constraints; (3) No error handling guidance is provided, the tools print to stderr but there's no schema for error responses; (4) Tool names lack clarity about their side effects and prerequisites. The naming is domain-specific but not verb-action oriented (compress_run vs. compress_audit_run; build_writer_plan is vague about dependencies). The server's STDIO-only transport further limits its viability for production agent use.
Count data rows in a compressed CSV and emit the chunk plan needed to spawn event-descriptions-writer subagents. Returns a list of chunks with line number boundaries for distributing rows across writers.
Merge all CSV chunks from a single audit run into one file, keeping only rows that have a suggested_description. Deletes the chunk files after the merged file is successfully written.
No output schemas documented for either tool. LLMs cannot predict response structure, preventing tool chaining and forcing inference from example output.
Parameter descriptions are minimal or absent. 'run_id' and 'total_rows' lack validation rules, constraints, or error guidance. LLMs cannot self-correct invalid input.
Tool names lack action-verb clarity. 'compress_run' and 'build_writer_plan' are domain-jargon; names should start with action verbs (merge_*, consolidate_*, plan_*, calculate_*) so LLMs infer intent from the name alone.
compress_run has destructive side effects (deletes chunk files after merge) but the description does not warn about data loss or require confirmation. No error recovery guidance if the merge fails mid-operation.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 49 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 23 | - | v1 |
No error handling schema or recovery guidance. Tools print to stderr but LLMs have no structured representation of error conditions. 'Error: run directory not found' is human-readable but not machine-parseable.
build_writer_plan accepts 'total_rows' as a parameter, but the description also mentions 'compressed CSV', is the caller expected to count rows beforehand, or should the tool accept a file path? This dependency is not documented.