Kua number API. Ming Gua, east or west life group, personal trigram, and the full Eight Mansions map ranked best to worst.
This server wraps a third-party Feng Shui API (RoxyAPI) and exposes two tools. Both tools have descriptions and basic input schemas, but critical gaps prevent production use. Tool names lack action verbs (calculateKuaNumber, generateEightMansions are gerunds/participles, not verb_noun). Input parameters lack descriptions entirely, 'date', 'gender', 'yearBoundary', 'facing' have no guidance on format, constraints, or why they matter. Output schemas are completely undocumented; the code shows complex nested objects (sectors, trigram, conventions) but no schema definition for LLMs to parse. No error handling guidance. No parameter validation rules (e.g., date format, gender enum, yearBoundary options). The server is a thin wrapper around an external API with no value-add for agent usability.
The kua number calculator. Calculates the Ming Gua for one person, the east or west life group, the personal trigram, and all eight compass sectors classified into the four favourable Eight Mansions stars and the four unfavourable ones.
The full Eight Mansions (Ba Zhai) map, ranked best to worst, with the star sitting on the direction a main door faces.
Tool names lack action verbs. 'calculateKuaNumber' and 'generateEightMansions' are gerunds/participles, not verb_noun pattern (e.g., 'calculate_kua_number', 'generate_eight_mansions'). LLMs rely on verb-first naming to infer intent.
Input parameters have NO descriptions. 'date', 'gender', 'yearBoundary', 'facing' lack any guidance on format, valid values, or constraints. LLMs cannot infer that 'yearBoundary' is an enum (e.g., 'li-chun') or that 'facing' must be a compass direction.
Output schemas completely undocumented. Code shows complex nested responses (kua.sectors, kua.trigram, kua.conventions, mansions.facingSector) but no schema definition for LLMs. Agents cannot plan downstream calls or extract fields reliably.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 35 | 2026-07-28+ | v2 |
No error handling guidance. If an invalid date or gender is passed, the server will return an error from RoxyAPI, but no recovery hints are provided. LLMs have no guidance on what to do next.
Parameter constraints not declared. 'gender' should be an enum (male|female). 'yearBoundary' should be an enum (li-chun, etc.). 'facing' should be an enum (North, Northeast, East, etc.). Free-form strings invite hallucinated values.