Public source for the China Bank Offers Facts MCP service. Returns all matching official bank-offer documents and complete cleaned source text for Chinese banks.
Two tools with clear verb-noun naming (list_supported_banks, get_bank_offers) and solid descriptions (118 and 156 chars respectively). Input schemas are present with proper JSON Schema structure, including regex pattern validation for bank_code. However, parameter descriptions are sparse, activity_status lacks explanation of what filtering by status accomplishes. Output schemas are not documented in the visible code, forcing LLMs to infer response structure. Error handling is present (UnsupportedBankError, BankSearchUnavailableError) but recovery guidance is minimal. Tool annotations (toolAnnotations=true) are declared but not visible in the schema definitions shown.
Return all matching official bank-offer documents and complete cleaned source text for one bank. Supported bank codes: call list_supported_banks. No analysis or recommendations.
Free capability check. Lists banks, data freshness, coverage state, and whether get_bank_offers is currently enabled.
Output schemas not documented. LLMs cannot infer what fields get_bank_offers returns (e.g., does it return offer_id, bank_name, offer_text, source_url?). This forces agents to guess and risks misuse of returned data.
Parameter activity_status in get_bank_offers lacks description. The enum values ['active', 'unknown'] are self-evident, but the description should explain what filtering by status accomplishes and when to use it.
Tool annotations declared (toolAnnotations=true) but not visible in schema definitions. Both tools are READ_ONLY; readOnlyHint should be explicitly set in the tool metadata for clarity.
Error responses (UnsupportedBankError, BankSearchUnavailableError) are caught but recovery guidance is minimal. The errorResult() function returns error code and message, but does not suggest next steps (e.g., 'Call list_supported_banks to see available banks').
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 66 | 2025-06-18+ | v2 |
No pagination or result-limiting documented. If get_bank_offers returns many offers, the response could exhaust context. No limit parameter or pagination guidance visible.