使用说明
在铁路上部署和托管HopStack MCP For虚幻引擎
HopStack MCP是一个云MCP模式发现服务器,它公开 638虚幻引擎5工具定义 在...之上 模型上下文协议。它让Claude、GitHub Copilot和Cursor等人工智能代理发现完整的UE5编辑器API和参数模式,通过实时、自托管的MCP端点实现智能人工智能辅助虚幻引擎开发。
关于为虚幻引擎托管HopStack MCP
在Railway上托管HopTackMCP部署了一个FastMCP Python服务器,该服务器将638个虚幻引擎工具模式作为实时MCP端点发布。Railway构建包含的Dockerfile(Python 3.12-slim,非根容器),注入 PORT 环境变量,并自动提供公共HTTPS URL。服务器完全是无状态的——它从捆绑的JSON文件中加载一次工具定义,将其缓存在内存中,并将其提供给任何兼容MCP的客户端。不需要数据库、存储卷或外部服务。一个铁路服务实例可以轻松处理生产流量。更新工具定义就像将新的JSON推送到存储库一样简单;铁路在几秒钟内重新部署。
常见用例
- 人工智能辅助UE5开发 --将Claude、GitHub Copilot或Cursor连接到您的MCP端点,以便他们可以发现所有638个虚幻引擎工具模式并智能地指导编辑器操作。
- 无头/CI管道 --为AI自动化脚本提供一个稳定的MCP端点,以便在没有本地编辑器的情况下,在自动构建或测试管道期间查询工具签名和参数模式。
- 自定义工具集成 --取回
/tools.json从任何客户端接收用于下游处理或注册表填充的完整机器可读工具定义数组。
HopTackMCP对虚幻引擎托管的依赖关系
- Python 3.12 --FastMCP服务器的运行时
- fastmcp[http]≥3.0 --MCP服务器框架提供
/mcp可流式HTTP传输 - uvicorn≥0.30+wsproto≥1.2 --ASGI生产服务器(wsproto取代了弃用的websockets旧后端)
部署依赖关系
- FastMCP --Python MCP服务器框架
- 铁路Dockerfile部署 --铁路建设和运营包括
Dockerfile自动地 - 模型上下文协议规范 --此服务器实现的协议(规范版本
2025-03-26)
实现细节
服务器在启动时使用FastMCP从JSON动态注册每个工具 mcp.tool() decorator,构建适当的Python函数签名和类型注释,以便MCP客户端收到完整的模式自检:
# Each tool from JSON becomes a live MCP-registered handler
async def handler(**kwargs) -> dict:
return {
"tool": name,
"status": "dispatched",
"note": "Tool schema served. Execution is handled by your local integration."
}
mcp.tool(name="chaos.create_field")(handler)
一个ASGI应用程序提供三个端点:
POST/GET /mcp # MCP protocol (Streamable HTTP, spec 2025-03-26)
GET /tools.json # Raw JSON array of all tool definitions
GET /health # {"status":"ok","tools":638}
为什么要在铁路上部署HopTackMCP For虚幻引擎?
Railway是一个部署基础设施堆栈的单一平台。铁路将托管您的基础设施,这样您就不必处理配置,同时允许您垂直和水平扩展它。
通过在铁路上部署HopStack MCP For虚幻引擎,您离以最小的负担支持完整的全栈应用程序又近了一步。在Railway上托管您的服务器、数据库、AI代理等。
HopStack MCP——完整文档
目录
运作原理
HopStack MCP是一个 模式发现 服务器-它告诉人工智能代理 什么 工具存在和 他们接受哪些参数。在Railway上部署后,您将获得一个个人公共HTTPS URL。将任何兼容MCP的客户端指向 /mcp 完整的638工具模式可立即用于人工智能辅助开发工作流程。
AI Agent (Claude / Copilot / Cursor)
│
│ MCP over HTTP (schema discovery + tool descriptions)
▼
YOUR_RAILWAY_APP.up.railway.app ← your deployed instance
│
│ /tools.json (machine-readable tool definitions)
▼
Any downstream integration or local execution environment
当代理调用工具时,此服务器会响应:
{
"tool": "chaos.create_field",
"status": "dispatched",
"note": "Tool schema served. Execution is handled by your local integration."
}
建筑
| 组件 | 位置 | 目的 |
|---|---|---|
server.py |
这个repo(Railway) | FastMCP HTTP服务器——模式发现, /tools.json, /health |
data/*.json |
此仓库 | 638个具有完整JSON输入模式的工具定义 |
端点
| 方法 | 路径 | 描述 |
|---|---|---|
POST / GET |
/mcp |
MCP协议端点(可流式HTTP,规范2025-03-26) |
GET |
/tools.json |
包含全部638个工具定义的原始JSON数组 |
GET |
/health |
轻量级健康检查,退货 {"status":"ok","tools":638} |
MCP协议详细信息
- 规范版本:
2025-03-26(流式HTTP) - 运输: HTTP POST用于请求,HTTP GET用于SSE通知流
- 身份验证: 无(工具定义是公开的)
快速入门——连接AI代理
部署后,您的服务器URL将是:
https://YOUR_RAILWAY_APP.up.railway.app
替换 YOUR_RAILWAY_APP 子域名Railway分配给您的部署。
克劳德桌面
编辑 ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)或 %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"HopStackMCP": {
"url": "https://YOUR_RAILWAY_APP.up.railway.app/mcp",
"transport": "http"
}
}
}
重新启动克劳德桌面。638个UE5工具将出现在Claude的工具列表中。
GitHub副本(VS代码)
添加到您的工作区 .vscode/mcp.json (或用户级别 settings.json):
{
"servers": {
"HopStackMCP": {
"type": "http",
"url": "https://YOUR_RAILWAY_APP.up.railway.app/mcp"
}
}
}
在代理模式下打开Copilot聊天面板。工具会自动显示。
光标
打开 光标设置→ MCP 并添加新服务器:
| 字段 | 值 |
|---|---|
| 姓名 | HopStackMCP |
| 类型 | HTTP |
| URL | https://YOUR_RAILWAY_APP.up.railway.app/mcp |
或添加到 ~/.cursor/mcp.json:
{
"mcpServers": {
"HopStackMCP": {
"url": "https://YOUR_RAILWAY_APP.up.railway.app/mcp",
"transport": "streamable-http"
}
}
}
Codex CLI
codex --mcp-server "https://YOUR_RAILWAY_APP.up.railway.app/mcp"
或添加到 ~/.codex/config.toml:
[[mcp_servers]]
name = "HopStackMCP"
url = "https://YOUR_RAILWAY_APP.up.railway.app/mcp"
部署您自己的实例
一键铁路
单击此README顶部的按钮。铁路将:
- 将此仓库克隆到您的Railway帐户中
- 构建Docker镜像
- 注射a
PORTenv-var并启动服务器 - 给你一个公共HTTPS URL
在上述示例显示的任何地方使用该URL YOUR_RAILWAY_APP.up.railway.app.
手动铁路(CLI)
# Install Railway CLI
npm install -g @railway/cli
# Login
railway login
# Create a new project and link it
railway init
# Deploy
railway up
码头工人
使用Docker在本地构建和运行:
# Clone the repo
git clone https://github.com/TaimoorSiddiquiOfficial/HopStackMCP.git
cd HopStackMCP
# Build
docker build -t hopstackmcp .
# Run on port 8080
docker run -p 8080:8000 -e PORT=8000 hopstackmcp
服务器可用 http://localhost:8080.
本地开发
不需要Docker:
git clone https://github.com/TaimoorSiddiquiOfficial/HopStackMCP.git
cd HopStackMCP
# Create a virtual environment
python -m venv .venv
.venv\Scripts\activate # Windows
# source .venv/bin/activate # macOS/Linux
# Install dependencies
pip install -r requirements.txt
# Run
python server.py
服务器可用 http://localhost:8000.
健康检查:
curl http://localhost:8000/health
# {"status":"ok","tools":638}
列出所有工具(原始JSON):
curl http://localhost:8000/tools.json | python -m json.tool | head -60
测试MCP初始化:
curl -X POST http://localhost:8000/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"test","version":"1.0"}}}'
通过MCP列出前5个工具:
curl -X POST http://localhost:8000/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}'
环境变量
| 变量 | 默认值 | 描述 |
|---|---|---|
PORT |
8000 |
服务器监听的端口。Railway会自动设置此端口。 |
工具类别
638个工具跨越整个虚幻引擎5 C++API表面的149个类别前缀:
| 类别前缀 | 示例工具 | 域 |
|---|---|---|
chaos |
chaos.create_field, chaos.fracture |
混沌破坏 |
cloth |
cloth.configure_sim, cloth.set_wind |
布料模拟 |
sequencer |
sequencer.add_track, sequencer.add_keyframe |
电影序列器 |
gas |
gas.create_ability, gas.add_modifier |
游戏能力系统 |
navsystem |
navsystem.query_path, navsystem.rebuild |
导航 |
livelink |
livelink.add_source, livelink.list_subjects |
实时链接/MoCap |
commonui |
commonui.list_widget_classes |
CommonUI框架 |
water |
water.set_wave_settings |
供水系统 |
ikrig |
ikrig.add_solver, ikrig.add_goal 我富有。 |
|
massai |
massai.list_processors |
大规模AI/ECS |
gamefeatures |
gamefeatures.activate |
游戏功能 |
usd |
usd.import_stage, usd.export |
美元管道 |
datasmith |
datasmith.import |
数据匠 |
levelsnapshot |
levelsnapshot.capture |
级别快照 |
composure |
composure.add_layer |
构成 |
| (增加134个) |
每个工具都包含一个完整的 JSON 模式 (inputSchema)描述其参数、类型、必填字段和描述,使其可供任何MCP客户端探索。
添加或更新工具
工具定义已上线 data/:
data/
ue_cpp_api_tools_with_schema.json # 398 tools
ue_cpp_api_tools_with_schema_more.json # 240 tools
每个条目都遵循以下结构:
{
"name": "chaos.create_field",
"description": "Create a Chaos physics field at a world location.",
"inputSchema": {
"type": "object",
"properties": {
"field_type": {
"type": "string",
"description": "Field type: RadialFalloff, UniformVector, etc.",
"enum": ["RadialFalloff", "UniformVector", "RadialVector"]
},
"radius": {
"type": "number",
"description": "Field influence radius in Unreal units."
},
"location": {
"type": "object",
"description": "World location {x, y, z}."
}
},
"required": ["field_type"]
}
}
工具名称规则:
- 最多128个字符
- 仅
A-Z,a-z,0-9,_,-,. - 使用
category.operation惯例(例如。chaos.create_field)
编辑后,重新部署到铁路:
git add data/
git commit -m "feat: add my_category tools"
git push
铁路自动推送部署 main.
常见问题解答
Q: 此服务器是否执行虚幻项目中的代码?
否。所有对此云服务器的工具调用都会返回 "status": "dispatched"。此服务器仅提供架构发现。实际执行由您在计算机上配置的任何本地集成来处理。
Q: 如何更新工具定义?
在中编辑JSON文件 data/、承诺并推动 main。铁路在约1分钟内自动部署。
Q: 我可以在自托管服务器而不是Railway上运行它吗?
是的,请看 码头工人 部分。任何可以运行Docker容器的主机都可以运行(Fly.io、Render、AWS ECS等)。
Q: The /tools.json 第一个请求的响应很慢——为什么?
首次加载后,这些工具将缓存在内存中。后续请求是即时的。铁路集装箱在入眠后首次要求冷启动;这需要1-3秒。
Q: 如何添加身份验证?
添加API密钥签入 server.py 之前 combined_app 调度员,或使用铁路内置的专用网络来限制对受信任来源的访问。
堆栈
| 运行时 | Python 3.12 |
| MCP框架 | FastMCP ≥ 3.0 |
| HTTP服务器 | Uvicorn +wsproto。 |
| 部署 | 铁路 |
| 容器 | Docker(python:3.12-slim,非root) |
HopStack MCP——Hop Trendy的虚幻引擎5工具模式服务器