MCP server that normalizes unstructured natural language payloads into structured JSON objects conforming to target schemas, with ambiguity repair and schema validation
Single tool 'execute_skill_action' has critical definition gaps. Input schema is present but severely underdeveloped: only 2 parameters with minimal type info (both generic object/string). No output schema documented anywhere. Description is 169 chars but lacks WHEN/WHY guidance and does not explain what 'ambiguity repair' means to an LLM. No parameter descriptions visible in schema. Tool definition appears inferred from client.py mock rather than explicit MCP registration. No error handling, validation rules, or recovery guidance. This server reads as a proof-of-concept stub, not production-ready tooling.
Normalizes unstructured natural language payloads into structured JSON objects conforming to a target schema definition, with ambiguity repair and schema validation
No output schema documented. Client.py shows mock response with fields (normalization_id, schema_validation_passed, normalized_json_object, ambiguity_repair_performed, strict_typed_schema_spec_url) but mcp_server.py does not declare these in tool definition. LLMs cannot plan downstream calls or extract results reliably.
Input parameters lack descriptions. 'raw_unstructured_string' and 'target_json_schema_definition' have no descriptions in schema, LLMs cannot infer what format the schema definition should take (JSON object? string? schema URL?) or what 'unstructured' means in context.
Tool name 'execute_skill_action' is generic and vague. Does not start with a clear action verb (normalize_, transform_, convert_). 'execute' + 'skill_action' is redundant and does not convey the semantic normalization intent. Rename to 'normalize_to_schema' or 'transform_unstructured_to_json'.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 30 | 2026-07-28+ | v2 |
No error handling or recovery guidance. What happens if schema validation fails? If ambiguity cannot be repaired? If input is malformed? Tool description does not explain error cases or what the LLM should do next.
Tool definition inferred from client.py mock, not explicitly registered in mcp_server.py. mcp_server.py only prints a static JSON status message and does not implement actual tool invocation, parameter validation, or schema enforcement.