fotmob-mcp has clear naming conventions (verb_noun pattern) and reasonable descriptions for most tools. However, parameter descriptions are sparse or missing entirely. The `fetch_fotmob_route` tool accepts a generic `params` object with no schema constraints, forcing LLMs to guess valid parameter names and types. Output schemas are not documented. Error handling is minimal, no recovery guidance or actionable error messages. The server exposes a domain-specific API (FotMob sports data) but lacks the rigor expected for production agent tooling.
Fetch data from a FotMob API route
Get match details from a FotMob match ID or URL
Get match live ticker/commentary events from a FotMob match ID or URL
Get the catalog of available FotMob routes
Render the FotMob route catalog as markdown
fetch_fotmob_route accepts untyped 'params' object with no schema constraints. LLMs cannot determine valid parameter names, types, or ranges. Requires route_key lookup to infer valid params.
No output schemas documented for any tool. LLMs cannot predict response structure, forcing them to parse responses blindly and guess field names for downstream tool calls.
Parameter descriptions are minimal or absent. 'route_key' in fetch_fotmob_route lists valid values in description but should use enum constraint. 'params' object has no type info.
No error handling or recovery guidance. If a route_key is invalid or params malformed, LLMs receive raw exceptions with no actionable next steps.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 54 | 2026-07-28+ | v2 |
Tool descriptions lack context on when to use each tool vs alternatives. E.g., when should an LLM call get_match_details vs fetch_fotmob_route with 'match_details' key?