Token导航 LogoToken导航TokenDH.com
Unreal SDK MCP Server logo
开发工具stdio官方级别未说明来源级核验

Unreal SDK MCP Server

MCP Server

提供AccelByte Unreal SDK文档、符号和代码片段的MCP服务器,支持AI助手和开发工具快速检索SDK信息。

工具数

5

提示词数

0

GitHub Stars

0

资源数

0
C++开发工具ClaudeClaudeCursor

安装说明

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

作者 / 组织

AccelByte

提供方

AccelByte

最后核验

2026/5/17 20:19

快速接入

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

命令预览

pip install -r requirements.txt

详细介绍

AccelByte虚幻SDK MCP服务器

一个MCP(模型上下文协议)服务器,提供对AccelByte的虚幻SDK文档、符号和代码片段的访问。该服务器使AI助手和开发工具能够搜索和检索有关SDK类、函数和代码示例的信息。

概述

此MCP服务器索引并提供对以下内容的访问:

  • 符号:虚幻SDK和OSS SDK文档中的类、结构、函数、枚举和其他符号
  • 源代码:对AccelByte虚幻SDK存储库中的源文件进行索引
  • 代码段:从SDK存储库中提取的教程代码片段

服务器使用基于缓存的方法来实现快速启动。必须在运行服务器之前生成缓存文件。

先决条件

  • python 3.10或更高版本
  • Git (用于在缓存生成期间克隆SDK存储库)
  • XML文档文件:虚幻SDK和OSS SDK的Doxygen XML文件应放置在:

- data/unreal-sdk/ -虚幻SDK XML文件 - data/oss-sdk/ -OSS SDK XML文件

安装

  1. 克隆或下载此存储库
  2. 安装依赖项:
pip install -r requirements.txt

缓存生成

在运行服务器之前,您必须生成缓存文件。这是一个一次性(或周期性)的过程,对所有符号、源文件和代码段进行索引。

生成所有缓存

python generate_cache.py

此脚本将:

  1. 解析XML文档:从虚幻SDK和OSS SDK的Doxygen XML文件中提取符号
  2. 索引源文件:克隆AccelByte虚幻SDK存储库(如果需要)并索引源代码文件
  3. 索引代码段:从教程模块中提取并索引代码片段

已生成缓存文件

以下缓存文件是在 .cache/ 目录:

  • unreal-sdk-symbols.json -从虚幻SDK XML解析的符号
  • oss-sdk-symbols.json -从OSS SDK XML解析符号
  • source-index.json -源代码文件、类和方法的索引
  • bytewars-snippets.json -教程模块代码片段索引

缓存生成说明

  • 缓存生成可能需要几分钟,具体取决于XML文件和存储库的大小
  • 源存储库被克隆到 .cache/accelbyte-unreal-sdk-plugin/ 如果它不存在
  • 如果缓存生成失败,请检查:

- XML文件存在于 data/unreal-sdk/data/oss-sdk/ - 您有网络访问权限可以克隆GitHub存储库 - 您有足够的磁盘空间

运行服务器

生成缓存文件后,启动MCP服务器:

python server.py

服务器默认为stdio传输,这是Claude Code和Cursor等MCP客户端所必需的。它将:

  • 启动时加载所有缓存文件
  • 如果缓存文件丢失或为空,则显示警告
  • 通过stdin/stdout接受MCP协议请求

苏格兰和南方能源公司运输

要改用HTTP/SSE传输运行,请执行以下操作:

python server.py --transport=sse --port=3000

SSE端点:

  • http://localhost:3000/sse --SSE连接端点
  • http://localhost:3000/messages/ --POST消息端点

服务器启动

启动时,服务器将记录:

  • 从每个SDK加载的符号数
  • 源索引统计(文件、类、方法)
  • 片段计数

如果缺少任何缓存,您将看到警告,指示您运行 generate_cache.py.

工具

