MCP server providing financial analysis tools including metrics discovery, instrument search, and access to 200+ financial ratios, indicators, and performance measurements
Four discovery/utility tools with clear naming (search_*, list_*) and good descriptions (100-200 chars). All tools are READ_ONLY with proper risk classification. Input schemas present with type definitions. However, parameter descriptions are minimal or missing in some cases (search_by_category lacks category enum; search_instruments lacks search_method enum despite mentioning valid values). Output schemas are not documented in the visible code. Tool descriptions are well-written but could be more explicit about when to call each tool in sequence (e.g., 'Call search_categories first, then search_by_category'). No error handling guidance visible.
List every available metric/tool within a category.
List all available metric categories and how many tools each contains. Use this first to understand what is available, then call ``list_metrics_by_category`` with a specific category name.
Search for financial instruments by ticker, name, ISIN, CIK, or CUSIP.
Search across all metrics by keyword with typo tolerance. Supports minor typos and common financial abbreviations. Tokens shorter than four characters bypass fuzzy matching and require an exact substring hit.
Parameter enums not declared in schema. search_by_category 'category' and search_instruments 'search_method' mention valid values in descriptions but lack enum constraints. LLMs will hallucinate invalid values.
Output schemas not documented. Tool descriptions do not specify what fields are returned (e.g., does search_categories return {category: string, count: int}?). LLMs cannot plan downstream calls without knowing response structure.
No error handling guidance. Descriptions do not explain what happens on invalid input, missing category, or no results. LLMs have no recovery path if a call fails.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 67 | <=2025-11-25 | v2 |
Tool sequencing not explicit. search_categories description mentions 'Call this first to understand what is available, then call search_by_category' but does not state this as a prerequisite or dependency hint in a machine-readable way.
search_instruments 'search_method' parameter description lists valid values ('symbol', 'name', 'cik', 'cusip', 'isin') but does not declare them as an enum in the schema. Free-form string invites hallucination.