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_info | Get GNS3 server version and information. Returns server version, supported features, and system information. |
| gns3_list_computes | List all available compute servers (local, VMs, remote). Shows compute ID, name, protocol, host, port, and status. |
| gns3_list_projects | List all projects on the GNS3 server with detailed status. Shows project name, ID, node/link counts, and status. |
| gns3_create_project | 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_project | Get detailed information about a specific project. Returns complete project configuration and statistics. |
| gns3_update_project | Update project settings. Only specified parameters will be updated. |
| gns3_open_project | Open an existing GNS3 project for editing. |
| gns3_close_project | Close an open project. All nodes will be stopped. |
| gns3_delete_project | Permanently delete a project and all its files. WARNING: This action cannot be undone! |
| gns3_duplicate_project | Duplicate an existing project with a new name. Creates an exact copy of the project including all nodes and configurations. |
| gns3_list_nodes | List all nodes (devices) in a project. Shows node name, type, status, console port, and position. |
| gns3_add_node | 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_node | Get detailed information about a specific node. Returns complete node configuration including ports and properties. |
| gns3_update_node | 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_node | Delete a node from the project. All links connected to this node will also be deleted. |
| gns3_start_node | Start a specific node. |
| gns3_stop_node | Stop a specific node. |
| gns3_suspend_node | Suspend a node (pause execution, save state). |
| gns3_reload_node | Reload a node (restart without stopping). |
| gns3_duplicate_node | Duplicate a node with the same configuration. The duplicate will be placed at the specified offset from the original. |
| gns3_start_all_nodes | Start all nodes in a project. |
| gns3_stop_all_nodes | Stop all nodes in a project. |
| gns3_list_links | List all links (connections) in a project. Shows link endpoints, ports, and status. |
| gns3_add_link | 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_link | Delete a link between nodes. |
| gns3_get_topology | Get complete network topology for a project. Returns all nodes, links, and project information in one call. |
| gns3_send_console_commands | 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_config | Get device configuration via console. Args: config_type: "running" or "startup" (Cisco-style devices) |
| gns3_apply_config_template | 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_templates | List all available device templates. Templates are used to create new nodes quickly. |
| gns3_list_appliances | List all available appliances. Appliances are pre-configured device definitions that can be installed. |
| gns3_list_snapshots | List all snapshots for a project. |
| gns3_create_snapshot | Create a snapshot (backup) of a project. Captures current state of all nodes and configuration. |
| gns3_restore_snapshot | Restore a project from a snapshot. WARNING: Current project state will be lost! |
| gns3_delete_snapshot | Delete a snapshot permanently. |
| gns3_start_capture | 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_capture | Stop packet capture on a link. |
| gns3_add_text_annotation | Add text annotation to the topology. Useful for documenting networks and adding labels. |
| gns3_add_shape | 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_values | 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_nodes | 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_topology | 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 | |