MCP Server

GameDev.net

net.gamedev/mcp
Gaming Search & Research Public & reachable MCP 2026-07-28

What this MCP does

Searches and retrieves GameDev.net forums, tutorials, postmortems, projects, news, and ShaderLab projects, including shader portability analysis.

get_content
Get full content of a result
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.
Input schema
{'type': 'object', 'required': ['content_type', 'id'], 'properties': {'id': {'type': 'integer', 'description': 'id from a search result'}, 'content_type': {'type': 'string', 'description': 'content_type from a search result'}}}
get_shader_portability_report
Get shader portability report
Run ShaderLab deterministic E1 portability analysis for a public project and optional three.js, Godot, Unity, or WebGL target.
Input schema
{'type': 'object', 'required': ['project_id'], 'properties': {'target': {'enum': ['threejs', 'godot', 'unity', 'webgl'], 'type': 'string', 'description': 'Optional engine target; omit for a general E1 portability report.'}, 'project_id': {'type': 'integer', 'description': 'Public ShaderLab project id.'}}}
get_shader_project
Get ShaderLab 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.
Input schema
{'type': 'object', 'required': ['project_id'], 'properties': {'project_id': {'type': 'integer', 'description': 'ShaderLab project id'}, 'max_source_chars': {'type': 'integer', 'default': 20000, 'maximum': 100000, 'minimum': 0, 'description': 'Maximum source characters across all passes; 0 returns pass metadata without source.'}}}
get_story
Get a story cluster timeline
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".
Input schema
{'type': 'object', 'required': ['story_id'], 'properties': {'story_id': {'type': 'integer', 'description': "Story cluster id from list_trending_content (mode='stories')"}}}
get_thread
Get a forum thread
Fetch one GameDev.net forum thread with its posts (plain text), including which reply is the accepted answer.
Input schema
{'type': 'object', 'required': ['topic_id'], 'properties': {'topic_id': {'type': 'integer', 'description': 'Forum topic ID'}, 'max_posts': {'type': 'integer', 'default': 20, 'maximum': 50, 'minimum': 1}}}
list_recent
List recent content
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.
Input schema
{'type': 'object', 'required': ['content_type'], 'properties': {'limit': {'type': 'integer', 'default': 10, 'maximum': 25, 'minimum': 1}, 'content_type': {'enum': ['answers', 'blogs', 'digests', 'forums', 'news', 'portfolios', 'projects', 'shaders', 'tutorials'], 'type': 'string', 'description': 'Kind of content to list'}}}
list_shader_topics
List ShaderLab topics
List the human-curated ShaderLab topic taxonomy with optional public project counts and representative examples.
Input schema
{'type': 'object', 'properties': {'include_counts': {'type': 'boolean', 'default': True, 'description': 'Include counts of public projects matched by each topic taxonomy entry.'}, 'include_examples': {'type': 'integer', 'default': 0, 'maximum': 5, 'minimum': 0, 'description': 'Representative public projects per topic, from 0 to 5.'}}}
list_trending_content
List trending game-industry news
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.
Input schema
{'type': 'object', 'properties': {'tag': {'type': 'string', 'description': 'Optional tag filter (e.g. "unreal", "funding")'}, 'mode': {'enum': ['stories', 'items'], 'type': 'string', 'default': 'stories', 'description': 'Clustered stories (default) or individual articles'}, 'limit': {'type': 'integer', 'default': 10, 'maximum': 25, 'minimum': 1}}}
search_shaders
Search ShaderLab
Search public, published ShaderLab projects with structured runtime, topic, difficulty, license, and explanation filters.
Input schema
{'type': 'object', 'properties': {'page': {'type': 'integer', 'default': 1, 'maximum': 100, 'minimum': 1}, 'sort': {'enum': ['relevance', 'new', 'top'], 'type': 'string', 'default': 'relevance', 'description': 'Relevance for text queries, publication recency, or all-time engagement.'}, 'query': {'type': 'string', 'maxLength': 100, 'description': 'Optional title, description, author, or tag search text.'}, 'topics': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Curated slugs returned by list_shader_topics; matches confirmed techniques or equivalent author tags.'}, 'runtime': {'enum': ['glsl', 'webgpu', 'webgpu_compute'], 'type': 'string'}, 'licenses': {'type': 'array', 'items': {'enum': ['cc-by-nc-sa-3.0', 'cc-by-4.0', 'cc-by-sa-4.0', 'cc0', 'mit', 'all-rights-reserved'], 'type': 'string'}, 'description': 'Only projects using one of these license keys.'}, 'per_page': {'type': 'integer', 'default': 10, 'maximum': 25, 'minimum': 1}, 'difficulty': {'enum': ['beginner', 'intermediate', 'advanced'], 'type': 'string'}, 'explained_only': {'type': 'boolean', 'default': False, 'description': 'Only projects with annotations for the current revision.'}}}
search_site
Search GameDev.net
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.
Input schema
{'type': 'object', 'required': ['query'], 'properties': {'page': {'type': 'integer', 'default': 1, 'minimum': 1}, 'sort': {'enum': ['relevance', 'date'], 'type': 'string', 'default': 'relevance', 'description': 'Order results by relevance (default) or recency'}, 'query': {'type': 'string', 'description': 'Search query'}, 'per_page': {'type': 'integer', 'default': 10, 'maximum': 25, 'minimum': 1}, 'content_types': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Optional filter: forum_topic, forum_post, blog_entry, tutorial, project, portfolio, shader_project, news, news_item, answer_page, thread_digest'}}}
Added
get_story
Sept. 17, 2026, 12:54 p.m.
Added
list_trending_content
Sept. 17, 2026, 12:54 p.m.
Added
get_shader_portability_report
Sept. 17, 2026, 12:54 p.m.
Added
list_shader_topics
Sept. 17, 2026, 12:54 p.m.
Added
get_shader_project
Sept. 17, 2026, 12:54 p.m.
Added
search_shaders
Sept. 17, 2026, 12:54 p.m.
Added
list_recent
Sept. 17, 2026, 12:54 p.m.
Added
get_content
Sept. 17, 2026, 12:54 p.m.
Added
get_thread
Sept. 17, 2026, 12:54 p.m.
Added
search_site
Sept. 17, 2026, 12:54 p.m.