A minimal MCP stdio server that exposes Agent Native Format (ANF) encoding tools to turn verbose system state into token-minimal ANF for context engineering and token reduction.
Two tools with clear, domain-specific descriptions (ANF encoding). Both have input schemas with required fields and property descriptions. However, schemas lack explicit type declarations for nested objects (e.g., 'view' in anf_encode_kubernetes is type:object but properties are undocumented). Output schemas are completely absent, LLMs cannot predict what these tools return. Parameter descriptions are present but minimal (10-30 chars). No error handling guidance, no examples of success/failure responses, no pagination or result limits documented. Tool names are verb-noun (encode_*) which is good, but descriptions don't explain WHEN to use each tool or how they differ. No tool annotations (readOnlyHint present in metadata but not in schema). Overall: functional but sparse definitions that would require LLM trial-and-error to use effectively.
Encode an arbitrary JSON value as Agent Native Format (ANF), a line-oriented, token-minimal representation. The mapping is deterministic and structure-preserving: no fields are dropped and no semantics are inferred. Use it to compress verbose JSON state before putting it in the context window.
Encode a Kubernetes namespace view as ANF using the domain translator, which surfaces health, alerts, and available actions first. Input is a namespace view object with cluster, namespace, and resource lists.
Output schemas completely undocumented. LLMs cannot predict return types, fields, or structure. Both tools lack documented response schemas.
Nested object properties lack type definitions. 'view' parameter in anf_encode_kubernetes is type:object but its properties (cluster, namespace, deployments[], etc.) are not formally declared in the schema.
Parameter descriptions are too brief (10-30 chars). 'Any JSON value' and 'A Kubernetes namespace view' lack guidance on format, constraints, or examples. Descriptions should be 50-200 chars with actionable detail.
No error handling guidance. Tools do not document what happens on invalid input (e.g., non-JSON data, malformed Kubernetes view). No recovery hints for LLMs.
Inferred effective spec: 2026-07-28+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 46 | 2026-07-28+ | v2 |
Tool annotations present in metadata (Risk: READ_ONLY) but not in JSON Schema. readOnlyHint should be declared in tool definition for LLM visibility.