In-binary MCP server exposing static read-only surface (nika_check · nika_explain) as MCP tools via hand-rolled newline-delimited JSON-RPC 2.0 over stdio
Two tools with minimal documentation. nika_check has a moderately detailed description (127 chars) explaining static conformance checking, but nika_explain is vague (79 chars). Both tools have input schemas with type and description for their single parameters, meeting baseline schema requirements. However, neither tool documents output schemas, error handling, or recovery guidance. No parameter constraints (enums, ranges) are visible. Tool names lack clear verb-noun structure ('nika_check' and 'nika_explain' are domain-specific but not action-oriented like 'validate_workflow' or 'get_documentation'). No evidence of idempotency hints, permission gates, or audit logging. Output structure is undocumented, forcing LLMs to guess what fields are returned.
Static conformance judgment over a workflow source — parse + envelope + duplicate ids + edge-target resolution + cycle detection + namespace resolution + type checking
Explanation and documentation surface for Nika workflow language constructs
Output schemas not documented. LLMs cannot infer what fields nika_check and nika_explain return, forcing guesswork about downstream tool chaining.
Tool names lack action verbs. 'nika_check' and 'nika_explain' are domain-specific but do not follow verb_noun convention (e.g., 'validate_workflow', 'get_documentation'). LLMs struggle to infer intent from non-standard names.
No error handling guidance. Neither tool documents what errors can occur, whether they are retryable, or what the LLM should do next. A parse failure in nika_check returns nothing actionable.
nika_explain description is too vague (79 chars). 'Explanation and documentation surface for Nika workflow language constructs' does not clarify when to call it, what kinds of queries it accepts, or what it returns.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 50 | 2026-07-28+ | v2 |
No input validation constraints. The 'source' parameter in nika_check accepts any string; no length limits, format hints, or examples guide LLMs. The 'query' parameter in nika_explain is similarly unconstrained.