Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
PKTCTL_ADDRNoOptional host:port of Packet Tracer's IPC listener. When unset, pktctl looks on 127.0.0.1, ports 39000 to 39009.
PKTCTL_APP_IDYesApp id pktctl is registered under in Packet Tracer (Extensions > IPC > Configure Apps), for example dev.pktctl.
PKTCTL_SECRETYesSecret registeretup_exapp tool writes theregistration file.

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
tools
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
activity_instructionsB

Read a page of the open activity's instructions, as text and as HTML.

activity_statusA

Progress of the open activity (.pka): percentage complete, score, assessment items and points, instruction pages, time elapsed or left. For a plain network it only says it is not an activity.

add_deviceA

Add a device to the logical workspace by model name (see list_models), optionally naming it and placing it at x/y. Routers and switches boot immediately. Returns the device as Packet Tracer now shows it.

add_locationA

Create a place in the physical workspace: a city, a building, a wiring_closet, or furniture to arrange devices on (rack, table, shelf, cable_pegboard, container), with an optional name and position. Cities and closets use Packet Tracer's own buttons; the rest are written into the network file and come back with the temporary copy Packet Tracer now has open, so save with save_network to keep them.

add_moduleA

Install a module (for example HWIC-2T for serial ports) in an empty slot. The device is powered off, the module inserted and the device powered back on, exactly like real hardware, so unsaved configuration is lost. Returns the ports the module added.

add_noteA

Write a text note on the logical canvas, for example to label a subnet or a VLAN. Returns the note with its id.

add_pduA

Send a simple PDU (ICMP echo) from one device to another, like the Add Simple PDU button. In Realtime mode it goes at once; in Simulation mode it waits for simulation_step.

add_server_userC

Add an FTP account (with permissions such as RWDNL) or an email account to a server.

arrange_devicesA

Lay devices out inside a room, building, rack or table of the physical workspace, moving in the ones that are somewhere else. Positions are percentages of the room, which is how Packet Tracer draws them: leave them out for an even grid, set columns and margin_percent to shape it, or give exact spots like [[20, 30], [60, 30]].

browse_webA

Open a URL in the Web Browser of a PC, laptop or server, like typing it and pressing Go, and return the page Packet Tracer served: its status (ok, timeout, host_not_found, ...), the server's address, the HTML and the text. Names are resolved through the host's DNS server.

call_ipcA

Call any Packet Tracer IPC method: start at a root or an object uuid and chain steps, like network -> getDevice("R1") -> getPower(). Every step is checked against the official API before anything is sent, with exact argument types; objects come back as a class and uuid you can start the next call from. Prefer the dedicated tools when one fits; this reaches everything else, including changes, so read describe_ipc first.

check_activityB

Run the open activity's connectivity tests and return them with the current completion and score, like Check Results.

configure_access_pointA

Set the SSID, security (open, wep, wpa_psk, wpa2_psk), key and SSID broadcast of an access point or wireless router. Clients keep their current association until connect_wireless reconnects them.

configure_dhcp_serverB

Configure the DHCP service of a server: switch it on and create or update pools (gateway, DNS, start address, mask, maximum users). Existing pools with the same name are updated.

configure_dns_serverB

Switch a server's DNS service on and add A, CNAME or NS records.

configure_emailB

Set up the Email app of a PC, laptop or server: display name, address, user name, password and the incoming (POP3) and outgoing (SMTP) servers. Returns the account as Packet Tracer now has it.

configure_hostA

Set the IPv4 configuration of a PC, laptop or server: either DHCP, or a static ip and mask with optional gateway and DNS. Catches classic mistakes (invalid mask, host address equal to the network or broadcast, gateway outside the subnet) before touching Packet Tracer.

configure_host_ipv6A

