Compound MCP agent combining Japan finance data sources — EDINET, TDNET, e-Stat, stock prices
The server provides 4 well-defined tools with clear action verbs and structured input schemas. All tools have descriptions, but descriptions are formulaic and lack LLM-optimization guidance (no 'when to use' or 'what to do next' hints). All parameters have types and descriptions, which is strong. However, output schemas are not documented, the tools return JSON strings without specifying the structure of that JSON. Error handling uses inline validation but does not return actionable recovery guidance. The tooling is competent for a financial data aggregator but misses several production-grade patterns.
Comprehensive analysis of a Japanese company. Combines EDINET financial statements, TDNET disclosures, and stock price data into a single view.
Check which Japan finance data sources are available and connected. Returns the status of each data source (installed, connected, or missing).
Macro economic snapshot for Japan. Searches e-Stat government statistics for the given keyword.
Monitor earnings and disclosures for a watchlist of companies. Fetches recent TDNET disclosures for multiple companies.
Output schemas not documented. All tools return JSON strings (via json.dumps()) but the structure of that JSON is never specified. LLMs cannot plan downstream tool use or extract specific fields without knowing the response schema.
Error responses lack actionable recovery guidance. Validation errors return JSON with an 'error' field but do not suggest next steps (e.g., 'Invalid stock code. Try check_data_sources() to verify available codes.').
Descriptions lack LLM-optimization context. The tool descriptions state WHAT the tool does but not WHEN to use it instead of a similar tool, what the prerequisites are, or what happens next. Example: 'Comprehensive analysis of a Japanese company' is stated but does not explain when to call it vs. individual component tools.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 57 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 43 | - | v1 |
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). All tools are read-only but this is not formally declared in the tool definition, forcing LLMs to infer safety from descriptions.
No pagination or result limiting documented. monitor_earnings accepts a list of codes but max is hard-coded to 20 (MAX_WATCHLIST); this limit is not exposed in the parameter description. Large result sets from analyze_japanese_company or get_macro_snapshot are not documented as paginated.