服务器提供用于搜索和检索SDK信息、获取实现指南和安装虚幻SDK的工具。返回或建议AccelByte代码的工具(search_symbols、search_snippets、search_example.components、describe_symbol、describe_example.compounds、get_AccelByte_how_to)包括一个顶级 sdkRequirement 在他们的回复中声明必须安装AccelByte虚幻SDK(以及OSS/NetworkUtilities,如果使用的话)才能使代码工作,并且 install_unreal_sdk 如果需要,可以使用。

1. search_symbols

在SDK文档中搜索符号(类、结构、函数等)。

参数:

  • query (必填,字符串):与符号名称、类型或描述匹配的搜索查询
  • source (可选,枚举):按SDK源筛选- "oss-sdk""unreal-sdk"
  • type (可选,枚举):按符号类型筛选- "class", "struct", "function", "enum", "namespace", "variable"
  • limit (可选,数字):返回的最大结果数(默认值:20)

退货:

  • 符号结果数组:

- id:符号标识符(例如。, "FOnlineIdentityAccelByte@cpp") - type:符号类型(例如。, "class", "struct") - description:从XML文档中提取的简要描述

例子:

{
  "query": "login",
  "source": "oss-sdk",
  "type": "class",
  "limit": 10
}

评分:

  • OSS SDK符号优先(接收+100基本分数)
  • 精确名称匹配得分高于部分匹配得分
  • 结果按相关性得分排序

2. search_snippets

按查询、区域或标签搜索教程模块中的代码片段。

参数:

  • query (可选,字符串):与代码段内容、名称或函数匹配的搜索查询
  • area (可选,字符串):按区域过滤(例如。, "auth", "party", "chat", "session", "store", "cloudsave", "statistics", "friends", "presence", "matchmaking")
  • tags (可选,字符串数组):按标签筛选(所有指定的标签必须匹配)。示例: "authentication", "login", "multiplayer", "messaging", "storage", "monetization"
  • limit (可选,数字):返回的最大结果数(默认值:20)

退货:

  • 代码段结果数组,包含:

- id:代码段标识符 - uri:用于获取代码段的资源URI - name:代码段名称 - area:功能区域(例如。, "access", "monetization") - function:函数名称 - file:源文件名 - description:人类可读的描述

例子:

{
  "query": "device id login",
  "area": "access",
  "tags": ["authentication"],
  "limit": 5
}

3. describe_symbols

获取有关特定符号的详细信息,包括它们的字段、方法和相关代码段。

参数:

  • symbolIds (必填,字符串数组):要描述的符号ID列表(例如。, ["FOnlineIdentityAccelByte@cpp", "FOnlineSubsystemAccelByte@cpp"])
  • includeSnippets (可选,布尔值):是否包含相关代码段链接(默认值: true)
  • snippetLimit (可选,数字):每个符号的相关代码段的最大数量(默认值:5)

退货:

  • 符号描述数组,包括:

- id:符号标识符 - name:完整符号名称 - type:符号类型 - source:SDK源代码("oss-sdk""unreal-sdk") - uri:资源URI - fields:包含类型和描述的字段定义的对象 - methods:包含带参数、返回类型和描述的方法定义的对象 - snippets:使用此符号的相关代码段数组 - snippetCount:找到的片段数

例子:

{
  "symbolIds": ["FOnlineIdentityAccelByte@cpp"],
  "includeSnippets": true,
  "snippetLimit": 5
}

4. get_accelbyte_how_to

获取常见AccelByte任务的实施最佳实践和操作指南。提供分步说明、代码模板以及相关代码段和示例组件的链接。

参数:

  • topic (必填,字符串):您需要指导的主题或问题(例如。, "get api client", "add api call", "authentication", "matchmaking").支持部分匹配和关键字。
  • include_code_examples (可选,布尔值):是否包含代码段索引中的相关代码段(默认值: true)
  • include_components (可选,布尔值):是否包含相关示例组件(默认值: true)

