MCP server for OpenCritic game review scores — search games and retrieve critic scores via the OpenCritic API.
Three tools with clear verb-noun naming (search_game, get_game, get_game_reviews) and solid descriptions (120-180 chars each). All tools have input schemas with typed parameters and descriptions. However, output schemas are not documented in the source, LLMs cannot see what fields to expect from responses. Parameter descriptions lack format constraints (e.g., 'platform' accepts free-form strings with only examples 'PC', 'PS5', 'Xbox', 'Switch' in the description, not an enum). No error handling guidance visible. Tool descriptions mention optional filtering but don't explain what happens if a platform filter matches nothing. Missing documentation of response structure, pagination behavior, and error cases.
Get full details and critic scores for a game by its OpenCritic ID. Includes critic score, % recommended, tier, developer, publisher, platforms, genres, loot box status, and box art. Optionally filter by platform name (e.g. 'PC', 'PS5', 'Xbox').
Get all critic reviews for a game by its OpenCritic ID. Returns review scores, snippets, outlets, authors, and links. Optionally filter by platform name.
Search for a game by name on OpenCritic. Returns up to 10 matches with their IDs, which can be passed to get_game or get_game_reviews.
Output schemas not documented. LLMs cannot see what fields responses contain (e.g., does search_game return 'id' and 'name'? Does get_game return 'topCriticScore' or 'criticScore'?). This forces LLMs to guess field names for downstream reasoning.
Platform parameter accepts free-form strings with only examples in description ('PC', 'PS5', 'Xbox', 'Switch'). Should be an enum to prevent hallucinated platform names like 'PlayStation 5' or 'XBox Series X'.
No error handling guidance. If search_game returns 0 results, or get_game receives an invalid ID, or platform filter matches nothing, the tool descriptions do not explain what the LLM should do next.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 58 | 2026-07-28+ | v2 |
search_game description mentions 'up to 10 matches' but does not document the response structure (does it return an array? an object with 'results' key?). Pagination and result limits are not formally specified.
get_game description lists many fields ('critic score, % recommended, tier, developer, publisher, platforms, genres, loot box status, box art') but does not specify which are always present vs optional, or their types (number, string, boolean, array).