MCP server that provides financial metrics for stocks including earnings yield and return on tangible capital
Two tools are registered as resources (not traditional MCP tools). Both have minimal parameter descriptions and lack output schema documentation. Input schemas are inferred from function signatures rather than explicitly registered with JSON Schema. Descriptions are present but generic. No error handling guidance, no parameter constraints, no output field documentation. This server treats financial metrics as read-only resources exposed via URI templates, which is a reasonable pattern choice, but the implementation lacks the specificity required for production agent use.
Returns the earnings yield (EBIT/EV multiple) for a given stock ticker symbol.
Returns the Return On Tangible Capital for a given stock ticker symbol.
No output schema documentation. Both tools return dict objects, but the response structure is not documented in tool definitions. LLMs cannot plan downstream operations or extract specific fields without seeing the schema.
Parameter descriptions are minimal. The 'ticker' parameter has only 'Stock ticker symbol', no guidance on format (e.g., 'uppercase 1-5 character symbol like MSFT, AAPL'), no examples, no constraints, no validation rules.
No error handling guidance. The code returns {'Request failed with status code': <code>} on failures, which provides no actionable recovery path for the LLM. No indication whether the error is retryable, user-fixable, or requires data correction.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 44 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 34 | - | v1 |
Tools implemented as resources (via @mcp.resource decorator) rather than formal tool definitions. While resources are a valid MCP pattern, they lack explicit tool registration with structured schemas.
No parameter validation or constraints. The ticker parameter accepts any string with no regex pattern, enum, or length constraints. Invalid tickers will fail at the external API, producing unhelpful error messages.
Tool descriptions lack context on when to use each tool. 'Returns the earnings yield...' states WHAT but not WHEN or WHY. Missing: 'Use this to evaluate a company\'s profitability relative to enterprise value' or similar guidance for LLM selection.