《战地6》Portal MCP服务器
《战地6》Portal MCP服务器是一个模型上下文协议(MCP)服务器,它将Godot引擎自动化与《战地》Portal软件开发工具包(SDK)工作流程相结合。该服务器使AI助手能够通过编程方式管理《战地6》Portal项目——启动编辑器、导出空间数据、重新生成Portal内容,并在不离开您的MCP支持的集成开发环境(IDE)的情况下持续接收调试反馈。
概述
这台服务器扩展了原始的Godot自动化栈,以理解在(某处)发布的Battlefield Portal SDK 战场门户社区/门户SDK通过MCP(可能是指某种开发或管理平台)暴露工具,助手们可以在《战地6》门户体验中进行迭代,捕捉实时反馈,并在紧密的开发循环中重新生成资源。
关键能力
Godot 自动化
- 为指定项目启动Godot编辑器
- 运行Battlefield Portal或自定义Godot项目,并流式传输日志
- 捕获并返回调试输出
- 启动和停止运行项目
- 查询已安装的Godot版本
- 发现Godot项目,检查结构,管理场景
- 创建场景、添加节点、加载纹理、导出MeshLibrary资源,并管理Godot 4.4+版本的UID更新
《战地》门户功能增强
- 检查检测到的Battlefield Portal SDK、项目以及FbExportData路径
- 列出可用的门户空间层级
- 将Godot场景转换为
.spatial.json通过gdconverter处理文件 - 从FbExportData资源中重新生成战场所门户Godot项目
要求
- Godot引擎 本地安装
- 《战地》门户SDK(软件开发工具包) 克隆并配置
- Python 3.9+(或 Python 3.9及以上版本) 适用于gdconverter脚本
- Node.js 和 npm
- 一个兼容MCP的助手,如Cline或Cursor
入门指南
克隆并构建
git clone https://github.com/oooindefatigable/Battlefield-Portal-MCP.git
cd Battlefield-Portal-MCP/godot-mcp
npm install
npm run build配置您的助手
克林(Cline)
将服务器添加到 ~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json:
{
"mcpServers": {
"bf6portal": {
"command": "node",
"args": ["/absolute/path/to/Battlefield-Portal-MCP/godot-mcp/build/index.js"],
"env": {
"DEBUG": "true"
},
"disabled": false,
"autoApprove": [
"launch_editor",
"run_project",
"get_debug_output",
"stop_project",
"get_godot_version",
"list_projects",
"get_project_info",
"create_scene",
"add_node",
"load_sprite",
"export_mesh_library",
"save_scene",
"get_uid",
"update_project_uids",
"get_portal_sdk_info",
"list_portal_levels",
"export_portal_level",
"create_portal_project"
]
}
}
}Claude Desktop(可译为“Claude桌面版”或保持原样,根据上下文决定是否需要具体翻译软件名称)
将服务器添加到您的Claude Desktop配置文件中(通常位于 %AppData%\Claude\claude_desktop_config.json (在Windows上)。替换 ` 如果您在安装存储库时使用了您的Windows用户名,那么(请使用该用户名) C:\\Users\\\\Documents\\MCP\\Battlefield-Portal-MCP-main\\Battlefield-Portal-MCP-main`:
{
"mcpServers": {
"bf6portal": {
"command": "node",
"args": [
"C:\\Users\\\\Documents\\MCP\\Battlefield-Portal-MCP-main\\Battlefield-Portal-MCP-main\\godot-mcp\\build\\index.js"
],
"env": {
"DEBUG": "true"
},
"autoApprove": [
"launch_editor",
"run_project",
"get_debug_output",
"stop_project",
"get_godot_version",
"list_projects",
"get_project_info",
"create_scene",
"add_node",
"load_sprite",
"export_mesh_library",
"save_scene",
"get_uid",
"update_project_uids",
"get_portal_sdk_info",
"list_portal_levels",
"export_portal_level",
"create_portal_project"
]
}
}
}光标
- 开放 光标设置 → 功能 → MCP(多点触控面板/手柄,具体含义根据上下文确定)
- 点击 + 添加新的MCP服务器
- 设置 名字 to
bf6portal - 设定 类型 to
command - 设置 命令 到
node /absolute/path/to/Battlefield-Portal-MCP/godot-mcp/build/index.js - 保存并刷新MCP服务器卡
对于项目范围的设置,请创建 .cursor/mcp.json 在您的工作空间内:
{
"mcpServers": {
"bf6portal": {
"command": "node",
"args": ["/absolute/path/to/Battlefield-Portal-MCP/godot-mcp/build/index.js"],
"env": {
"DEBUG": "true"
}
}
}
}在Windows中手动运行服务器
为了验证编译是否能够独立运行,请打开PowerShell 或按Windows键并执行:
node "C:\Users\\Documents\MCP\Battlefield-Portal-MCP-main\Battlefield-Portal-MCP-main\godot-mcp\build\index.js"替换 `` 使用你的Windows用户账户,并且如果你克隆了系统,请调整路径 在另一个文件夹中存储。
可选环境变量
MCP服务器会检查以下环境变量。请在需要时进行配置 自动检测无法找到您的本地安装:
GODOT_PATHGodot 可执行文件的绝对路径PORTAL_SDK_PATH战场门户SDK根目录PORTAL_PROJECT_PATH覆盖检测到的Godot门户项目PORTAL_FB_EXPORT_PATH以(权力)否决SDK/deps/FbExportDataPYTHON_PATH为gdconverter指定一个Python解释器DEBUG设置为true用于将详细的服务器日志输出到标准错误流(stderr)
Windows(PowerShell)
# Current session only
$env:GODOT_PATH = "C:\\Program Files\\Godot\\Godot.exe"
$env:PORTAL_SDK_PATH = "C:\\SDKs\\PortalSDK"
$env:PORTAL_PROJECT_PATH = "C:\\SDKs\\PortalSDK\\GodotProject"
$env:PORTAL_FB_EXPORT_PATH = "C:\\SDKs\\PortalSDK\\SDK\\deps\\FbExportData"
$env:PYTHON_PATH = "C:\\Users\\\\AppData\\Local\\Programs\\Python\\Python313\\python.exe"
$env:DEBUG = "true"
# Persist between sessions
setx GODOT_PATH "C:\\Program Files\\Godot\\Godot.exe"
setx PORTAL_SDK_PATH "C:\\SDKs\\PortalSDK"
setx PORTAL_PROJECT_PATH "C:\\SDKs\\PortalSDK\\GodotProject"
setx PORTAL_FB_EXPORT_PATH "C:\\SDKs\\PortalSDK\\SDK\\deps\\FbExportData"
setx PYTHON_PATH "C:\\Users\\\\AppData\\Local\\Programs\\Python\\Python313\\python.exe"
setx DEBUG "true"重启 Claude Desktop 或您的终端,以使永久更改生效。
macOS / Linux(bash,zsh)
export GODOT_PATH="/Applications/Godot.app/Contents/MacOS/Godot"
export PORTAL_SDK_PATH="$HOME/PortalSDK"
export PORTAL_PROJECT_PATH="$HOME/PortalSDK/GodotProject"
export PORTAL_FB_EXPORT_PATH="$HOME/PortalSDK/SDK/deps/FbExportData"
export PYTHON_PATH="$(which python3)"
export DEBUG="true"
# Opcional: añade estas líneas a ~/.bashrc o ~/.zshrc para que sean permanentes《战地》门户SDK集成
当Battlefield Portal SDK可用时,服务器会自动发现:
- SDK根目录和gdconverter实用程序
- 打包的Godot项目门户(
GodotProject) - 导出的空间数据(位于/在……之下)
SDK/deps/FbExportData
诸如……之类的工具 get_portal_sdk_info, list_portal_levels, export_portal_level,以及 create_portal_project 通过MCP公开此信息。如果您的SDK位于仓库外部,请使用上述环境变量覆盖发现路径。
示例提示
- “为我的Portal项目启动Godot编辑器”
- “运行《战地6》Portal项目并流式传输任何错误”
- “将MP_Aftermath场景导出到./exports”
- “列出SDK检测到的所有《战地》门户关卡”
- “从FbExportData重新生成门户项目”
- “在我的玩家场景中添加一个Sprite2D节点”
- “在迁移到Godot 4.4后更新UID引用”
故障排除
- 未找到Godot可执行文件设定
GODOT_PATH或者提供{ godotPath: '/path/to/godot' }在配置中。 - 未检测到SDK确保已克隆门户SDK并通过(相应方式)引用它
PORTAL_SDK_PATH如有必要。 - 无效的项目路径指向包含(某物)的目录
project.godot文件。 - 构建问题验证依赖项与
npm install并重新运行npm run build。 - 助手无法运行工具确认MCP服务器已启用,并且自动审批已覆盖所需操作。
许可证
根据MIT许可证发布。详见 许可证 详情如下。
