Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

GNS3 server repository

Style GitHub Actions tests Latest PyPi version Snyk scanning

The GNS3 server manages emulators and other virtualization software such as Dynamips, Qemu/KVM, Docker, VPCS, VirtualBox and VMware Workstation. Clients like the GNS3 GUI and the GNS3 Web UI control the server using a HTTP REST API.

Installation

These instructions are for using GNS3, please see below for development.

Windows & macOS

Please use our Windows installer or DMG package to install the stable build along with the GNS3 VM. Note that as of GNS3 version above 3.0, you must run the server using the GNS3 VM or on a Linux system (remote, cloud or virtual machine).

Linux

Ubuntu based distributions

We build and test packages for actively supported Ubuntu versions. Other distros based on Ubuntu, like Mint, should also be supported.

Packages can be installed from our Personal Package Archives (PPA) repository:

sudo apt update
sudo apt install software-properties-common
sudo add-apt-repository ppa:gns3/ppa
sudo apt update                                
sudo apt install gns3-gui gns3-server

Other Linux distributions

GNS3 is often packaged for other distributions by third-parties:

PyPi

You may use PyPi in case no package is provided, or you would like to do a manual installation:

python3 -m pip install gns3-gui
python3 -m pip install gns3-server

Optional Features

GNS3 server supports optional features that can be installed as needed:

AI Features (Optional — includes AI Copilot and MCP):

python3 -m pip install gns3-server[ai-features]

AI-powered assistant for network topology design, automation, and MCP protocol support for AI agent integration.

Development (For contributors):

python3 -m pip install gns3-server[dev]

Web Wireshark (Optional):

pip install gns3-server && gns3server-web-wireshark-setup

Browser-based packet capture analysis using Wireshark in a Docker container.

Combination Installation: You can install multiple optional features together:

python3 -m pip install gns3-server[ai-features,dev]

Why optional?

  • Reduces installation size for users who don't need specific features
  • Supports restricted environments (government, education, corporate) where certain libraries may not be allowed
  • Faster installation for basic GNS3 usage
  • Allows users to choose only the features they need

Note: If you install without optional extras, the server will work normally but optional features will be disabled. You can add features later by running the appropriate install command.

Uninstalling AI Features:

To remove AI Features dependencies (AI Copilot + MCP):

gns3server-uninstall-ai-features

This will remove all AI Copilot and MCP dependencies while keeping the core functionality intact. The server will continue to work, but AI features will be disabled.

Please see our documentation for more details.

Software dependencies

In addition to Python dependencies, other software may be required, recommended or optional.

  • uBridge is required, it interconnects the nodes.
  • Dynamips is required for running IOS routers (using real IOS images) as well as the internal switches and hubs.
  • VPCS is recommended, it is a builtin node simulating a very simple computer to perform connectivity tests using ping, traceroute etc.
  • Qemu is strongly recommended as most node types are based on Qemu, for example Cisco IOSv and Arista vEOS.
  • libvirt is recommended as it's needed for the NAT cloud.
  • Docker is optional, some nodes are based on Docker.
  • mtools is recommended to support data transfer to/from QEMU VMs using virtual disks.
  • i386-libraries of libc and libcrypto are optional, they are only needed to run IOU based nodes.

Note that Docker needs the script program (bsdutils or util-linux package), when running a Docker VM and a static busybox during installation (python3 setup.py install / pip3 install / package creation).

Development

Setting up

These commands will install the server with core Python dependencies:

git clone https://github.com/GNS3/gns3-server
cd gns3-server
git checkout 3.1
python3 -m venv venv-gns3server
source venv-gns3server/bin/activate
python3 -m pip install .
python3 -m gns3server

For AI Copilot development, install with additional dependencies:

python3 -m pip install .[ai-features,dev]

For development (tests and linting):

python3 -m pip install .[dev]

You will have to manually install other software dependencies (see above), for Dynamips, VPCS and uBridge the easiest is to install from our PPA.

Docker container

Alternatively, you can run the GNS3 server in a container

bash scripts/docker_dev_server.sh

use Docker Compose

docker compose up -d

Running tests

First, install the development dependencies:

python3 -m pip install -r dev-requirements.txt

Then run the tests using pytest:

python3 -m pytest -vv tests/

API documentation

The API documentation can be accessed when running the server locally:

  • On http://IP:PORT/docs to see with Swagger UI (i.e. http://localhost:3080/docs)
  • On http://IP:PORT/redoc to see with ReDoc (i.e. http://localhost:3080/redoc)

The documentation can also be viewed online however it may not be the most up-to-date version since it needs manually synchronization with the current code. Also, you cannot use this to interact with a GNS3 server.

Branches

master

master is the next stable release, you can test it in your day-to -day activities. Bug fixes or small improvements pull requests go here.

3.x development brand for the next major release.

Never use this branch for production. Pull requests for major new features go here.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gns3_server-3.1.0a5.tar.gz (42.6 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gns3_server-3.1.0a5-py3-none-any.whl (43.8 MB view details)

Uploaded Python 3

File details

Details for the file gns3_server-3.1.0a5.tar.gz.

File metadata

  • Download URL: gns3_server-3.1.0a5.tar.gz
  • Upload date:
  • Size: 42.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for gns3_server-3.1.0a5.tar.gz
Algorithm Hash digest
SHA256 a60b3e1277bf7b1d059a9613ddeec149c93ce1da84f3e2922a3144f32a001e55
MD5 e8e0a18bbaeceb7732bb76e095d02da4
BLAKE2b-256 dcbd846fb3dce3c318bc611cab636ffd20e6a848ca3f7a3325de5ebeff355acc

See more details on using hashes here.

File details

Details for the file gns3_server-3.1.0a5-py3-none-any.whl.

File metadata

  • Download URL: gns3_server-3.1.0a5-py3-none-any.whl
  • Upload date:
  • Size: 43.8 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for gns3_server-3.1.0a5-py3-none-any.whl
Algorithm Hash digest
SHA256 e293e732d9cf821ae85144da59ed9aaeb12b798b261ef82b1c05551b68ec19f1
MD5 39b4114e867688c57ce9a67b22450f7d
BLAKE2b-256 a9162ba09903a6c53afd751a9c0e06a4405f928e16e5633d72d4661e4beecffa

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

3.1.0a5 This release

2 files

3.0.6

2 files

3.0.5

2 files

3.0.4

2 files

3.0.3

2 files

3.0.2

2 files

3.0.1

2 files

3.0.0

2 files

2.2.61

2 files

2.2.60

2 files

2.2.59

2 files

2.2.58.1

2 files

2.2.58

2 files

2.2.57

2 files

2.2.56.1

1 file

2.2.56

1 file

2.2.55

1 file

2.2.54

1 file

2.2.53

1 file

2.2.52

1 file

2.2.51

1 file

2.2.50

1 file

2.2.49

1 file

2.2.48.1

1 file

2.2.48

1 file

2.2.47

1 file

2.2.46

1 file

2.2.45

1 file

2.2.44.1

1 file

2.2.44

1 file

2.2.43

1 file

2.2.42

1 file

2.2.41

1 file

2.2.40.1

1 file

2.2.40

1 file

2.2.39

1 file

2.2.38

1 file

2.2.37

1 file

2.2.36

1 file

2.2.35.1

1 file

2.2.35

1 file

2.2.34

1 file

2.2.33.1

1 file

2.2.33

1 file

2.2.32.1

1 file

2.2.32

1 file

2.2.31

1 file

2.2.30

1 file

2.2.29

1 file

2.2.28

1 file

2.2.27

1 file

2.2.26

1 file

2.2.25

1 file

2.2.24

1 file

2.2.23

1 file

2.2.22

1 file

2.2.21

1 file

2.2.20

1 file

2.2.19

1 file

2.2.18

1 file

2.2.17

1 file

2.2.16

1 file

2.2.15

1 file

2.2.14

1 file

2.2.13

1 file

2.2.12

1 file

2.2.11

1 file

2.2.10

1 file

2.2.9

1 file

2.2.8

1 file

2.2.7

1 file

2.2.6

1 file

2.2.5

1 file

2.2.3

1 file

2.2.2

1 file

2.2.1

1 file

2.2.0

1 file

2.1.21

1 file

2.1.20

1 file

2.1.19

1 file

2.1.18

1 file

2.1.17

1 file

2.1.16

1 file

2.1.15

1 file

2.1.14

1 file

2.1.13

1 file

2.1.12

1 file

2.1.11

1 file

2.1.10

1 file

2.1.9

1 file

2.1.8

1 file

2.1.7

1 file

2.1.6

1 file

2.1.5

1 file

2.1.4

1 file

2.1.3

1 file

2.1.2

1 file

2.1.1

1 file

2.1.0

1 file

2.0.3

2 files

2.0.2

2 files

2.0.1

2 files

2.0.0

2 files

1.5.4

2 files

1.5.3

1 file

1.5.2

1 file

1.5.1

1 file

1.5.0

1 file

1.4.6

1 file

1.4.5

1 file

1.4.4

1 file

1.4.3

1 file

1.4.2

1 file

1.4.1

1 file

1.4.0

1 file

1.3.13

1 file

1.3.12

1 file

1.3.11

1 file

1.3.10

1 file

1.3.9

1 file

1.3.8

1 file

1.3.7

1 file

1.3.6

1 file

1.3.4

1 file

1.3.3

1 file

1.3.2

1 file

1.3.1

1 file

1.3.0

1 file

1.2.3

1 file

1.2.2

1 file

1.2.1

1 file

1.2

1 file

1.1

1 file

1.0

1 file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page