Skip to main content
GameDev.net gamedev.net

GameDev.net MCP Server

Let AI agents search and cite GameDev.net's game development knowledge—built by the community since 1999—through the Model Context Protocol.

Endpoint

The server speaks the MCP Streamable HTTP transport (JSON-RPC 2.0 over POST). Protocol version 2025-03-26.

https://gamedev.net/mcp/

It is anonymous and read-only over public content. Single-query grounding with a visible citation back to gamedev.net is permitted; bulk retrieval requires a license. See our Terms and machine-readable licensing terms.

Available tools

  • search_site — Unified full-text search across all public GameDev.net content — forum discussions, tutorials, blogs, projects, portfolios, and game-industry news. Filter to specific kinds with content_types (e.g. ["forum_topic","forum_post"] for forums, or ["news","news_item"] for news) and order by relevance or date. Returns titles, URLs, excerpts, authors, and ids for follow-up with get_content.
  • get_thread — Fetch one GameDev.net forum thread with its posts (plain text), including which reply is the accepted answer.
  • get_content — Fetch the full public text of a specific item (tutorial, blog, news, project, portfolio, ShaderLab project, forum topic, canonical answer, or thread digest) using the content_type + id from a search result. Use this to ground deeply after a search. For news_item (aggregated news) this returns GameDev.net's own AI summary and enrichment with a citation link, not the source's full article text.
  • list_recent — List the most recent GameDev.net content of a given kind. Useful for "what is new" / roundup queries. Includes the curated canonical answers and "best of" thread digests.
  • search_shaders — Search public, published ShaderLab projects with structured runtime, topic, difficulty, license, and explanation filters.
  • get_shader_project — Fetch one public, published ShaderLab project as structured passes, channel bindings, parameters, annotations, provenance, and confirmed techniques. Source defaults to 20,000 characters and can be bounded up to 100,000.
  • list_shader_topics — List the human-curated ShaderLab topic taxonomy with optional public project counts and representative examples.
  • get_shader_portability_report — Run ShaderLab deterministic E1 portability analysis for a public project and optional three.js, Godot, Unity, or WebGL target.
  • list_trending_content — What is currently trending in game-industry news on GameDev.net. mode="stories" (default) returns deduplicated multi-source story clusters (with aggregated tags, source count, and when the story broke/last updated — use get_story for the full timeline); mode="items" returns individual trending articles. Each result carries GameDev.net's owned AI summary and a source citation. Optionally filter by tag.
  • get_story — Fetch one story cluster: its AI summary and key facts, plus a source-by-source timeline of every article covering the story (each with its source and a citation link). Good for "how did this story develop / who reported it".

Usage tiers & API keys

Anonymous use is free within fair-use limits, intended for agents answering individual user queries with citation back to gamedev.net:

  • Anonymous (free): per-IP rate limits and a small daily allowance — enough for a real session. Large AI providers additionally share a per-provider daily allowance; past it, requests receive HTTP 402 Payment Required.
  • GameDev Pro: members get a personal API key with a generous monthly tool-call allowance — see below.
  • Commercial / partner: higher volume under a license. Email licensing@gamedev.net with your use case and expected volume.

Want your own API key?

GameDev Pro members get an ad-free experience plus a personal MCP API key with a generous monthly allowance. Sign in to manage your key under Settings → Developer.

Send your key as a bearer token:

Authorization: Bearer gdnet_mcp_<your-key>

Response semantics: 429 means slow down (rate limit, includes Retry-After); 402 means the free tier or your quota is exhausted — see licensing; 401 means a missing or revoked key where one is required.

Connect from Claude Desktop

Add this to claude_desktop_config.json:

{
  "mcpServers": {
    "gamedev-net": {
      "type": "streamable-http",
      "url": "https://gamedev.net/mcp/"
    }
  }
}

Connect from Cursor

Add this to .cursor/mcp.json (project) or your global Cursor MCP settings:

{
  "mcpServers": {
    "gamedev-net": {
      "url": "https://gamedev.net/mcp/"
    }
  }
}

Connect from VS Code

Add this to .vscode/mcp.json:

{
  "servers": {
    "gamedev-net": {
      "type": "http",
      "url": "https://gamedev.net/mcp/"
    }
  }
}

If you have an API key, all three clients accept a headers object alongside url — add "headers": {"Authorization": "Bearer gdnet_mcp_<your-key>"}.

Call it directly

List the available tools:

curl -s https://gamedev.net/mcp/ \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

Search the forums (filter with content_types):

curl -s https://gamedev.net/mcp/ \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/call",
       "params":{"name":"search_site","arguments":{"query":"fixed timestep game loop","content_types":["forum_topic","forum_post"]}}}'

Discovery

A machine-readable manifest is published at /.well-known/mcp/server.json, and the endpoint is referenced from /llms.txt.

Notes & limits

  • Request/response only — the SSE (GET) stream is not currently served.
  • Results are public content; private, draft, and members-only data are excluded.
  • Rate limits and quotas apply per the tiers above. For higher-volume or commercial use, contact us.