GNS3 Network Simulator MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GNS3_PASSWORD | No | Password for GNS3 server authentication | |
| GNS3_USERNAME | No | Username for GNS3 server authentication | |
| GNS3_MCP_DEBUG | No | Enable debug logging mode | |
| GNS3_SERVER_URL | No | The URL of the GNS3 server | http://localhost:3080 |
| GNS3_VERIFY_SSL | No | Whether to verify SSL certificates for GNS3 server connections | false |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| gns3_get_server_infoB | Get GNS3 server version and information. Returns server version, supported features, and system information. |
| gns3_list_computesC | List all available compute servers (local, VMs, remote). Shows compute ID, name, protocol, host, port, and status. |
| gns3_list_projectsC | List all projects on the GNS3 server with detailed status. Shows project name, ID, node/link counts, and status. |
| gns3_create_projectB | Create a new GNS3 project. Args: name: Project name auto_close: Automatically close when server stops auto_open: Automatically open when server starts auto_start: Automatically start all nodes when opened path: Custom path for project files |
| gns3_get_projectC | Get detailed information about a specific project. Returns complete project configuration and statistics. |
| gns3_update_projectC | Update project settings. Only specified parameters will be updated. |
| gns3_open_projectC | Open an existing GNS3 project for editing. |
| gns3_close_projectC | Close an open project. All nodes will be stopped. |
| gns3_delete_projectA | Permanently delete a project and all its files. WARNING: This action cannot be undone! |
| gns3_duplicate_projectB | Duplicate an existing project with a new name. Creates an exact copy of the project including all nodes and configurations. |
| gns3_list_nodesB | List all nodes (devices) in a project. Shows node name, type, status, console port, and position. |
| gns3_add_nodeB | Add a network device/node to a project using a template. Args: project_id: ID of the project node_name: Name for the new node template_id: Template ID (use gns3_list_templates to get available templates) x, y: Position coordinates on the canvas compute_id: Compute server ID (default: "local") |
| gns3_get_nodeC | Get detailed information about a specific node. Returns complete node configuration including ports and properties. |
| gns3_update_nodeB | Update node settings and properties. Args: name: New node name x, y: New position coordinates properties: Device-specific properties (RAM, CPU, interfaces, etc.) |
| gns3_delete_nodeC | Delete a node from the project. All links connected to this node will also be deleted. |
| gns3_start_nodeC | Start a specific node. |
| gns3_stop_nodeC | Stop a specific node. |
| gns3_suspend_nodeB | Suspend a node (pause execution, save state). |
| gns3_reload_nodeC | Reload a node (restart without stopping). |
| gns3_duplicate_nodeC | Duplicate a node with the same configuration. The duplicate will be placed at the specified offset from the original. |
| gns3_start_all_nodesC | Start all nodes in a project. |
| gns3_stop_all_nodesC | Stop all nodes in a project. |
| gns3_list_linksC | List all links (connections) in a project. Shows link endpoints, ports, and status. |
| gns3_add_linkC | Create a link between two nodes. Args: node_a_id, node_b_id: Node IDs to connect adapter_a, port_a: Adapter and port number on node A adapter_b, port_b: Adapter and port number on node B |
| gns3_delete_linkC | Delete a link between nodes. |
| gns3_get_topologyC | Get complete network topology for a project. Returns all nodes, links, and project information in one call. |
| gns3_send_console_commandsB | Send commands to a node's console via Telnet. Args: commands: List of commands to execute wait_for_boot: Wait for device to boot before sending commands boot_timeout: Maximum time to wait for boot (seconds) enter_config_mode: Automatically enter config mode (Cisco) save_config: Save configuration after commands (Cisco) enable_password: Enable password if required |
| gns3_get_node_configB | Get device configuration via console. Args: config_type: "running" or "startup" (Cisco-style devices) |
| gns3_apply_config_templateA | Apply a pre-built configuration template to a device. Supported templates:
Args: template_name: Name of configuration template template_params: Parameters for the template (varies by template) save_config: Save configuration after applying |
| gns3_list_templatesC | List all available device templates. Templates are used to create new nodes quickly. |
| gns3_list_appliancesC | List all available appliances. Appliances are pre-configured device definitions that can be installed. |
| gns3_list_snapshotsC | List all snapshots for a project. |
| gns3_create_snapshotC | Create a snapshot (backup) of a project. Captures current state of all nodes and configuration. |
| gns3_restore_snapshotA | Restore a project from a snapshot. WARNING: Current project state will be lost! |
| gns3_delete_snapshotC | Delete a snapshot permanently. |
| gns3_start_captureC | Start packet capture on a link. Captured packets can be analyzed with Wireshark. Args: capture_file_name: Name for the capture file (without .pcap extension) data_link_type: Data link layer type (default: Ethernet) |
| gns3_stop_captureC | Stop packet capture on a link. |
| gns3_add_text_annotationC | Add text annotation to the topology. Useful for documenting networks and adding labels. |
| gns3_add_shapeC | Add a shape (rectangle or ellipse) to the topology. Args: shape_type: "rectangle" or "ellipse" color: Border color (hex format) fill_color: Fill color (hex format, optional) |
| gns3_get_idle_pc_valuesB | Get idle-pc values for Dynamips routers to reduce CPU usage. Only works with Dynamips/IOS routers. Args: auto_compute: Automatically compute best idle-pc value |
| gns3_bulk_configure_nodesC | Configure multiple nodes in one operation. Args: configurations: List of dicts with keys: - node_id: Node to configure - commands: List of commands to send - save_config: Whether to save (optional, default False) |
| gns3_validate_topologyC | Validate network topology for common issues. Checks for disconnected nodes, missing links, and configuration problems. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
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/Wael-Rd/gns3-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server