IGDB is owned by Twitch; create a Twitch Developer application at dev.twitch.tv/console to obtain a client_id and client_secret.
Obtain an app access token via Client Credentials: POST https://id.twitch.tv/oauth2/token?client_id=<CLIENT_ID>&client_secret=<CLIENT_SECRET>&grant_type=client_credentials — the response contains access_token and expires_in.
Send requests to IGDB endpoints (e.g., https://api.igdb.com/v4/games) with headers Client-ID: <CLIENT_ID> and Authorization: Bearer <ACCESS_TOKEN>.
IGDB uses an Apicalypse query language in the POST body; a basic query looks like: fields name,genres,cover,first_release_date; where name = "Hades"; limit 5; — fields, filters, and limits are all expressed in this body syntax.
Retrieve related resources (e.g., genre names) by expanding IDs: add fields genres.name; or make a separate POST to /genres with the IDs, since most relationship fields return IDs by default.
Cache responses locally as IGDB has rate limits on the number of requests per second and per month depending on your tier.
Known gotchas
The Twitch app access token for IGDB expires periodically; implement token refresh by re-requesting from the token endpoint when you receive a 401, rather than hard-coding the token.
IGDB's Apicalypse syntax is not SQL — string comparisons use = with quoted strings but are case-sensitive for some fields; use the search endpoint (/games with a search "query"; clause) for fuzzy name matching instead of where name = ...
Cover art and screenshots return an image_id string, not a URL; construct the URL as https://images.igdb.com/igdb/image/upload/t_<SIZE>/<IMAGE_ID>.jpg where SIZE is a size identifier like cover_big or 1080p.
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp