MCP server: market intel tools for Prism Research agent (mock + You.com live search)
Three tools with basic verb-noun naming (get_*). All have descriptions (10-100 chars, below baseline 194 avg). Input schemas present with type and description for ticker param. However, descriptions are minimal (e.g., 'Return a short mock...' lacks WHEN/WHY context). Output schemas are NOT documented, tools return JSON strings but no structured schema is declared. No error handling guidance. No parameter constraints (e.g., ticker format, days_back bounds). Composition is sound (each tool does one thing), but overall quality is below production baseline.
Return a short mock earnings call excerpt for the given ticker.
Recent headlines: uses You.com Search API when YOU_API_KEY is set, else high-fidelity mock.
Return mock 10-Q / risk factor language for contradiction checks.
Output schemas not documented. Tools return JSON strings but no structured schema (fields, types, required keys) is declared. LLMs cannot plan downstream calls or extract fields reliably.
Descriptions are minimal (10-100 chars vs. baseline 194 avg). Missing WHEN/WHY context. E.g., 'Return a short mock earnings call excerpt' does not explain when to use this vs. get_recent_filings, or what contradictions to look for.
No parameter constraints. 'ticker' accepts any string; 'days_back' has no min/max bounds. LLMs may pass invalid tickers or absurd day counts (e.g., 999999).
No error handling guidance. If ticker is invalid or API fails, tools return JSON with no recovery hints. LLM cannot determine if error is retryable or user-fixable.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 44 | 2026-07-28+ | v2 |
API key (YOU_API_KEY) injected via environment variable, correct pattern. However, fallback to mock on error is silent; LLM cannot distinguish live vs. mock data in response.