Token导航 LogoToken导航TokenDH.com
Game MCP Server logo
文档知识未说明官方级别未说明来源级核验

Game MCP Server

MCP Server

一个支持genai-game-engine项目的MCP服务器,提供研究、架构、叙事、QA和游戏测试知识存储,并通过Qdrant进行管理。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
游戏开发知识管理TypeScriptClaudeHTTP服务器Claude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

chris-arsenault

提供方

chris-arsenault

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

游戏MCP服务器

MCP(模型上下文协议)服务器,支持 genai游戏引擎 该项目将研究、架构、叙事、QA和游戏测试知识存储在Qdrant中。服务器在端口上公开可流式HTTP MCP传输 3000 默认情况下,Claude或任何兼容MCP的客户端都可以通过HTTP或curl进行连接。

此仓库中的项目

目录目的
mcp/流式HTTP MCP服务器,具有丰富的工具目录,用于研究、架构、QA、知识产权等。
graph-builder/填充所使用的知识图集合的管道 explore_graph_entitysearch_graph_semantic.
backlog-editor/可视化看板+切换编辑器,直接与Qdrant对话,为PBI和会话切换说明提供浏览器UI。
generate-image/独立的STDIO MCP服务器,代理OpenAI映像生成并将输出保存到磁盘。

项目命名空间

所有持久性现在都存在于项目范围的Qdrant集合中。规范项目列表存储在 mcp/config/projects.json:

  • 每个项目ID都是小写/烤肉串大小写(例如。 default, prototype-alpha).
  • MCP HTTP端点可在 `/

/mcp/ /sse (遗产 /mcp/sse` 路径解析为默认项目)。

  • 使用以下命令创建新项目及其Qdrant集合 POST /project 在MCP服务器上:
  curl -X POST http://localhost:5356/project \
    -H 'Content-Type: application/json' \
    -d '{"id":"glass"}'
  curl -v -X POST http://localhost:5356/reset \
    -H 'Content-Type: application/json' \
    -d '{"id":"glass","snapshot":false}'

卷曲-X POST”http://localhost:6333/collections/glass\_\_backlog_items/points/delete?wait=true" \ -H“内容类型:应用程序/json” \ -d'{“筛选器”:{“必须”:\[\]}' 卷曲”http://localhost:6333/collections/glass\_\_backlog_items

响应列出了完全限定的集合名称(例如。 prototype-alpha__research_findings).

  • backlog编辑器通过以下方式转发当前项目 project 查询参数或 X-Project-Id 标题(UI包括项目切换器)。如果省略,它将回退到共享配置文件中定义的默认项目。
  • 图形生成器接受可选 project 场上 POST /build 填充相应的 code_graph 命名空间。省略时,将使用默认项目。
  • list_qdrant_collections 返回特定于项目的集合名称,同时 get_server_metadata 发布支持项目的HTTP模板。
  • 使用 POST /reset 与身体 `{ "id": "

" } 对项目的Qdrant集合和Neo4j实体进行快照 /app/snapshots/ //`,然后清除它们,以便项目重新开始。

功能管理

  • 每个项目都可以暂停功能引入。呼叫 set_feature_lock { "locked": true } 拒绝新 create_feature 请求(MCP服务器响应“此时没有新功能”)并解锁 { "locked": false } 当计划恢复时。
  • 待办事项支持可选 feature_id 在...期间 create_backlog_itemupdate_backlog_item.使用 assign_backlog_to_feature 将现有PBI与 list_feature_backlog_items 以检索该功能的工作队列。

