The MCP server connects an AI agent directly to VSNES, allowing it to configure, launch, and monitor satellite network emulations through natural language.
python SatelliteEmulator.py --mcp # API + MCP
python SatelliteEmulator.py --all # API + Web + NTP + MCP
Configure the server via environment variables:
export SNES_API_URL=http://localhost:5050 # REST API address
export VM_SSH_USER=debian # SSH user for VMs
export VM_SSH_PASS=debian # SSH password for VMs
To connect from Claude Desktop, add the following to your claude_desktop_config.json:
{
"mcpServers": {
"vsnes": {
"url": "http://localhost:8560/mcp"
}
}
}
Typical AI-driven workflow:
- AI calls
get_config_guideto learn what parameters to collect - AI interviews the user; if a synthetic constellation is wanted, it calls
generate_tlefirst and passes the resulting path astle_file - AI calls
generate_config_tomlto writeconfig.toml - AI calls
generate_docker_composeto create the container manifest - AI calls
load_scenario→init_scenario→start_simulationto launch the emulation (orprepare_simulationfor the one-shot load+init) - AI monitors progress with
get_emulator_status; at the end of the timeline the run stops but the rules stay applied (start_simulationreplays it), andstop_simulation/reset_systemtears it down