Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
GNS3_TOKENNoPre-issued bearer token (skips login)
GNS3_BASE_URLNoController URL (no /v3)http://localhost:3080
GNS3_PASSWORDNoLogin password
GNS3_USERNAMENoLogin username
GNS3_HTTP_HOSTNoHTTP bind host127.0.0.1
GNS3_HTTP_PORTNoHTTP bind port8080
GNS3_READ_ONLYNoDisable all mutating toolsfalse
GNS3_TRANSPORTNoTransport: stdio or httpstdio
GNS3_VERIFY_TLSNoVerify TLS for httpstrue
GNS3_CONSOLE_TIMEOUTNoConsole read timeout (s)15
GNS3_DEFAULT_PROJECTNoProject id used when a tool omits project_id

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tasks
{
  "list": {},
  "cancel": {},
  "requests": {
    "tools": {
      "call": {}
    },
    "prompts": {
      "get": {}
    },
    "resources": {
      "read": {}
    }
  }
}
tools
{
  "listChanged": true
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
gns3_version

Return the GNS3 controller version and whether it runs in local mode.

gns3_statistics

Return controller-wide statistics (counts of projects, computes, etc.).

iou_license_get

Return the configured Cisco IOU license (if any).

iou_license_setB

Set the Cisco IOU license. iourc_content is the raw iourc file text.

controller_reloadA

Reload the GNS3 controller. Requires confirm=true.

controller_shutdownA

Shut down the GNS3 controller process. Requires confirm=true. Destructive.

projects_listB

List all projects on the controller (id, name, status).

project_getC

Get full details for a project.

project_statsB

Get node/link/drawing/snapshot counts for a project.

project_lockedC

Return whether the project is currently locked.

project_createB

Create a new project. Optionally pin a specific project_id (UUID).

project_updateC

Update project attributes (e.g. {"name": "...", "auto_start": true}).

project_deleteA

Delete a project permanently. Requires confirm=true. Destructive.

project_openB

Open a closed project so its nodes can run.

project_closeA

Close an open project (stops nodes, frees resources).

project_loadB

Load a project from a .gns3 file path on the controller host.

project_duplicateC

Duplicate a project under a new name.

project_lockC

Lock a project to prevent topology edits.

project_unlockD

Unlock a project.

project_exportC

Export a project to a local .gns3project archive at dest_path.

project_importC

Import a project from a local .gns3project archive.

project_file_readC

Read a text file from inside the project directory.

project_file_writeC

Write a text file inside the project directory.

nodes_listC

List nodes in a project (id, name, type, status, console).

node_getC

Get full details for a single node.

node_linksC

List the links attached to a node.

node_idlepc_proposalsC

Get Dynamips idle-PC proposals for a node.

node_createA

Create a node directly (node_type e.g. vpcs, qemu, docker, dynamips, ethernet_switch).

Prefer node_create_from_template when a suitable template exists.

node_create_from_templateB

Instantiate a node from a template at canvas position (x, y).

node_updateC

Update node attributes (e.g. {"name": "...", "properties": {...}}).

node_deleteC

Delete a node from the project.

node_duplicateB

Duplicate a node, offset by (dx, dy) on the canvas.

node_startD

Start a node.

node_stopC

Stop a node.

node_suspendD

Suspend a node.

node_reloadC

Reload (restart) a node.

node_isolateB

Isolate a node: suspend all its links (cut traffic without deleting links).

node_unisolateB

Re-enable all links on a previously isolated node.

node_console_resetC

Reset the console server connection for a node.

nodes_start_allC

Start every node in the project.

nodes_stop_allC

Stop every node in the project.

nodes_suspend_allC

Suspend every node in the project.

nodes_reload_allC

Reload every node in the project.

node_idlepc_autoC

Auto-compute a Dynamips idle-PC value for a node.

node_file_readC

Read a text file from inside a node's working directory.

node_file_writeB

Write a text file into a node's working directory (e.g. startup-config).

links_listB

List links in a project (id, endpoints, capture state, filters).

link_getC

Get full details for a link.

link_available_filtersB

List packet filters available on a link (delay, drop, corrupt, etc.).

link_createA

Create a link between two node ports.

Use a node's ports (from node_get/nodes_list) to find adapter_number/port_number.

link_updateC

Update a link: set {"suspend": true} or {"filters": {"delay": [50]}} etc.

link_deleteC

Delete a link.

link_resetC

Reset a link (reconnect both ends).

drawings_listC

List drawings (SVG annotations) in a project.

drawing_createB

Create a drawing from an SVG string at canvas position (x, y).

drawing_updateB

Update a drawing (svg/x/y/z/rotation).

drawing_deleteC

Delete a drawing.

snapshots_listC

List snapshots of a project.

snapshot_createC

Create a snapshot of the current project state.

snapshot_restoreC

Restore the project to a snapshot. The current state is overwritten.

snapshot_deleteC

Delete a snapshot.

templates_listC

List device templates (id, name, type, category).

template_getB

Get full details for a template (all properties).

template_createC

Create a template. template must include name and template_type plus props.

template_updateC

Update a template's attributes.

template_deleteC

Delete a template.

template_duplicateC

Duplicate a template.

computes_listB

List compute servers (id, name, host, connected state, load).

compute_getC

Get full details for a compute server.

compute_emulator_queryB

Query an emulator on a compute, e.g. emulator='docker' action='images', emulator='virtualbox' action='vms', emulator='vmware' action='vms'.

compute_createB

Register a compute server. compute needs protocol/host/port/name (+ auth).

compute_updateC

Update a compute server's connection settings.

compute_deleteC

Unregister a compute server.

images_listB

List disk images known to the controller (qemu/ios/iou/docker).

image_getA

Get metadata for an image by its path.

image_uploadC

Upload a local image file to the controller under image_path.

image_installC

Install/register images so templates can use them (optionally one path).

image_deleteC

Delete an image by path.

images_pruneA

Delete all images not used by any template. Requires confirm=true.

appliances_listB

List appliances from the GNS3 catalog. Set update=true to refresh from registry.

appliance_getA

Get full details for an appliance (versions, images required).

appliance_installC

Install an appliance as a template (optionally a specific version).

pools_listC

List resource pools.

pool_getC

Get a resource pool.

pool_resourcesC

List the resources contained in a pool.

pool_createC

Create a resource pool.

pool_updateC

Update a resource pool (e.g. rename).

pool_deleteC

Delete a resource pool.

pool_resource_addC

Add a resource (project/template/compute id) to a pool.

pool_resource_removeC

Remove a resource from a pool.

whoamiA

Return the currently authenticated user.

users_listC

List user accounts.

user_getC

Get a user account.

user_groupsC

List the groups a user belongs to.

groups_listC

List user groups.

group_membersC

List members of a user group.

roles_listC

List roles.

role_privilegesC

List the privileges granted to a role.

privileges_listC

List all assignable privileges in the system.

acl_listC

List Access Control Entries (ACEs) in the ACL.

Prompts

Interactive templates invoked by user choice

NameDescription
build_labGuide building a GNS3 lab topology from a natural-language description.
troubleshoot_nodeGuide troubleshooting a misbehaving node.
snapshot_before_changeRemind to snapshot before a risky change and how to roll back.

Resources

Contextual data attached and managed by the client

NameDescription
projects_resourceAll projects on the controller.
templates_resourceAll device templates.
computes_resourceAll compute servers.

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/Olaw2jr/gns3-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server