GameDev.net
Search and cite GameDev.net forums, tutorials, postmortems, and game-industry news.
我该使用它吗
质量与安全性
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"mcp": {
"url": "https://gamedev.net/mcp/"
}
}
}远程端点
https://gamedev.net/mcp/streamable-http它能做什么
工具清单
工具(10)
🟢search_site(query, content_types, sort, page, per_page)
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.
输入模式
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Search query"
},
"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"
},
"sort": {
"type": "string",
"enum": [
"relevance",
"date"
],
"default": "relevance",
"description": "Order results by relevance (default) or recency"
},
"page": {
"type": "integer",
"minimum": 1,
"default": 1
},
"per_page": {
"type": "integer",
"minimum": 1,
"maximum": 25,
"default": 10
}
},
"required": [
"query"
]
}🟢get_thread(topic_id, max_posts)
Fetch one GameDev.net forum thread with its posts (plain text), including which reply is the accepted answer.
输入模式
{
"type": "object",
"properties": {
"topic_id": {
"type": "integer",
"description": "Forum topic ID"
},
"max_posts": {
"type": "integer",
"minimum": 1,
"maximum": 50,
"default": 20
}
},
"required": [
"topic_id"
]
}🟢get_content(content_type, id)
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.
输入模式
{
"type": "object",
"properties": {
"content_type": {
"type": "string",
"description": "content_type from a search result"
},
"id": {
"type": "integer",
"description": "id from a search result"
}
},
"required": [
"content_type",
"id"
]
}🟢list_recent(content_type, limit)
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.
输入模式
{
"type": "object",
"properties": {
"content_type": {
"type": "string",
"enum": [
"answers",
"blogs",
"digests",
"forums",
"news",
"portfolios",
"projects",
"shaders",
"tutorials"
],
"description": "Kind of content to list"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 25,
"default": 10
}
},
"required": [
"content_type"
]
}🟢search_shaders(query, runtime, topics, difficulty, licenses, ...)
Search public, published ShaderLab projects with structured runtime, topic, difficulty, license, and explanation filters.
输入模式
{
"type": "object",
"properties": {
"query": {
"type": "string",
"maxLength": 100,
"description": "Optional title, description, author, or tag search text."
},
"runtime": {
"type": "string",
"enum": [
"glsl",
"webgpu",
"webgpu_compute"
]
},
"topics": {
"type": "array",
"items": {
"type": "string"
},
"description": "Curated slugs returned by list_shader_topics; matches confirmed techniques or equivalent author tags."
},
"difficulty": {
"type": "string",
"enum": [
"beginner",
"intermediate",
"advanced"
]
},
"licenses": {
"type": "array",
"description": "Only projects using one of these license keys.",
"items": {
"type": "string",
"enum": [
"cc-by-nc-sa-3.0",
"cc-by-4.0",
"cc-by-sa-4.0",
"cc0",
"mit",
"all-rights-reserved"
]
}
},
"explained_only": {
"type": "boolean",
"default": false,
"description": "Only projects with annotations for the current revision."
},
"sort": {
"type": "string",
"enum": [
"relevance",
"new",
"top"
],
"default": "relevance",
"description": "Relevance for text queries, publication recency, or all-time engagement."
},
"page": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 1
},
"per_page": {
"type": "integer",
"minimum": 1,
"maximum": 25,
"default": 10
}
}
}🟢get_shader_project(project_id, max_source_chars)
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.
输入模式
{
"type": "object",
"properties": {
"project_id": {
"type": "integer",
"description": "ShaderLab project id"
},
"max_source_chars": {
"type": "integer",
"minimum": 0,
"maximum": 100000,
"default": 20000,
"description": "Maximum source characters across all passes; 0 returns pass metadata without source."
}
},
"required": [
"project_id"
]
}🟢list_shader_topics(include_counts, include_examples)
List the human-curated ShaderLab topic taxonomy with optional public project counts and representative examples.
输入模式
{
"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",
"minimum": 0,
"maximum": 5,
"default": 0,
"description": "Representative public projects per topic, from 0 to 5."
}
}
}🟢get_shader_portability_report(project_id, target)
Run ShaderLab deterministic E1 portability analysis for a public project and optional three.js, Godot, Unity, or WebGL target.
输入模式
{
"type": "object",
"properties": {
"project_id": {
"type": "integer",
"description": "Public ShaderLab project id."
},
"target": {
"type": "string",
"enum": [
"threejs",
"godot",
"unity",
"webgl"
],
"description": "Optional engine target; omit for a general E1 portability report."
}
},
"required": [
"project_id"
]
}🟢list_trending_content(mode, limit, tag)
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.
输入模式
{
"type": "object",
"properties": {
"mode": {
"type": "string",
"enum": [
"stories",
"items"
],
"default": "stories",
"description": "Clustered stories (default) or individual articles"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 25,
"default": 10
},
"tag": {
"type": "string",
"description": "Optional tag filter (e.g. \"unreal\", \"funding\")"
}
}
}🟢get_story(story_id)
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".
输入模式
{
"type": "object",
"properties": {
"story_id": {
"type": "integer",
"description": "Story cluster id from list_trending_content (mode='stories')"
}
},
"required": [
"story_id"
]
}社区
证据