jsbsim-mcp

Flyintothesky/jsbsim-mcp
0 Stars 9 次浏览 子不语先生 更新于 2026-08-23

jsbsim-mcp 是一项服务,通过模型上下文协议(MCP)公开了 JSBSim 飞行动力学引擎,允许任何支持MCP的代理使用简单的英语控制飞机。它包括一个网页仪表板、实时模拟和WebSocket遥测。

MCP 服务配置

复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用

{
  "mcpServers": {
    "jsbsim-fdm": {
      "url": "https://\u003cyour-hf-space\u003e.hf.space/mcp"
    }
  }
}

服务介绍


title: jsbsim-mcp
emoji: ✈️
colorFrom: blue
colorTo: indigo
sdk: docker
app_port: 7860
app_file: app.py
pinned: false
short_description: JSBSim飞行动力学引擎作为MCP服务

jsbsim-mcp

JSBSim作为托管的MCP服务。在任何AI代理中驾驶任何飞机。

JSBSim 是一个开源的飞行动力学引擎,为FlightGear、Unreal Engine、ArduPilot、NASA研究和DARPA的人工智能空战竞赛提供支持。jsbsim-mcp 通过模型上下文协议 (MCP) 暴露了相同的引擎,因此Claude、Cursor、Codex或任何MCP感知的代理可以用简单的英语来驾驶飞机。

基于此空间构建:

  • 1个统一的ASGI应用:MCP JSON-RPC at /mcp + Web仪表板 at /
  • 60Hz实时模拟引擎 (python -m jsbsim)
  • 60多种捆绑的飞机 (c172x, A320, f-16, 737, Concorde, X15, ...)
  • 浏览器WebSocket遥测
  • Apache-2.0源代码;JSBSim依赖项是LGPL-2.1(C-ABI隔离)

快速开始

1. 本地安装(标准输入输出模式)


git clone https://github.com/<you>/jsbsim-mcp

cd jsbsim-mcp

python -m venv .venv && source .venv/bin/activate

pip install -r requirements.txt

# Bundle JSBSim aircraft data (≈30 MB)

make data           # OR:  mkdir jsbsim_data && cd jsbsim_data && \

                    #       curl -L https://github.com/JSBSim-Team/jsbsim/archive/refs/heads/master.tar.gz | tar --strip-components=1 -xz



python app.py       # → http://0.0.0.0:7860 (dashboard) / http://0.0.0.0:7860/mcp (MCP)

2. 连接远程代理(Claude Desktop / Cursor)


{

  "mcpServers": {

    "jsbsim-fdm": {

      "url": "https://<your-hf-space>.hf.space/mcp"

    }

  }

}

Claude随后会列出10种工具(参见docs/API.md)和7种资源(包括完整的遥测历史记录)。

3. 本地标准输入输出(Claude Code / Cursor本地)


python run_stdio.py

claude_desktop_config.json中:

{
  "mcpServers": {
    "jsbsim-fdm-local": {
      "command": "python",
      "args": ["/path/to/jsbsim-mcp/run_stdio.py"]
    }
  }
}

HTTP端点

路径 描述
/ Web仪表板(PFD、3D姿态、时间序列图表)
/api/aircraft 列出捆绑的飞机
/api/sessions POST创建 / GET列表 / DELETE关闭
/api/sessions/{sid}/step 推进模拟N秒
/api/sessions/{sid}/telemetry 最新的遥测帧
/ws/{sid} WebSocket遥测流(约20 Hz)
/mcp MCP JSON-RPC 2.0可流式传输的HTTP端点
/healthz 健康探测

MCP工具(10)


list_aircraft           create_session         close_session

set_initial_conditions  trim                   step

get_property            set_property           get_telemetry

execute_script

MCP资源(7)


jsbsim://aircraft

jsbsim://aircraft/{name}

jsbsim://engines

jsbsim://sessions

jsbsim://sessions/{sid}/telemetry

MCP提示(2)


cruise_c172      Standard C172 cruise workflow

stall_recovery   Stall entry / recovery exercise


架构

参见docs/ARCHITECTURE.md。系统分层如下:


src/engine/    JSBSim wrapper + session pool + telemetry

src/server/    MCP protocol adapters (FastMCP tools/resources/prompts)

src/dashboard/ FastAPI dashboard + WebSocket broadcaster

app.py         ASGI dispatcher

许可边界:JSBSim 1.3.1是LGPL-2.1,并以wheel形式加载(pip install jsbsim)。本项目中的所有新代码都是Apache-2.0。


演示


curl -X POST https://<space>.hf.space/mcp \

  -H 'Content-Type: application/json' \

  -H 'Accept: application/json, text/event-stream' \

  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"demo","version":"1"}}}'

然后列出工具,调用create_session等。


许可

  • JSBSim依赖项:LGPL-2.1

参见THIRD_PARTY_NOTICES.md


致谢

  • JSBSim团队,25年的开源飞行动力学贡献
  • Anthropic MCP,为协议标准
  • Hugging Face,提供Spaces托管

相关 MCP 服务