Dr Takayanagi(高柳)'s weight data via Health Planet API
Single tool with adequate schema and basic description, but significant gaps in error guidance, parameter validation, and LLM-optimized documentation. Tool name lacks action verb prefix (pattern:tool violation). Input parameters are typed but lack constraint documentation. No output schema documentation. Error handling exists but returns raw error messages without recovery guidance. No tool annotations (readOnlyHint). Server exposes hardcoded API credentials in source code (critical security issue).
Health Planet APIから指定期間の体重データを取得する
Tool name 'fetchInnerScanData' does not start with standard action verb. Should be 'get_weight_data', 'fetch_weight_data', or similar. LLMs rely on verb-prefixed names to infer tool purpose before reading description.
API credentials (access_token '1713215418763/lRdcV5GuHjwvuJ9LiTW4Se0oCaDNNpA6CdVRvDh2') hardcoded in source code at src/weight.ts:29. Credentials must NEVER appear in code, use environment variables or vault with server-side secret injection. This token is now public and should be revoked immediately.
No output schema documented. Tool returns JSON array of {date, weight} objects, but LLM has no formal schema to understand structure, field types, or downstream chaining. Must document return schema in tool description or separate schema declaration.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 48 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 44 | - | v1 |
Error messages lack recovery guidance. Generic errors like 'Error: Network Error: Could not connect to the server.' do not tell LLM what to do next, retry? Different parameters? Call different tool? Must follow pattern:recovery-guide: 'Could not connect. Retry in 30 seconds, or check network connectivity.'
Date format parameters ('from', 'to') lack constraint documentation. Description states 'YYYYMMDDHHmmss format' but no regex pattern, length bounds, or actionable error message if format is wrong. Should include: 'Must be 14 digits: YYYYMMDDHHmmss (e.g., 20240101000000). Invalid format causes API 400 error.'
No tool annotation (readOnlyHint). Tool is READ_ONLY (does not modify state), but LLM cannot verify this from schema. Missing readOnlyHint=true annotation per spec 2026-07-28.
Tool description lacks WHEN and WHY context. Current: 'Health Planet APIから指定期間の体重データを取得する' (Japanese; translates 'Fetch weight data from Health Planet API for specified period'). LLM-optimized description should explain: What problem does this solve? When should I call it vs other tools? Example: 'Fetch weight measurements from Health Planet for a date range. Use when you need to analyze or report on weight trends. Returns array of {date (YYYY/MM/DD), weight (kg)}.'