可用主题:

  • 获取apiclient -如何获取AccelByte API客户端实例
  • 添加api调用 -如何向虚幻SDK添加新的API调用
  • 认证 -如何使用AccelByte对用户进行身份验证
  • 牵线搭桥 -如何使用AccelByte实现匹配
  • 成就 -如何查询和显示玩家成就

退货:

  • guide:结构化指南,包括:

- id, title, source_url:基本元数据 - overview:主题描述 - methods:代码模板、先决条件和步骤的不同方法 - steps:总体实施步骤(针对具有顺序流程的主题) - best_practices:推荐做法 - common_pitfalls:要避免的事情 - related_content:相关片段和示例组件(如果启用)

  • sdkRequirement:SDK安装说明

例子:

{
  "topic": "get api client",
  "include_code_examples": true,
  "include_components": true
}

最佳实践.md 详细文档。

5. install_unreal_sdk

从GitHub下载并将AccelByte虚幻组件安装到虚幻项目中;可选更新 .uproject、生成文件和DefaultEngine.ini。支持 AccelByte游戏SDK, AccelByte OSS (在线子系统),以及 AccelByteNetwork实用程序.所有插件都安装在 Plugins/Accelbyte/ 完全集成(插件条目、Build.cs、Target.cs和默认配置(如适用))。

参数:

  • projectPath (必填,字符串):虚幻项目根目录的路径(包含 .uproject 文件)。使用绝对路径或相对于的路径 workspaceRoot.
  • components (可选,字符串数组):要安装的组件: "sdk" (AccelByte游戏SDK), "oss" (在线子系统), "networkUtilities" (AccelByteNetworkUtilities)。默认 ["sdk"].安装顺序:networkUtilities、sdk、oss。使用 ["sdk", "oss", "networkUtilities"] 为了实现全面整合。
  • workspaceRoot (可选,字符串):用于解析相对值的工作区根目录 projectPath。默认为当前工作目录。
  • source (可选,枚举):如何获取每个组件- "release" (默认)=从GitHub下载最新版本的ZIP; "git" =通过Git克隆存储库。
  • version (可选,字符串):用于 source: "release":标签名称(例如。 "v1.2.0").忽略最新版本。对于 source: "git":要克隆的分支或标记。适用于所有组件。
  • setupProjectFiles (可选,布尔值):如果 true,向添加插件 .uproject, Build.cs,以及 Target.cs,并添加默认的AccelByte配置(使用OSS时添加\[OnlineSubsystem\]) DefaultEngine.ini.默认值 false.
  • regenerateProjectFiles (可选,布尔值):如果 true,运行UnrealVersionSelector(Windows)或GenerateProjectFiles(Mac)以重新生成IDE项目文件(.sln / .vcxproj)设置后。默认 false.

退货:

  • success (boolean):操作是否成功。
  • installedPaths (字符串数组,如果成功):已安装插件文件夹的完整路径(例如。 Project/Plugins/Accelbyte/AccelByteUe4Sdk, Project/Plugins/Accelbyte/OnlineSubsystemAccelByte).
  • message (string):人类可读的结果或下一步。
  • setupDetails (数组,可选):当 setupProjectFiles 是否正确,所做更改列表;当 regenerateProjectFiles 成功,包括再生消息。
  • regenerateResult (对象,可选):当 regenerateProjectFiles 是真的, { success, message } (以及 stderr 失败)。

示例(仅SDK,默认):

{
  "projectPath": "C:/MyGame",
  "source": "release",
  "setupProjectFiles": true
}

示例(完全集成:SDK+OSS+网络实用程序):

{
  "projectPath": "C:/MyGame",
  "components": ["sdk", "oss", "networkUtilities"],
  "source": "release",
  "setupProjectFiles": true,
  "regenerateProjectFiles": true
}

安装后,配置 DefaultEngine.ini 凭借您的AGS证书。看 官方AccelByte虚幻SDK安装文档 用于手动步骤和配置。

资源

服务器公开了几种可以列出和读取的资源:

符号资源

