jsbsim-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@jsbsim-mcpStart a new flight with the Cessna 172"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
title: jsbsim-mcp emoji: ✈️ colorFrom: blue colorTo: indigo sdk: docker app_port: 7860 app_file: app.py pinned: false license: apache-2.0 short_description: JSBSim flight-dynamics engine as a self-hosted MCP service
jsbsim-mcp — Self-Hosted MCP Service
JSBSim flight dynamics, exposed as an MCP service you run locally. Bring your own compute —
pip installordocker run, plug into any MCP-aware agent.
This is the Self-Hosted distribution of jsbsim-mcp. It is not a hosted endpoint — you deploy it locally and bind it as an MCP stdio server to Claude Desktop / Claude Code / Cursor / Codex.
For the deployed hosted version, see the HF Space mirror (separate project).
Related MCP server: AFSIM MCP Server
1. Install
Option A — pip (recommended for Claude Desktop / Cursor / Codex)
pip install -e .
# or:
# pip install git+https://github.com/flyintothesky/jsbsim-mcp.gitRequires Python ≥ 3.10 and jsbsim == 1.3.1.
Option B — Docker (recommended for sandboxing)
docker build -t jsbsim-mcp .
docker run --rm -it jsbsim-mcp stdioOption C — From this repo
git clone https://github.com/flyintothesky/jsbsim-mcp
cd jsbsim-mcp
pip install -r requirements.txt
python -m scripts.slim_data # optional, ~24 MB → saves MB
python run_stdio.py2. Wire into Claude Desktop / Cursor / Codex
claude_desktop_config.json (or its equivalent for your client):
{
"mcpServers": {
"jsbsim-fdm-local": {
"command": "python",
"args": ["/abs/path/to/jsbsim-mcp/run_stdio.py"]
}
}
}Restart Claude. Tools list appears:
list_aircraft create_session close_session
set_initial_conditions trim step
get_property set_property get_telemetry
execute_script3. (Optional) Run the bundled web dashboard
Want a browser UI for the simulation? Run the same code as an HTTP server:
python app.py # → http://localhost:7860/Live PFD
3D attitude indicator
Time-series charts (altitude / speed / alpha / thrust)
WebSocket telemetry at ~20 Hz
Browser-side MCP JSON-RPC console
Works inside Docker as well:
docker run --rm -p 7860:7860 jsbsim-mcp
# then visit http://localhost:7860/4. Tool reference (10 tools)
Tool | Summary |
| List 60+ bundled aircraft names |
| Spin up a session, return |
| Tear it down |
| Apply altitude / airspeed / heading etc. |
| Iteratively balances elevator for level flight |
| Advance N simulated seconds |
| Read any JSBSim property by path |
| Write any JSBSim property |
| One-shot 40+ scalar frame |
| Load a |
Full schema: docs/API.md.
5. Architecture
src/engine/ JSBSim wrapper + session pool + telemetry
src/server/ MCP protocol adapter (FastMCP, stdio + HTTP)
src/dashboard/ FastAPI dashboard + WebSocket broadcaster
app.py Combined ASGI dispatcher (HTTP + WS + MCP)
run_stdio.py Stdio entry for local Claude clientsLGPL-2.1 boundary preserved (JSBSim is dynamically linked). See
THIRD_PARTY_NOTICES.md.
Why Self-Hosted?
JSBSim's open-source license permits redistribution, but the model files (60 aircraft, ~30 MB) and C++ simulator itself are heavy. The practical way to consume this in agents is:
pip installonce.Run per-developer as an MCP server via stdio.
Optionally start the dashboard for human-in-the-loop.
This avoids round-tripping 60 aircraft over a public MCP endpoint and keeps your proprietary IC files local.
If you want a centrally hosted version for a team, see the
self-hosted Docker recipe in docs/DEPLOY_MODELSCOPE.md — point your
own HF Space / Render / Fly.io at the same source.
License
This project: Apache-2.0
JSBSim dependency: LGPL-2.1
See LICENSE and THIRD_PARTY_NOTICES.md.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/flyintothesky/jsbsim-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server