gns3-mcp
by ChistokhinSV
Overview
A FastAPI service that acts as a Model Context Protocol (MCP) server for GNS3, enabling AI agents to automate network lab creation, configuration, and troubleshooting through SSH, console, TFTP, and HTTP proxy functionalities.
Installation
docker-compose up -d gns3-ssh-proxy-mainEnvironment Variables
- GNS3_HOST
- GNS3_PORT
- GNS3_USERNAME
- GNS3_PASSWORD
- GNS3_USE_HTTPS
- GNS3_VERIFY_SSL
- SSH_PROXY_URL
- HTTP_HOST
- HTTP_PORT
- LOG_LEVEL
- MCP_API_KEY
- USER
- PASSWORD
Security Notes
The system utilizes an SSH proxy service that exposes a `/local/execute` endpoint, allowing arbitrary commands to be run via `subprocess.run(shell=True)` without explicit input sanitization. This is a critical remote code execution vulnerability if the proxy is exposed or compromised. Although intended for local execution within a Docker container, this pattern introduces significant risk. API key authentication is implemented for HTTP transport, but if `MCP_API_KEY` is not set, it's auto-generated and logged, which could expose it if logs are accessible. The `verify_ssl=False` option for GNS3 connections, while practical for self-signed certificates in labs, reduces overall security by disabling certificate validation.
Similar Servers
mcp-manager
A web GUI to easily manage and configure Model Context Protocol (MCP) servers for the Claude Desktop app on MacOS, generating terminal commands for installation and setup.
gns3-mcp-server
Enables AI assistants to programmatically create, manage, and simulate network topologies within GNS3.
meraki-magic-mcp
Provides a comprehensive interface to manage Cisco Meraki network devices and configurations by exposing all Meraki SDK methods as tools, optimized for use with Claude Desktop.
homelab-mcp
Provides Model Context Protocol (MCP) servers for managing and monitoring homelab infrastructure through Claude Desktop.