URI格式:

  • unreal-sdk/cpp://{symbolId} -虚幻SDK符号
  • oss-sdk/cpp://{symbolId} -OSS SDK符号

例子: oss-sdk/cpp://FOnlineIdentityAccelByte@cpp

内容: 符号的完整JSON表示,包括所有字段、方法和元数据。

源文件资源

URI格式:

  • source://{filePath} -直接文件路径(例如。, source://Source/AccelByteWars/TutorialModules/Access/AuthEssentials/AuthEssentialsSubsystem.cpp)
  • source://class/{ClassName} -类实现查找

内容: C++格式的文件的完整源代码。

片段资源

URI格式:

  • snippet://{snippetId} -代码片段(例如。, snippet://oss/access/login)

内容: JSON对象包含:

  • 片段元数据(id、名称、区域、功能、文件)
  • 文件路径和行号
  • 标签和用途
  • 相关符号
  • 完整代码内容

用法示例

示例1:查找登录类

{
  "tool": "search_symbols",
  "arguments": {
    "query": "login",
    "source": "oss-sdk",
    "type": "class"
  }
}

示例2:获取详细的符号信息

{
  "tool": "describe_symbols",
  "arguments": {
    "symbolIds": ["FOnlineIdentityAccelByte@cpp"],
    "includeSnippets": true
  }
}

示例3:查找身份验证代码段

{
  "tool": "search_snippets",
  "arguments": {
    "area": "access",
    "tags": ["authentication", "login"],
    "limit": 10
  }
}

示例4:读取符号资源

Resource URI: oss-sdk/cpp://FOnlineIdentityAccelByte@cpp

以JSON格式返回完整的符号定义。

示例5:读取代码段

Resource URI: snippet://oss/access/login

返回包含完整代码内容和元数据的代码段。

示例6:Get-AccelByte How-To指南API客户端

{
  "tool": "get_accelbyte_how_to",
  "arguments": {
    "topic": "get api client",
    "include_code_examples": true,
    "include_components": true
  }
}

返回包含多个方法、代码模板和相关代码段/组件的全面指南。

故障排除

缓存文件丢失

如果您看到有关丢失缓存文件的警告:

  1. 确保XML文件位于 data/unreal-sdk/data/oss-sdk/
  2. python generate_cache.py 重新生成所有缓存

空搜索结果

  • 验证缓存文件是否已成功生成
  • 检查XML文件是否包含预期的文档
  • 尝试更广泛的搜索查询(更少的过滤器)

服务器无法启动

  • 检查Python版本: python --version (应为3.10+)
  • 验证是否安装了依赖项: pip install -r requirements.txt
  • 检查缓存文件中的错误(可能需要重新生成)

源索引为空

  • 确保可以克隆GitHub存储库
  • 检查网络连接
  • 验证中的存储库路径 source_indexer.py 是正确的

项目结构

.
├── server.py              # Main MCP server implementation
├── parser.py              # XML parser for symbol extraction
├── source_indexer.py      # Source code and snippet indexing
├── generate_cache.py      # Cache generation script
├── sdk_installer.py       # Unreal SDK download and installation
├── requirements.txt       # Python dependencies
├── README.md              # This file
├── BEST_PRACTICES.md      # Best practices tool documentation
├── TRANSPORT.md           # Transport modes documentation
├── data/                  # XML documentation and best practices
│   ├── unreal-sdk/        # Unreal SDK XML files
│   ├── oss-sdk/           # OSS SDK XML files
│   └── best-practices.json # Best practices content
└── .cache/                # Generated cache files (gitignored)
    ├── unreal-sdk-symbols.json
    ├── oss-sdk-symbols.json
    ├── source-index.json
    └── bytewars-snippets.json

许可证

国际学生委员会

目录标签

目录标签

C++开发工具Claude本地部署SDK文档代码检索Unreal引擎AI辅助

支持客户端

ClaudeCursor

接入字段

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

stdio

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

session

工具数量(toolCount,工具数)

5

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdiosession部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP