BaZi API for Four Pillars of Destiny charts. Day Master, Ten Gods, hidden stems, Na Yin, and typed day, year and hour conventions echoed back.
Single tool 'generateBaziChart' has a clear, domain-specific description (145 chars) and well-structured input schema with 4 parameters, each with type and description. However, NO output schema is documented anywhere in the source code. The examples show what the response contains (birthData, dayMaster, pillars, fiveElements, interactions, conventions, zodiacAnimal, summary), but there is no formal schema definition visible. This is a critical gap: LLMs cannot plan downstream operations or extract fields without knowing the response structure. Additionally, the tool is not explicitly registered in an MCP server implementation, only example client code is provided. No MCP server code, tool registration, or transport mechanism is visible. The tool definition appears to be inferred from SDK usage patterns rather than directly implemented.
Generate a BaZi (Four Pillars of Destiny) chart for a given birth moment, including four pillars, hidden stems, Ten Gods measured from the Day Master, Na Yin sound element, five element balance, and interactions between pillars.
No output schema documented. Examples show response structure (birthData, dayMaster, pillars, fiveElements, interactions, conventions, zodiacAnimal, summary) but no formal JSON Schema definition is provided. LLMs cannot infer field types, nesting, or array structures without explicit schema.
No MCP server implementation visible. Only client example code (example.ts, example.js, example.py) is provided. No explicit tool registration, MCP protocol handler, or transport mechanism is shown. Tool definition appears inferred from SDK usage rather than directly implemented.
Transport mechanism unknown. Repository contains only client examples using @roxyapi/sdk. No server code, HTTP endpoint, STDIO handler, or SSE implementation is visible. Cannot assess protocol readiness without knowing how the tool is exposed.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 35 | 2026-07-28+ | v2 |
Parameter 'dayBoundary' uses enum constraint (split-zi, midnight, early-zi) but constraint is not formally declared in schema, only documented in description. Should use JSON Schema enum field for machine-parseable validation.
No error handling guidance. Tool description does not explain what happens on invalid date/time, unsupported timezone, or API failures. LLM has no recovery path if the call fails.