Set the IPv6 configuration of a PC, laptop or server, like the IPv6 part of IP Configuration: static with an address such as 2001:db8:10::20/64, auto for SLAAC, or off; optional gateway (usually the router's link-local fe80::1) and DNS. Returns the addresses Packet Tracer now has on the port.

configure_iosA

Apply a block of IOS configuration commands to a router or switch, as if typed after configure terminal: the first command enters global configuration and the rest follow the prompt, so interface ... sub-modes work. Stops at the first command IOS rejects, always leaves configuration mode, and runs write memory when save is true.

connectA

Cable two ports together. Both ports must exist and be free. With the default auto cable pktctl picks serial, straight or cross the way the CCNA rules do; pass cable to force fiber, rollover, console, etc.

connect_wirelessA

Connect a laptop, PC or other client with a wireless card to a network: SSID, security and key, plus DHCP or a static address. Packet Tracer only associates when a network is loaded, so pktctl takes the network as bytes, sets the client's current profile, opens the result as a temporary copy (your own file is not written) and reports whether it associated and with which access point.

describe_ipcA

Explore Packet Tracer's complete IPC API (every class, method, argument and enum of the official framework). Give search to find methods by keyword, class to list everything an object offers, enum to read accepted values, or nothing for the list of roots. Use it before call_ipc for anything the dedicated tools do not cover.

disconnectB

Remove the cable plugged into a port.

drawA

Draw on the logical canvas: a circle (centre and radius) around a subnet or group, a rectangle (two corners) to frame an area, or a line to mark a boundary. color is the outline (red, blue, green, ... or #rrggbb); fill fills circles and rectangles. The drawing is written into the network file, which Packet Tracer reopens from a temporary copy; save with a path to keep it. Returns the id remove_drawing takes.

fast_forwardA

Press Realtime mode's Fast Forward Time button: timers jump ahead so spanning tree converges, DHCP leases arrive and routing protocols settle at once instead of after 30 seconds or more. Call it after cabling or configuring, before testing connectivity.

get_preferencesA

Read Packet Tracer's preferences: port labels, link lights, device labels, auto cabling, animation, sound, device dialog tabs, toolbars and more.

host_filesA

Work with the text files of a PC, laptop or server, the ones its Text Editor opens and dir lists: list, read, write (creates or replaces) or delete a file in C:.

list_devicesA

List every device in the open network with its model, kind (router, switch, pc, ...) and canvas position. Use the names to target devices in other tools.

list_drawingsA

List the circles, rectangles and lines drawn on the logical canvas with their ids and centres.

list_linksA

List every cable in the network with both endpoints and the cable type.

list_locationsA

List the physical workspace: Intercity, cities, buildings, wiring closets and racks, each with its path, position and the devices placed in it.

list_modelsA

List the device models this Packet Tracer can create, straight from its hardware catalog, optionally filtered by kind (router, switch, pc, server, access_point, ...). Set include_modules to also list slot modules such as HWIC-2T or NIM-2T, or give a module kind (interface_card, pt_laptop_module, ...) to list only those modules.

list_notesA

List the text notes on the logical canvas with their ids and positions. Port labels drawn at cable ends are left out unless include_port_labels is true.

list_portsA

List a device's ports with their state, IPv4 address when they have one, and what each port is connected to. Use it to pick free ports before connect.

list_server_servicesA

List the services of a server (DHCP, DNS, HTTP, HTTPS, FTP, SMTP, POP3, NTP, Syslog, TFTP) and whether each one is on.

list_simulation_eventsB

Read the simulation event list: where each PDU was, when, which protocol, and whether it was accepted or dropped. With include_decisions, also Packet Tracer's per-layer explanation of each step, the same text as the PDU Details window.

list_slotsA

List a device's module slots (path, the kind of module each accepts, what is installed) and the module models the device supports.

move_deviceB

Move a device to a new position on the logical canvas.

move_to_locationA

Move a device, or a whole location such as a wiring closet, to another place in the physical workspace, for example a switch into Home City/Corporate Office/Main Wiring Closet. Devices moved into a wiring closet land on its rack or table.

network_descriptionA

Read the open file's description (the Description button in Packet Tracer), or replace it with text.

new_networkA

Start an empty network. Unsaved changes are discarded unless save_current_to gives a path to save them first.

open_networkA

Open a .pkt or .pka file. Unsaved changes in the current network are discarded unless save_current_to gives a path to save them first. Never shows a dialog.

power_cycle_allA

Power cycle every device that is on, like the Power Cycle Devices button but without its confirmation dialog: every device reloads and unsaved configuration on every router and switch is lost. Returns the devices cycled.

receive_emailA

Press Receive in the Email app: download the account's new mail over POP3 and return it. Like a real POP3 client, the mail is removed from the server; Packet Tracer does not expose the app's inbox, so keep what this returns.

remove_deviceA

Delete a device and all of its links from the network.

remove_drawingA

Remove a circle, rectangle or line from the logical canvas by id.

remove_locationA

Delete a city, building, wiring closet or rack with everything inside it. Devices must be moved out first (move_to_location); the power units Packet Tracer puts in racks go with it. Packet Tracer has no call for this, so pktctl edits the network as bytes and opens the result as a temporary copy; save with save_network and a path to keep the change.

remove_moduleA

Remove the module in a slot, power cycling the device like add_module. Returns the ports that disappeared with it.

remove_noteB

Delete a note from the logical canvas by id.

rename_deviceB

Rename a device. The new name must not be taken by another device.

rename_locationA

Rename a city, building, wiring closet or other location. Packet Tracer has no call for this, so pktctl takes the network as bytes, edits them and opens the result as a temporary copy; your own file is not written, save with save_network and a path to keep the change.

reset_activityA

Reset the open activity to its initial network, discarding the work done in it.

run_cliA

Type one IOS command at the console of a router or switch and return its output, including commands that take time such as ping or traceroute. status tells whether IOS accepted the command. A command still running after timeout_secs is stopped with Ctrl+Shift+6 and comes back with finished: false and the output so far. When IOS asks something ([confirm], [yes/no], Password:) the reply carries question and the console keeps waiting: answer with another run_cli in mode current, an empty command for Enter.

run_host_commandA

Run a command in the Command Prompt of a PC, laptop or server (ping, ipconfig, tracert, nslookup, arp -a) and return its output. Waits until the command finishes; a command still running after timeout_secs (ping -t) is stopped with Ctrl+C and comes back with finished: false and the output so far.

save_networkA

Save the open network as a .pkt file, without any dialog. Give an absolute path, or omit it to save over the file already open.

screenshotA

Capture Packet Tracer as a PNG image: the logical workspace rendered by Packet Tracer (default), the physical workspace (view: physical, which switches views for a moment), or the window as it is with any dialog open (view: window). Optionally also write it to an absolute .png path.

send_emailA

Send an email from the account set up with configure_email and wait for the SMTP server's answer. A recipient the server does not know comes back later as a delivery failure in receive_email.

set_backgroundA

Paper a physical location (a city, building, room or rack) with a background image, or the logical workspace when no location is given. Takes one of Packet Tracer's own backgrounds (grid_10x10, grid_25x25, grid_50x50, grid_100x100, city, building, intercity, container) or the absolute path of an image; an empty image clears it.

set_host_firewallA

Use the Firewall and IPv6 Firewall apps of a PC, laptop or server: switch each one on or off, add rules (permit or deny ip, icmp, tcp or udp, by remote address and port) and remove them. Returns both switches and the rules in the order the firewall evaluates them.

set_powerA

Switch a device on or off. Switching a router or switch off and on reloads it: configuration that was not saved with write memory is lost. IOS devices come back ready at the prompt.

set_preferencesA

Change Packet Tracer preferences by name, for example { "values": { "show_port_labels": true } }. Returns every preference afterwards.

set_server_serviceB

Switch one service of a server on or off, as in its Services tab.

set_web_pageB

Write a page of a server's HTTP service, for example index.html.

setup_exappA

Create the Packet Tracer app registration file (.pta) for pktctl's configured app id and secret, using Packet Tracer's own meta tool, and return the one-time steps to register it. Works while Packet Tracer still rejects pktctl.

show_workspaceA

Switch Packet Tracer's main window between the logical and the physical workspace, for example before a screenshot or a class demo.

simulation_modeB

Switch between Realtime and Simulation mode. Returns the mode, the simulation clock and how many events are recorded.

simulation_stepA

Advance the simulation (forward, like Capture/Forward), go back, or reset the event list. Needs Simulation mode.

statusA

Check whether Packet Tracer is reachable and summarize the open network. When it is not reachable, problem explains what to fix.

unlock_activityA

Give a password-protected activity its password (for its author or instructor) so Packet Tracer reports scores and runs checks. activity_status shows password_confirmed: false when this is needed.

vpn_clientA

Use the VPN app of a PC, laptop or server against an Easy VPN server: connect with server, group, group_key, username and password and wait for the tunnel, disconnect, or status. Returns whether the tunnel is up and the address the server assigned.

watch_eventsA

Listen to Packet Tracer's live IPC events for a few seconds and return them: devices and links added or removed, console output, simulation steps, ARP and DHCP activity, and 200 more across 73 classes. Start something (for example with another tool call in parallel, or by hand in Packet Tracer) and see what it triggers. describe_ipc with events lists the classes and names.

wireless_statusB

Read the wireless settings of an access point, wireless router or client, and for clients which access point they are associated with.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.4/5.0

Scored across 72 tools

Disambiguation4/5

Most tools target a clearly distinct resource and action, and descriptions often guide the agent toward the right tool. A few overlaps remain, such as set_server_service versus configure_dhcp_server/configure_dns_server, and add_device versus add_module, which could cause occasional misselection.

Naming Consistency4/5

The set is predominantly consistent snake_case with verb_noun naming (e.g., add_device, list_ports, configure_ios). Minor deviations like status, screenshot, draw, connect, and disconnect are still readable and predictable, so the pattern holds strongly.

Tool Count1/5

With 72 tools, the server far exceeds the recommended 3–15 range and lands in the rubric's extreme mismatch tier (50+ tools). Even though the domain is broad, this volume creates a heavy selection and maintenance burden for an agent.

Completeness5/5

The surface covers network creation, device and module lifecycle, cabling, logical and physical workspace, activities, simulation, server services, email, wireless, VPN, firewall, CLI and host commands, files, preferences, screenshots, and IPC escape hatches. Generic tools like call_ipc, run_cli, and run_host_command close remaining gaps, so no major dead ends are apparent.

Maintenance

ActivityNo data
ResponsivenessNo issues