Search and cite GameDev.net forums, tutorials, postmortems, and game-industry news.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
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.
id from a search result
content_type from a search result
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
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.
| Argument | Type | Description |
|---|---|---|
| id* | integer | id from a search result |
| content_type* | string | content_type from a search result |
{
"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"
}
}
}Run ShaderLab deterministic E1 portability analysis for a public project and optional three.js, Godot, Unity, or WebGL target.
| Argument | Type | Description |
|---|---|---|
| target | string | Optional engine target; omit for a general E1 portability report. |
| project_id* | integer | Public ShaderLab project id. |
{
"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."
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| project_id* | integer | ShaderLab project id |
| max_source_chars | integer | Maximum source characters across all passes; 0 returns pass metadata without source. |
{
"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."
}
}
}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".
| Argument | Type | Description |
|---|---|---|
| story_id* | integer | Story cluster id from list_trending_content (mode='stories') |
{
"type": "object",
"required": [
"story_id"
],
"properties": {
"story_id": {
"type": "integer",
"description": "Story cluster id from list_trending_content (mode='stories')"
}
}
}Fetch one GameDev.net forum thread with its posts (plain text), including which reply is the accepted answer.
| Argument | Type | Description |
|---|---|---|
| topic_id* | integer | Forum topic ID |
| max_posts | integer |
{
"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 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.
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| content_type* | string | Kind of content to list |
{
"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 the human-curated ShaderLab topic taxonomy with optional public project counts and representative examples.
| Argument | Type | Description |
|---|---|---|
| include_counts | boolean | Include counts of public projects matched by each topic taxonomy entry. |
| include_examples | integer | Representative public projects per topic, from 0 to 5. |
{
"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."
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| tag | string | Optional tag filter (e.g. "unreal", "funding") |
| mode | string | Clustered stories (default) or individual articles |
| limit | integer |
{
"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 public, published ShaderLab projects with structured runtime, topic, difficulty, license, and explanation filters.
| Argument | Type | Description |
|---|---|---|
| page | integer | |
| sort | string | Relevance for text queries, publication recency, or all-time engagement. |
| query | string | Optional title, description, author, or tag search text. |
| topics | array | Curated slugs returned by list_shader_topics; matches confirmed techniques or equivalent author tags. |
| runtime | string | |
| licenses | array | Only projects using one of these license keys. |
| per_page | integer | |
| difficulty | string | |
| explained_only | boolean | Only projects with annotations for the current revision. |
{
"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."
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| page | integer | |
| sort | string | Order results by relevance (default) or recency |
| query* | string | Search query |
| per_page | integer | |
| content_types | array | Optional filter: forum_topic, forum_post, blog_entry, tutorial, project, portfolio, shader_project, news, news_item, answer_page, thread_digest |
{
"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"
}
}
}