先决条件

  • Node.js 18+
  • Qdrant实例(默认为 http://qdrant:6333)
  • Neo4j实例(默认为 bolt://localhost:7687)
  • 嵌入服务公开 POST /embed (默认为 http://embedding-service:80,请参阅 嵌入服务)
  • OpenAI API密钥,可访问 gpt-4o-mini (可通过以下方式配置 OPENAI_MODEL)

脚本

npm run dev    # Start with ts-node + Streamable HTTP transport (default port 3000)
npm run build  # Type-check and compile TypeScript to dist/
npm start      # Build then run the compiled server from dist/

PORTMCP_PATH 覆盖HTTP绑定(默认值为 3000/mcp).

卷曲烟雾测试

该传输实现了MCP的流式HTTP流。每节课都以 initialize 请求。响应返回一个 Mcp-Session-Id 必须包含在后续请求和SSE流中的标头。

ℹ️ POST端点需要 Accept: application/json, text/event-stream 因此,传输可以协商JSON回复或服务器发送的事件。在每个JSON-RPC POST请求中包含此标头。
  1. 初始化会话
   curl -i -X POST http://localhost:3000/default/mcp \
     -H 'Content-Type: application/json' \
     -H 'Accept: application/json, text/event-stream' \
     -d '{
       "jsonrpc": "2.0",
       "id": "init-1",
       "method": "initialize",
       "params": {
         "protocolVersion": "2024-11-05",
         "clientInfo": { "name": "curl", "version": "0.1" },
         "capabilities": {}
       }
     }'

Note the `Mcp-Session-Id` header in the response (e.g. `bf6fda5a-a8d5-4ad6-b8e1-...`). Use it for all follow-up requests.

2. **List available tools**

curl -i -X POST http://localhost:3000/default/mcp \ -H 'Content-Type: application/json' \ -H 'Accept: application/json, text/event-stream' \ -H 'Mcp-Session-Id: d3baee33-df43-442d-a164-5675450c6860' \ -H 'Mcp-Protocol-Version: 2024-11-05' \ -d '{ "jsonrpc": "2.0", "id": "list-1", "method": "tools/list", "params": {} }'


3. **调用工具(例如:获取服务器元数据)**

curl -i -X POST http://localhost:3000/default/mcp \ -H 'Content-Type: application/json' \ -H 'Accept: application/json, text/event-stream' \ -H 'Mcp-Session-Id: ' \ -H 'Mcp-Protocol-Version: 2024-11-05' \ -d '{ "jsonrpc": "2.0", "id": "call-1", "method": "tools/call", "params": { "name": "get_server_metadata", "arguments": {} } }'


1. **订阅SSE流(可选)**

curl -N http://localhost:3000/default/sse \ -H 'Accept: text/event-stream' \ -H 'Mcp-Session-Id: ' \ -H 'Mcp-Protocol-Version: 2024-11-05'


   保持此curl运行以接收流式响应(例如记录事件)。使用 `Ctrl+C` 退出。

1. **终止会话(可选清理)**

curl -i -X DELETE http://localhost:3000/default/mcp \ -H 'Mcp-Session-Id: ' \ -H 'Mcp-Protocol-Version: 2024-11-05'


## 收藏和工具

- `config/collections.json` 记录每个Qdrant集合、其基数以及Claude代理依赖它的对象。
- `docs/mcp/usage.md` 涵盖了Claude集成和服务器公开的完整MCP工具目录。
- Bug修复内存存在 `bug_fix_patterns` 收藏,可通过 `record_bug_fix`, `match_bug_fix`,以及 `get_bug_fix` 工具。错误消息可以与修复一起存储,这样代理就可以在回退到语义匹配之前执行精确的日志行查找。
- 知识图嵌入存在于名为的项目范围集合中 `
__code_graph`.使用 `explore_graph_entity` 拉取Neo4j节点及其周围的关系,以及 `search_graph_semantic` 用于对图形生成器输出进行矢量搜索。
- 功能定义存在 `
__features`;用 `create_feature`, `update_feature`, `list_features`,以及 `get_feature`,并通过以下方式链接PBI `assign_backlog_to_feature` 或 `list_feature_backlog_items`.
- `GET /stats` 返回每个启动工具的使用计数器(`writes`/`reads`)对于MCP端点。

使用 `list_qdrant_collections` 和 `get_mcp_documentation` 以编程方式从客户端发现服务器功能。

## 知识图谱

设置以下环境变量,以便服务器可以访问图形生成器数据库:

|变量|默认值|用途|
| --- | --- | --- |
| `NEO4J_URL` | `bolt://localhost:7687` |由图构建器填充的Neo4j实例的螺栓端点|
| `NEO4J_USER` | `neo4j` |Neo4j身份验证的用户名|
| `NEO4J_PASSWORD` | `password` |Neo4j身份验证密码|
| `GRAPH_COLLECTION` | `code_graph` |图嵌入的基本集合名称(`
__code_graph` 按项目创建)|
| `DEFAULT_PROJECT` | `memory` |客户端省略时使用的初始命名空间 `project` |
| `SNAPSHOT_DIR` | `./snapshots` |目录在哪里 `POST /reset` 写入存档(在Docker compose中挂载到主机)|
| `GRAPH_BUILDER_PORT` | `4100` |图形生成器服务的HTTP端口|
| `OPENAI_API_KEY` | _(必填)_ |图形生成器用于丰富实体|
| `OPENAI_MODEL` | `gpt-5` |覆盖OpenAI模型以丰富语义|
| `REPO_URL` | `https://github.com/chris-arsenault/genai-game-engine.git` |构建器克隆的默认存储库|
| `REPO_BRANCH` | `main` |每次生成前同步默认分支|

图形生成器克隆 `chris-arsenault/genai-game-engine` 进入 `/mnt/apps/apps/mcp-server/game-mcp/server/source/genai-game-engine` 默认情况下,将数据同步到Neo4j+Qdrant中。构建器运行后,MCP客户端可以:

1. 呼叫 `search_graph_semantic` 使用自然语言或代码片段来获取最相关的图形实体。
1. 传递实体ID(例如。, `file:src/tools/graph.tool.ts`)to `explore_graph_entity` 直接从Neo4j检查入站/出站关系。

生成器在上公开REST API `http://:${GRAPH_BUILDER_PORT}`:

- `POST /build` 与身体 `{"mode":"full|incremental","stage":"all|parse|enrich|populate","baseCommit":"...","repoUrl":"...","branch":"...","project":""}` 开始一份工作。 `project` 是可选的,默认为配置的默认项目。 `repoUrl` 和 `branch` 默认为服务配置(请参阅上面的env-vars)。
- `GET /status` 轮询当前或上次运行摘要。
- `POST /reset` 以清除分期伪影和增量标记。

`POST /build` 排队工作后立即返回(HTTP 202);使用 `GET /status` 观察进展并获得最终总结。

示例:使用curl从localhost触发完全重建(所有阶段,默认repo/branch):

curl -s -X POST http://localhost:5346/build \ -H 'Content-Type: application/json' \ -d '{ "mode": "full", "stage": "all", "branch": "main", "project": "default" }'


然后投票:

curl -s http://localhost:4100/status | jq '.'


## 嵌入服务

提供的 `docker-compse.yml` 现在在CPU上启动拥抱人脸文本嵌入推理 `nomic-ai/nomic-embed-text-v1.5` 模型。它支持8192个令牌上下文窗口和768个维度嵌入,为长工具有效载荷提供了充足的空间,同时在双Xeon E5/128上仍然实用 GB RAM TrueNAS盒子。由于矢量大小相对于原始设置发生了变化,请运行 `./init-collections.sh` (或手动重新创建Qdrant集合),然后再摄取新数据。

容器安装 `/mnt/apps/apps/mcp-server/embedding-cache` 和设置 `MODEL_CACHE=/data`,因此模型权重在重新启动时保持不变。要在脱机计算机上预种子缓存,请执行以下操作:

huggingface-cli download nomic-ai/nomic-embed-text-v1.5 --local-dir /mnt/apps/apps/mcp-server/embedding-cache


嵌入客户端 `src/services/embedding.service.ts` 现在直接在日志中显示HTTP错误体(例如令牌限制警告),以使诊断配置错误更容易。

目录标签

目录标签

游戏开发知识管理TypeScriptClaudeHTTP服务器本地部署AI集成Qdrant

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

session

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明session部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP