MCP server exposing a financial RAG (Retrieval-Augmented Generation) system with tools for document search, knowledge graph queries, and financial analysis
Three tools with basic descriptions and parameter schemas, but significant gaps in schema completeness, error guidance, and output documentation. All tools are READ_ONLY (good), but descriptions lack actionable context for LLM selection. Parameters have types and defaults but lack detailed constraints. No documented output schemas. Error handling returns plain strings without recovery guidance.
完整的金融分析问答。检索相关文档后由 LLM 生成结构化分析报告。适合需要综合推理、对比分析、趋势解读的复杂问题。
检索金融文档知识库。当你需要查找公司财报数据、行业分析报告、经济指标等文档片段时使用。返回相关文档内容及其来源。
查询金融实体关系知识图谱。当你需要查找实体之间的关联关系、对比指标、因果链路时使用。
No documented output schemas. Tools return plain strings; LLMs cannot parse structured results or chain downstream calls. financial_search returns unstructured text with scores and sources; financial_analysis returns free-form analysis. Agents cannot extract specific fields for follow-up actions.
Error messages lack recovery guidance. financial_search returns 'Error: query cannot be empty' and 'Retrieval failed: {e}' without suggesting next steps. LLMs cannot self-correct or know whether to retry, ask user, or abandon.
Parameter descriptions lack constraints and format guidance. 'query' in financial_search has no length limits, language hints, or examples of valid queries. 'top_k' has no min/max bounds (could be 0 or 10000). 'relation' in knowledge_graph_query has no enum of valid relation types.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 48 | 2026-07-28+ | v2 |
Tool descriptions lack WHEN-to-use context. financial_search and knowledge_graph_query both retrieve financial data; descriptions do not explain when to prefer one over the other. financial_analysis says 'for complex problems' but does not clarify when simple search suffices.
No pagination or result limits documented. financial_search defaults top_k=5 but no max enforced; knowledge_graph_query returns all triples without limit. Large result sets will blow context windows. Baseline: A+ tools cap results at 20-50 and document the limit in description.