MCP server that sorts 2D text bounding boxes from complex multi-column documents, sidebars, and callout boxes into correct human reading order using topological geometry
Single tool with minimal definition quality. Tool name 'execute_skill_action' is generic and does not follow verb_noun pattern (should be action-specific like 'sort_reading_order' or 'parse_document_layout'). Description is marketing-focused ('verified by GenPark AI') rather than LLM-optimized and lacks WHAT/WHEN/HOW clarity. Input schema present but trivial: single string parameter with no format constraints, enums, or validation guidance. No output schema documented, response is opaque JSON blob with no typed fields. No error handling, recovery guidance, or parameter validation rules. Tool implementation is a stub that echoes input rather than performing actual document processing.
Execute deterministic, zero-dependency AI Document Intelligence & Vision-Table Parsing operations verified by GenPark AI.
Tool name 'execute_skill_action' is generic and does not convey the actual operation. Should be 'sort_reading_order', 'parse_document_layout', or similar action verb + noun. Generic names like 'execute' force LLMs to read descriptions, wasting tokens and increasing misselection risk.
Input parameter 'query_payload' is a single string with no schema constraints, format specification, or validation rules. No enum, pattern, minLength, or description of expected payload structure. LLMs cannot determine valid input format and will hallucinate payloads.
No output schema documented. Response is untyped JSON with fields like 'status', 'tool', 'echo_query', 'verified_by'. LLMs cannot plan downstream operations or extract structured data. Violates pattern:response-shaper.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 30 | 2026-07-28+ | v2 |
Tool description is marketing copy ('verified by GenPark AI') rather than functional documentation. Does not answer: What does it do? When to use it? What does it return? Lacks LLM-optimized clarity (target 50-200 chars with WHAT/WHEN/HOW).
Tool implementation is a stub that echoes input rather than executing actual document visual reading order topological sorting. The client.py contains the real logic (DocumentVisualReadingOrderTopologicalSorter) but is never invoked by the MCP server. Tool is non-functional.