Giant Bomb MCP has critical gaps in parameter documentation and output schema specification. All 7 tools have names and basic descriptions, but parameter descriptions are entirely missing (0/7 tools have param docs). Input schemas are present but lack descriptions for most parameters. No output schemas are documented. Error handling is minimal. The server follows a basic verb_noun pattern (search, game, games, character, companies, releases, platforms) but lacks the depth needed for production use.
Single character.
List/filter companies.
Single game by guid or id.
List/filter games.
List/filter platforms.
List/filter releases.
Search across all resources.
No parameter descriptions. All 7 tools have input schemas with properties but zero descriptions for parameters (query, resources, limit, page, filter, sort, offset, guid_or_id). LLMs cannot infer parameter meaning from names alone.
No output schemas documented. Tools return raw API responses (e.g., gbGet() returns res.json()) but no schema is specified for what fields LLMs should expect. This prevents downstream tool chaining and forces LLMs to guess at response structure.
API key exposed as parameter. callTool() accepts _apiKey as a parameter (args._apiKey), which will be logged in traces and prompt history. Should use server-side secret injection via environment variable (PLATFORM_GIANTBOMB_KEY is checked but _apiKey parameter is a fallback).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 43 | 2026-07-28+ | v2 |
Minimal error handling. gbGet() throws generic errors ('Giant Bomb: 401', 'Giant Bomb: 404') without recovery guidance. LLMs receive no actionable next steps when a call fails.
No pagination guidance in tool descriptions. search, games, companies, releases, platforms accept limit/offset/page but descriptions do not explain pagination behavior, max limits, or when to use offset vs page.