MCP server for analyzing mind-body constitution and providing personalized herbal wellness recommendations based on stress level, sleep quality, and energy patterns
Single tool 'execute_skill_action' has a descriptive name starting with a verb, but critical quality gaps undermine usability. Description is 127 chars (within 10-1024 range) but lacks WHEN/WHY context for LLM selection. Input schema present with 3 parameters, all with type strings and descriptions, but parameters use free-form strings instead of enums for constrained values (stress_level, sleep_quality, energy_pattern are domain-specific and should be enums). Output schema is completely undocumented, the client.py shows a hardcoded response structure, but no schema is exposed to the MCP protocol. No error handling guidance, no recovery paths, no validation rules in descriptions. Tool does not declare what it modifies or whether it's idempotent. Defaults are present but not justified. Overall: tool is minimally viable but lacks production-grade rigor.
Execute personalized herbal wellness constitution analysis based on mind-body parameters
Output schema completely undocumented. Client code shows response fields (kampo_constitution_type, root_cause_diagnosis, prescribed_herbal_tincture, dietary_guidelines, wellness_adherence_plan_days, herbal_purity_certified) but MCP protocol exposes no schema. LLMs cannot plan downstream operations or extract fields reliably.
Parameters stress_level, sleep_quality, energy_pattern accept free-form strings with defaults but no enum constraints. Descriptions mention examples ('moderate', 'high', 'restless', 'interrupted', 'afternoon_slump', 'low_morning_energy') but do not declare these as the only valid options. LLMs will hallucinate invalid values.
Tool description (127 chars) lacks WHEN/WHY guidance. Does not state whether the tool modifies state, whether it is idempotent, what prerequisites exist, or when to call it vs. alternatives. LLMs cannot reliably select this tool.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 40 | 2026-07-28+ | v2 |
No error handling or recovery guidance. If the tool fails (invalid input, service unavailable, etc.), the response provides no actionable next steps for the LLM. No categorization of errors as retryable, user-fixable, or fatal.
Tool does not declare permissions, scope, or audit requirements. No indication of whether this tool reads/writes user data, whether it requires consent, or how calls should be logged for compliance.