sionna-mcp
Click on "Deploy 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., "@sionna-mcpLoad the builtin:etoile scene at 3.5 GHz and add a transmitter at position (0,0,10)."
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.
sionna-mcp
MCP server exposing NVIDIA Sionna RT ray-tracing as 15 structured tools for AI agents.
Install
pip install -e ".[dev]"Requirements: Python 3.11+, sionna>=1.0 (tested with 1.2.2), mcp[cli]>=1.0, PyTorch with CUDA (optional but recommended).
Jetson / no-OptiX note: On NVIDIA Jetson (aarch64) and other systems without OptiX, sionna-mcp automatically falls back to the LLVM CPU backend (
llvm_ad_mono_polarized). CUDA-accelerated ray tracing requires OptiX (libnvoptix.so.1), available only on x86_64.
Related MCP server: Hayba
Run
# Direct
python server.py
# As installed CLI (after pip install -e .)
sionna-mcpThe server uses stdio transport (MCP standard). Configure your agent runtime to spawn it as a subprocess.
Built-in Scenes
Pass "builtin:<name>" as scene_path in load_scene to use Sionna's bundled scenes without copying files:
Name | Description |
| Paris Étoile roundabout (urban macro) |
| Munich city block |
| Florence street scene |
| San Francisco urban |
| Simple two-building canyon |
| Single flat reflector |
For custom scenes, place the .xml file in SIONNA_SCENES_ROOT and use the filename as scene_path.
Environment Variables
Variable | Default | Description |
|
| Root dir for scene XML files |
|
| Root dir for output artifacts |
|
| Max ray tracing depth (0–8) |
|
| Max subcarrier count |
|
| Max trajectory length |
|
| Set to |
Tools (16)
Environment
sionna_status— Check Sionna/PyTorch/CUDA availability
Scene Management
load_scene— Load scene XML at a carrier frequencyinspect_scene— List objects, nodes, and array configs in a loaded scene
Node Management
add_transmitter— Place a TX node (position, orientation, power_dbm)add_receiver— Place an RX nodeadd_drone_receiver— Place a drone RX with velocity + antenna offsetupdate_node_pose— Update TX/RX position and orientation
Antenna Arrays
set_antenna_array— Configure planar array (pattern, polarization, rows×cols) for TX or RX
Ray Tracing
compute_paths— Run Sionna PathSolver; returnsjob_idextract_cir_tool— Extract CIR(a, tau)as NPZ artifactextract_cfr_tool— Extract CFR as NPY artifactextract_csi_tool— Extract CSI with shape[N_tx, N_rx, N_sub, N_ant]as complex64
Dataset Generation
run_trajectory— Loop drone over positions, extract channel per position, save labeled samples; supports micro-Doppler viapropeller_rpm/num_blades/propeller_idsexport_dataset— Bundle all trajectory samples into a single NPZ fileget_artifact— Retrieve local path + size for asionna://URI
Sim-to-Real
inject_noise— Add AWGN and/or phase jitter to a CSI.npyartifact; accepts single file or dataset directory
Error Codes
Code | Meaning |
|
|
|
|
| Scene path escapes |
| Transmitter ID already used in scene |
| Receiver/node ID already used in scene |
| Node ID not found in scene |
| Drone not registered via |
| Unknown IDs in |
| PathSolver exceeded |
|
|
| Trajectory exceeds |
| Antenna pattern not supported |
| Malformed |
| Artifact file not on disk |
|
|
| Sionna/torch import failed |
| Sionna raised an unexpected exception |
| NaN/Inf in position or orientation vector |
Using with an AI Agent
sionna-mcp uses the MCP (Model Context Protocol) stdio transport. Any MCP-compatible agent (Claude Code, Claude Desktop, Cursor, etc.) can drive it.
Claude Code
Add to your project's .claude/mcp.json:
{
"mcpServers": {
"sionna-mcp": {
"command": "python",
"args": ["/absolute/path/to/sionna-mcp/server.py"],
"env": {
"SIONNA_SCENES_ROOT": "/absolute/path/to/scenes",
"SIONNA_ARTIFACTS_ROOT": "/absolute/path/to/artifacts"
}
}
}
}Or if installed as a CLI (pip install -e .):
{
"mcpServers": {
"sionna-mcp": {
"command": "sionna-mcp",
"env": {
"SIONNA_SCENES_ROOT": "/absolute/path/to/scenes",
"SIONNA_ARTIFACTS_ROOT": "/absolute/path/to/artifacts"
}
}
}
}Then start Claude Code in your project — the agent will have all 15 tools available automatically.
Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or
%APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"sionna-mcp": {
"command": "python",
"args": ["/absolute/path/to/sionna-mcp/server.py"]
}
}
}Restart Claude Desktop after saving.
What to tell the agent
Once connected, you can give the agent natural-language tasks. Examples:
"Load the Munich scene at 3.5 GHz, place a base station TX at [0, 0, 30] and a UE receiver at [50, 0, 1.5], run ray tracing with 3 reflections, and extract CSI with 64 subcarriers."
"Simulate a drone flying 10 positions along the X-axis from [0,0,50] to [90,0,50], collecting channel data at each point and exporting a labeled NPZ dataset."
"Check if Sionna and CUDA are available on this machine."
The agent will call the tools in the correct order, handle job_id / artifact_uri chaining between steps, and return the final file path to you.
Typical tool call sequence
sionna_status → confirm environment
load_scene → returns scene_id
set_antenna_array → configure TX/RX arrays (optional)
add_transmitter → returns tx_id
add_receiver / add_drone_receiver → returns rx_id / drone_id
compute_paths → returns job_id (PathSolver runs here)
extract_csi_tool → returns artifact_uri (sionna://...)
get_artifact → returns local file path + sizeFor drone datasets:
load_scene → add_transmitter → add_drone_receiver
→ run_trajectory (loops internally over all positions)
→ export_dataset → get_artifactExample sessions
examples/urban_single_tx_rx.json— single-link urban simulation (3.5 GHz, 2×2 MIMO)examples/drone_trajectory.json— 10-position drone CSI dataset (5.8 GHz)
CSI Shape Convention
CSI has canonical shape [N_tx, N_rx, N_sub, N_ant] in complex64:
N_tx— number of transmittersN_rx— number of receiversN_sub— number of subcarriers (equalsnum_subcarriersparameter)N_ant— virtual MIMO antenna product:N_tx_ant × N_rx_ant
Reproducibility (SC-003)
Set seed in compute_paths and ensure diffraction=False for reproducible CSI across runs.
CUDA backend (x86_64 with OptiX): byte-identical results across runs with the same seed.
LLVM backend (Jetson / no OptiX): numerically reproducible, max per-element difference < 1e-6.
Running Tests
pytest tests/unit/ # No Sionna required
pytest tests/integration/ # Requires Sionna installedTool Contracts
See specs/001-home-jetson-sionna/contracts/tools.md for full JSON schema contracts.
This server cannot be deployed
Maintenance
Related MCP Connectors
Protocol-native energy infrastructure orchestration for AI data centers. Provides 46 MCP tools across 8 grid protocols (IEC-61850, DNP3, Modbus, OCPP, OpenADR, IEEE 2030.5, IEC 60870-5-104, ICCP) with 5 core API primitives: connect, dispatch, settle, comply, and intel. Enables AI agents to programmatically interact with substations, grid interfaces, and energy assets for real-time workload-grid coordination.
- WauldoOAuthcom.wauldo
Stateless agentic tools over MCP: concept extraction, long-context, knowledge graph, planning.
OCR, transcription, file extraction, and image generation for AI agents via MCP.
- geoOAuthco.thinair
Geocoding, routing, isochrones, traffic, weather, and place search for AI agents. 19 MCP tools.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceExposes 50+ Blender tools (object manipulation, materials, animation, etc.) via MCP for AI-driven 3D workflows and automation.1MIT
- AlicenseNot gradedqualityCmaintenanceAn MCP server enabling AI agents to author Unreal Engine 5 scenes directly, with tools for spawning actors, building PCG graphs, validating physics, generating terrain, and more through a single MCP connection.13MIT
- AlicenseNot gradedqualityDmaintenanceExposes MuJoCo physics simulation to AI assistants via 65 MCP tools, enabling natural language control of robotics simulation, trajectory optimization, contact analysis, and video export.8MIT
- AlicenseBqualityCmaintenanceEnables AI agents to automate COMSOL Multiphysics simulations, including model management, geometry building, physics configuration, meshing, solving, and results visualization through the MCP protocol.78MIT