MCP Server exposing Marketstack financial data.
18 tools with mixed quality. Tools 1-4 (market data) have complete schemas with proper enums, ranges, and descriptions (70-80 range). Tools 5-12 (reference data) lack visible descriptions and schemas in source, inferred only from file paths, capped at 50. Tools 13-18 (financial instruments) have descriptions and partial schemas but missing parameter details for several. Error handling present but generic. No tool annotations (readOnlyHint). Output schemas undocumented. Average across all tools: 58.
Get real-time government bond data for a specific country.
Look up information about the stock dividend for different symbols.
Obtain end-of-day data for one or multiple stock tickers.
Get complete set of exchange-traded funds data based on the unique identifier code of an ETF.
Get details for a specific stock market index.
Obtain intraday data for one or multiple stock tickers.
8 reference data tools (get_ticker_details, list_tickers, get_ticker_info, list_exchanges, get_exchange_details, list_exchange_tickers, list_currencies, list_timezones) have NO visible descriptions or schemas in source code. Tool definitions are inferred from file paths only, violating pattern:tool-description and pattern:constrained-input. These tools cannot be reliably selected by LLMs.
Output schemas are completely undocumented. No tool declares what fields it returns, their types, or structure. LLMs cannot plan downstream calls or extract required data. Violates pattern:tool and pattern:response-shaper.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 52 | 2026-07-28+ | v2 |
Look up information about the stock splits factor for different symbols.
List all supported countries for bond data.
List all supported ETF tickers.
List all supported stock market indices.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) present. All tools are READ_ONLY but this is not declared in schema. Violates current MCP spec (2026-07-28) tool annotation pattern.
Error handling is generic. wrapToolHandler catches errors and returns 'Error executing tool: {message}' without categorization (retryable vs fatal), recovery guidance, or invalid value details. Violates pattern:recovery-guide and pattern:error-classification.
Parameter descriptions in tools 13-18 lack format/constraint details. E.g., get_bond_info 'country' param has no guidance on format (e.g., 'kenya' vs 'Kenya' vs 'KE'). Violates pattern:constrained-input and review:param-validation-rules.