Manage GNS3 nodes - add from templates, start/stop/suspend/reload, console access
Manage network device nodes in GNS3 projects. Add devices from templates, control power state, and access consoles for configuration and troubleshooting.
python3 -u mcp-servers/gns3-mcp-server/gns3_mcp_server.py (stdio transport)GNS3_URL, GNS3_USER, GNS3_PASSWORD environment variables| Tool | Parameters |
|---|
| What It Does |
|---|
gns3_list_nodes | project_id | List all nodes in a project with status |
gns3_create_node | project_id, template, name?, x?, y?, compute_id? | Create node from template |
gns3_start_node | project_id, node_id | Start a node (power on) |
gns3_stop_node | project_id, node_id | Stop a node (power off) |
gns3_suspend_node | project_id, node_id | Suspend a node (save state) |
gns3_reload_node | project_id, node_id | Reload a node (restart) |
gns3_bulk_node_action | project_id, action | Apply action to all nodes (start/stop/suspend/reload) |
gns3_get_node_console | project_id, node_id | Get console connection info |
| Tool | Parameters | What It Does |
|---|---|---|
gns3_list_templates | None | List available node templates on the server |
gns3_list_computes | None | List available compute servers |
# List available templates
"List GNS3 templates"
# Add devices to the lab
"Add a Cisco IOSv router to routing-test"
"Add an Arista vEOS switch to routing-test"
"Add a VPCS host to routing-test"
# Start individual nodes
"Start router1 in routing-test"
# Start all nodes at once
"Start all nodes in routing-test"
# Stop when done
"Stop all nodes in routing-test"
# Get console connection info
"Show console info for router1 in routing-test"
# Returns: telnet 192.168.1.100 5000
# Reload a router after making changes
"Reload router1 in routing-test"
The gns3_create_node tool supports fuzzy matching for template names:
| Error Code | Meaning | Resolution |
|---|---|---|
| GNS3_NOT_FOUND | Node or project doesn't exist | Check name/ID |
| GNS3_CONFLICT | Node already running/stopped | Check current state first |
| GNS3_VALIDATION | Invalid template name | Use gns3_list_templates to find valid names |