Complete, automatically discovered MCP access to AKShare financial data APIs
AKBridge provides three well-structured tools with complete JSON schemas and clear descriptions. Tool naming follows verb_noun convention (search, describe, call). All three tools have descriptions (194-250 chars, within baseline 34-392 range). Input schemas are properly typed with enums, defaults, and constraints. However, output schemas are not documented, LLMs cannot predict response structure. Parameter descriptions are present but generic (e.g., 'Function name or unique alias' lacks format/constraint details). Error handling is minimal, no recovery guidance or actionable error messages visible in the code. Tool composition is sound (search → describe → call workflow), but the 'akbridge_call' tool's output_mode enum and page/page_size parameters lack detailed guidance on when to use each mode.
Execute an AKShare function with specified arguments and return results
Get detailed metadata and documentation for a specific AKShare function
Search the AKShare catalog by function name, alias, category, or natural-language keywords
Output schemas not documented. LLMs cannot predict response structure for any of the three tools. Responses from akbridge_call (raw/compact/summary modes) are undocumented, forcing LLMs to guess field names and types.
Error handling lacks recovery guidance. No visible error classification (retryable vs user-fixable vs fatal) or actionable error messages. Stack traces or generic errors will not guide LLM recovery.
Parameter descriptions lack constraint details. 'query' in akbridge_search has no guidance on format, length, or valid keywords. 'output_mode' enum values (raw/compact/summary) are not explained, when should an LLM choose each?
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 61 | <=2025-11-25 | v2 |
akbridge_call tool combines multiple concerns: execution, pagination, output formatting, and metadata inclusion. Consider splitting into separate tools (call_function, format_results) for clearer composition.
No pagination guidance in tool descriptions. akbridge_search accepts 'limit' (1-50) but does not explain how to iterate through large result sets or whether a cursor/offset is available.