Skip to main content
Glama
xiachenggang

game-knowledge MCP Server

by xiachenggang
README.md
# game-knowledge MCP Server

为 Cocos Creator 3.8.8 + exia-framework 提供 AI 知识库查询服务。

索引文件(`index/`)和 `.d.ts` 文件(`dts/`)已预构建并提交到仓库,clone 后即可直接使用。

---

## 目录

- [game-knowledge MCP Server](#game-knowledge-mcp-server)
  - [目录](#目录)
  - [快速安装](#快速安装)
  - [配置 AI 编辑器](#配置-ai-编辑器)
    - [Claude Code](#claude-code)
    - [Cursor](#cursor)
  - [可用工具](#可用工具)
  - [框架更新后同步索引(框架维护者操作)](#框架更新后同步索引框架维护者操作)
  - [首次构建索引](#首次构建索引)
  - [项目结构说明](#项目结构说明)

---

## 快速安装

> 要求:Node.js >= 22

```bash
git clone <仓库地址> ~/exia/exia-framework-mcp
cd ~/exia/exia-framework-mcp
npm install
```

安装完成后无需启动,AI 编辑器会在需要时自动拉起 MCP Server。

---

## 配置 AI 编辑器

### Claude Code

在游戏项目目录的 `.claude/settings.json`(或全局 `~/.claude/settings.json`)中添加:

```json
{
  "mcpServers": {
    "game-knowledge": {
      "command": "node",
      "args": ["/你实际clone的路径/exia-framework-mcp/src/server.js"]
    }
  }
}
```

配置后重启 Claude Code,运行 `/mcp` 命令确认 `game-knowledge` 状态为 connected。

### Cursor

在游戏项目根目录的 `.cursor/mcp.json` 中添加:

```json
{
  "mcpServers": {
    "game-knowledge": {
      "command": "node",
      "args": ["/你实际clone的路径/bit-framework-mcp/src/server.js"]
    }
  }
}
```

---

## 可用工具

MCP Server 启动后,AI 可直接调用以下工具查询 API:

| 工具         | 说明                       | 示例                             |
| ------------ | -------------------------- | -------------------------------- |
| `search_api` | 语义搜索(支持中英文互搜) | `search_api("延迟执行")`         |
| `get_module` | 查询模块包含的所有类/接口  | `get_module("bit-ui")`           |
| `get_class`  | 查询类的完整属性和方法     | `get_class("Window")`            |
| `get_method` | 查询特定方法签名           | `get_method("Window", "onShow")` |

**search_api 支持的 source 参数:**

- `all`(默认):同时搜索框架和 Cocos 引擎 API
- `framework`:只搜索 bit-framework 模块
- `cocos`:只搜索 Cocos Creator 3.8.8 API

---

## 框架更新后同步索引(框架维护者操作)

1. 安装 cross-env:

```bash
npm install --save-dev cross-env
```

> 普通成员不需要执行此步骤,`git pull` 拉取最新索引后重启编辑器即可。

```bash
# 1. 手动复制有变动的模块 .d.ts(以 exia-ccui 为例)
cp /path/to/exia-framework/exia-ccui.d.ts dts/framework/exia-ccui.d.ts

# 2. 重建索引(首次运行需下载向量模型 ~120MB,存入 models/ 目录)
npm run sync

# 3. 提交并推送(不需要提交 models/ 目录,已在 .gitignore 中)
git add dts/ index/
git commit -m "chore: 同步框架索引 vX.X.X"
git push
```

国内网络若下载模型超时,`npm run sync` 默认已启用 `hf-mirror.com` 镜像,也可手动指定:

```bash
HF_ENDPOINT=https://hf-mirror.com npm run sync
```

---

## 首次构建索引

仓库已包含预构建索引,以下步骤仅在**完全重建**时需要。

```bash
# 1. 放入 Cocos 3.8.8 类型定义
cp /path/to/cc.d.ts dts/cocos/cc.d.ts

# 2. 放入框架 .d.ts(每个模块一个文件)
cp /path/to/exia-ccui.d.ts      dts/framework/exia-ccui.d.ts
cp /path/to/exia-data.d.ts     dts/framework/exia-data.d.ts
# ... 其余模块同理

# 3. 构建索引(Cocos 类较多,向量化需要几分钟)
npm run sync

# 4. 提交
git add dts/ index/
git commit -m "feat: 初始化框架索引"
git push
```

---

## 项目结构说明

```
exia-framework-mcp/
├── src/
│   ├── server.js          # MCP Server 入口,定义 4 个查询工具
│   ├── searcher.js        # 索引查询逻辑(关键词 + 向量语义搜索)
│   └── build-index.js     # 索引构建脚本(解析 .d.ts → JSON + 向量)
├── dts/
│   ├── framework/         # exia-framework 各模块 .d.ts(已预置)
│   └── cocos/             # cc.d.ts(Cocos 3.8.8,已预置)
├── index/                 # 构建产物(已预置,勿手动修改)
│   ├── framework.json     # 框架类索引
│   ├── framework-vectors.json  # 框架语义向量
│   ├── cocos.json         # Cocos 类索引
│   └── cocos-vectors.json # Cocos 语义向量
├── models/                # 向量模型缓存(.gitignore,本地自动生成)
└── package.json
```

TDQS

A3.7/5.0

Scored across 4 tools

Disambiguation5/5

Each tool targets a distinct level of the API knowledge hierarchy: search, module, class, and method. There is no overlap in purpose; search returns results, while the get_* tools retrieve specific entities. The hierarchy is clear and unambiguous.

Naming Consistency5/5

All tool names follow a consistent snake_case verb_noun pattern: search_api, get_module, get_class, get_method. This makes the pattern predictable and easy to infer for additional tools.

Tool Count4/5

Four tools is a minimal but well-scoped set for an API knowledge server. Each tool covers a distinct retrieval need, and the count is neither excessive nor trivially small for the stated purpose.

Completeness4/5

The set covers the core workflow of searching, navigating to a module, inspecting a class, and getting method details. A minor gap is the absence of a direct 'list modules' tool, but search provides an entry point, making the surface reasonably complete.

Maintenance

ActivityInactive
ResponsivenessNo issues