Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
PORTNoThe server port.3000
OPENWISP_URLNoAlias for OPENWISP_BASE_URL.
OPENWISP_TOKENNoAlias for OPENWISP_API_TOKEN.
OPENWISP_BASE_URLNoThe base URL of the OpenWISP Controller instance (e.g. https://openwisp.example.com). Alias: OPENWISP_URL.
OPENWISP_API_TOKENNoOpenWISP API Bearer Token. Alias: OPENWISP_TOKEN.
OPENWISP_MOCK_SANDBOXNoIf 'true', responses are returned from the sandbox mode. Defaults to 'true' when OPENWISP_BASE_URL is empty.true

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
{
  "listChanged": true
}
prompts
{
  "listChanged": true
}
resources
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
openwisp_obtain_tokenB

[Category: Users & Auth] Obtain an API bearer token using OpenWISP username and password credentials. (HTTP POST /api/v1/users/token/)

openwisp_list_usersB

[Category: Users & Auth] List user accounts in OpenWISP with support for pagination and search. (HTTP GET /api/v1/users/user/)

openwisp_get_userB

[Category: Users & Auth] Retrieve detailed information for a specific OpenWISP user by ID. (HTTP GET /api/v1/users/user/{id}/)

openwisp_create_userC

[Category: Users & Auth] Create a new user in OpenWISP with role and organization permissions. (HTTP POST /api/v1/users/user/)

openwisp_delete_userC

[Category: Users & Auth] Delete a user account from OpenWISP. (HTTP DELETE /api/v1/users/user/{id}/)

openwisp_list_organizationsB

[Category: Organizations] List multi-tenant organizations managed within OpenWISP. (HTTP GET /api/v1/users/organization/)

openwisp_list_devicesA

[Category: Devices & Controller] List registered network devices (OpenWrt routers, access points, switches) in OpenWISP Controller. (HTTP GET /api/v1/controller/device/)

openwisp_get_deviceA

[Category: Devices & Controller] Get details, MAC address, model, status, and IP address for a specific device. (HTTP GET /api/v1/controller/device/{id}/)

openwisp_create_deviceC

[Category: Devices & Controller] Register a new network device in OpenWISP Controller. (HTTP POST /api/v1/controller/device/)

openwisp_update_deviceA

[Category: Devices & Controller] Update network device metadata, assigned organization, or templates. (HTTP PATCH /api/v1/controller/device/{id}/)

openwisp_delete_deviceB

[Category: Devices & Controller] Delete a network device registration from OpenWISP Controller. (HTTP DELETE /api/v1/controller/device/{id}/)

openwisp_activate_deviceA

[Category: Devices & Controller] Activate a deactivated device so it can reconnect and receive configuration. (HTTP POST /api/v1/controller/device/{id}/activate/)

openwisp_deactivate_deviceA

[Category: Devices & Controller] Deactivate a device before deletion or maintenance. (HTTP POST /api/v1/controller/device/{id}/deactivate/)

openwisp_get_device_configB

[Category: Devices & Controller] Generate and download compiled NetJSON configuration for a device. (HTTP GET /api/v1/controller/device/{id}/configuration/)

openwisp_list_device_commandsA

[Category: Devices & Controller] List commands previously issued to a device. (HTTP GET /api/v1/controller/device/{device_id}/command/)

openwisp_execute_device_commandC

[Category: Devices & Controller] Execute a command on a device, such as reboot or a custom shell command. (HTTP POST /api/v1/controller/device/{device_id}/command/)

openwisp_get_device_commandB

[Category: Devices & Controller] Get details for a previously executed device command. (HTTP GET /api/v1/controller/device/{device_id}/command/{command_id}/)

openwisp_list_device_groupsB

[Category: Devices & Controller] List device groups created for organizing network hardware. (HTTP GET /api/v1/controller/group/)

openwisp_create_device_groupC

[Category: Devices & Controller] Create a new device group. (HTTP POST /api/v1/controller/group/)

openwisp_get_device_groupC

[Category: Devices & Controller] Get details for a device group. (HTTP GET /api/v1/controller/group/{id}/)

openwisp_update_device_groupB

[Category: Devices & Controller] Update a device group. (HTTP PUT /api/v1/controller/group/{id}/)

openwisp_get_device_group_from_certA

[Category: Devices & Controller] Resolve the device group linked to a certificate common name. (HTTP GET /api/v1/controller/cert/{common_name}/group/)

openwisp_list_device_connectionsB

[Category: Devices & Controller] List connections for a device. (HTTP GET /api/v1/controller/device/{id}/connection/)

openwisp_create_device_connectionC

[Category: Devices & Controller] Create a connection for a device. (HTTP POST /api/v1/controller/device/{id}/connection/)

openwisp_get_device_connectionB

[Category: Devices & Controller] Get details for a specific device connection. (HTTP GET /api/v1/controller/device/{device_id}/connection/{connection_id}/)

openwisp_update_device_connectionB

[Category: Devices & Controller] Replace a device connection definition. (HTTP PUT /api/v1/controller/device/{device_id}/connection/{connection_id}/)

openwisp_patch_device_connectionC

[Category: Devices & Controller] Partially update a device connection. (HTTP PATCH /api/v1/controller/device/{device_id}/connection/{connection_id}/)

openwisp_delete_device_connectionB

[Category: Devices & Controller] Delete a device connection. (HTTP DELETE /api/v1/controller/device/{device_id}/connection/{connection_id}/)

openwisp_list_credentialsB

[Category: Devices & Controller] List connection credentials. (HTTP GET /api/v1/connection/credential/)

openwisp_create_credentialC

[Category: Devices & Controller] Create a connection credential. (HTTP POST /api/v1/connection/credential/)

openwisp_get_credentialB

[Category: Devices & Controller] Get a connection credential. (HTTP GET /api/v1/connection/credential/{id}/)

openwisp_update_credentialB

[Category: Devices & Controller] Replace a connection credential. (HTTP PUT /api/v1/connection/credential/{id}/)

openwisp_patch_credentialB

[Category: Devices & Controller] Partially update a connection credential. (HTTP PATCH /api/v1/connection/credential/{id}/)

openwisp_delete_credentialC

[Category: Devices & Controller] Delete a connection credential. (HTTP DELETE /api/v1/connection/credential/{id}/)

openwisp_get_device_locationB

[Category: Geo & Locations] Get a device location object. (HTTP GET /api/v1/controller/device/{id}/location/)

openwisp_create_device_locationC

[Category: Geo & Locations] Assign a location object to a device. (HTTP PUT /api/v1/controller/device/{id}/location/)

openwisp_update_device_locationC

[Category: Geo & Locations] Update the location assigned to a device. (HTTP PUT /api/v1/controller/device/{id}/location/)

openwisp_delete_device_locationB

[Category: Geo & Locations] Remove the location from a device. (HTTP DELETE /api/v1/controller/device/{id}/location/)

openwisp_get_device_coordinatesC

[Category: Geo & Locations] Get device coordinates for a geocoded device. (HTTP GET /api/v1/controller/device/{id}/coordinates/)

openwisp_update_device_coordinatesC

[Category: Geo & Locations] Update device coordinates. (HTTP PUT /api/v1/controller/device/{id}/coordinates/)

openwisp_get_organization_geo_settingsA

[Category: Geo & Locations] Get organization geo settings. (HTTP GET /api/v1/controller/organization/{organization_pk}/geo-settings/)

openwisp_update_organization_geo_settingsB

[Category: Geo & Locations] Replace organization geo settings. (HTTP PUT /api/v1/controller/organization/{organization_pk}/geo-settings/)

openwisp_patch_organization_geo_settingsB

[Category: Geo & Locations] Partially update organization geo settings. (HTTP PATCH /api/v1/controller/organization/{organization_pk}/geo-settings/)

openwisp_list_locationsC

[Category: Geo & Locations] List controller locations. (HTTP GET /api/v1/controller/location/)

openwisp_create_locationC

[Category: Geo & Locations] Create a controller location. (HTTP POST /api/v1/controller/location/)

openwisp_get_locationC

[Category: Geo & Locations] Get location details. (HTTP GET /api/v1/controller/location/{pk}/)

openwisp_update_locationC

[Category: Geo & Locations] Replace location details. (HTTP PUT /api/v1/controller/location/{pk}/)

openwisp_delete_locationC

[Category: Geo & Locations] Delete a controller location. (HTTP DELETE /api/v1/controller/location/{pk}/)

openwisp_list_location_devicesC

[Category: Geo & Locations] List devices deployed at a location. (HTTP GET /api/v1/controller/location/{id}/device/)

openwisp_list_location_geojsonC

[Category: Geo & Locations] List locations in GeoJSON format. (HTTP GET /api/v1/controller/location/geojson/)

openwisp_list_location_indoor_coordinatesC

[Category: Geo & Locations] List indoor coordinates for a location. (HTTP GET /api/v1/controller/location/{id}/indoor-coordinates/)

openwisp_list_floorplansC

[Category: Geo & Locations] List indoor floor plans. (HTTP GET /api/v1/controller/floorplan/)

openwisp_create_floorplanC

[Category: Geo & Locations] Create a floor plan. (HTTP POST /api/v1/controller/floorplan/)

openwisp_get_floorplanC

[Category: Geo & Locations] Get floor plan details. (HTTP GET /api/v1/controller/floorplan/{pk}/)

openwisp_update_floorplanB

[Category: Geo & Locations] Replace a floor plan. (HTTP PUT /api/v1/controller/floorplan/{pk}/)

openwisp_delete_floorplanB

[Category: Geo & Locations] Delete a floor plan. (HTTP DELETE /api/v1/controller/floorplan/{pk}/)

openwisp_list_templatesC

[Category: Templates] List OpenWISP configuration templates (VPN, WiFi SSIDs, Firewall, Network rules). (HTTP GET /api/v1/controller/template/)

openwisp_get_templateA

[Category: Templates] Get configuration template details including NetJSON config structure. (HTTP GET /api/v1/controller/template/{id}/)

openwisp_create_templateB

[Category: Templates] Create a reusable configuration template in NetJSON format for OpenWISP devices. (HTTP POST /api/v1/controller/template/)

openwisp_get_template_configurationA

[Category: Templates] Download the rendered configuration tarball for a template. (HTTP GET /api/v1/controller/template/{id}/configuration/)

openwisp_update_templateC

[Category: Templates] Replace a template. (HTTP PUT /api/v1/controller/template/{id}/)

openwisp_patch_templateB

[Category: Templates] Partially update a template. (HTTP PATCH /api/v1/controller/template/{id}/)

openwisp_delete_templateC

[Category: Templates] Delete a template. (HTTP DELETE /api/v1/controller/template/{id}/)

openwisp_list_vpnsB

[Category: Certificates & VPN] List VPN resources. (HTTP GET /api/v1/controller/vpn/)

openwisp_create_vpnC

[Category: Certificates & VPN] Create a VPN resource. (HTTP POST /api/v1/controller/vpn/)

openwisp_get_vpnB

[Category: Certificates & VPN] Get VPN details. (HTTP GET /api/v1/controller/vpn/{id}/)

openwisp_get_vpn_configurationC

[Category: Certificates & VPN] Download VPN configuration. (HTTP GET /api/v1/controller/vpn/{id}/configuration/)

openwisp_update_vpnC

[Category: Certificates & VPN] Replace a VPN resource. (HTTP PUT /api/v1/controller/vpn/{id}/)

openwisp_patch_vpnB

[Category: Certificates & VPN] Partially update a VPN resource. (HTTP PATCH /api/v1/controller/vpn/{id}/)

openwisp_delete_vpnC

[Category: Certificates & VPN] Delete a VPN resource. (HTTP DELETE /api/v1/controller/vpn/{id}/)

openwisp_list_casB

[Category: Certificates & VPN] List certificate authorities. (HTTP GET /api/v1/controller/ca/)

openwisp_create_caC

[Category: Certificates & VPN] Create or import a certificate authority. (HTTP POST /api/v1/controller/ca/)

openwisp_get_caB

[Category: Certificates & VPN] Get CA details. (HTTP GET /api/v1/controller/ca/{id}/)

openwisp_update_caC

[Category: Certificates & VPN] Replace a CA. (HTTP PUT /api/v1/controller/ca/{id}/)

openwisp_patch_caB

[Category: Certificates & VPN] Partially update a CA. (HTTP PATCH /api/v1/controller/ca/{id}/)

openwisp_download_ca_crlA

[Category: Certificates & VPN] Download a CA CRL file. (HTTP GET /api/v1/controller/ca/{id}/crl/)

openwisp_delete_caC

[Category: Certificates & VPN] Delete a CA. (HTTP DELETE /api/v1/controller/ca/{id}/)

openwisp_renew_caC

[Category: Certificates & VPN] Renew a CA. (HTTP POST /api/v1/controller/ca/{id}/renew/)

openwisp_list_certsB

[Category: Certificates & VPN] List certificates. (HTTP GET /api/v1/controller/cert/)

openwisp_create_certC

[Category: Certificates & VPN] Create or import a certificate. (HTTP POST /api/v1/controller/cert/)

openwisp_get_certB

[Category: Certificates & VPN] Get certificate details. (HTTP GET /api/v1/controller/cert/{id}/)

openwisp_update_certC

[Category: Certificates & VPN] Replace a certificate. (HTTP PUT /api/v1/controller/cert/{id}/)

openwisp_patch_certB

[Category: Certificates & VPN] Partially update a certificate. (HTTP PATCH /api/v1/controller/cert/{id}/)

openwisp_delete_certC

[Category: Certificates & VPN] Delete a certificate. (HTTP DELETE /api/v1/controller/cert/{id}/)

openwisp_renew_certB

[Category: Certificates & VPN] Renew a certificate. (HTTP POST /api/v1/controller/cert/{id}/renew/)

openwisp_revoke_certC

[Category: Certificates & VPN] Revoke a certificate. (HTTP POST /api/v1/controller/cert/{id}/revoke/)

openwisp_list_topologiesB

[Category: Network Topology] List network topologies collected via mesh protocols (OLSR, Batman-adv, WireGuard, OpenVPN). (HTTP GET /api/v1/network-topology/topology/)

openwisp_get_topologyB

[Category: Network Topology] Retrieve network topology details including node list, link metrics, and graph connections. (HTTP GET /api/v1/network-topology/topology/{id}/)

openwisp_list_nodesB

[Category: Network Topology] List nodes (routers/switches/endpoints) participating in a network topology. (HTTP GET /api/v1/network-topology/node/)

openwisp_list_linksB

[Category: Network Topology] List physical or virtual links between nodes in a network topology with link status. (HTTP GET /api/v1/network-topology/link/)

openwisp_list_radius_sessionsB

[Category: RADIUS & WiFi] List RADIUS authentication and accounting sessions for WiFi hot-spots and captive portals. (HTTP GET /api/v1/radius/accounting/)

openwisp_get_radius_usageB

[Category: RADIUS & WiFi] Get aggregated RADIUS bandwidth and session usage metrics for an organization or user. (HTTP GET /api/v1/radius/usage/)

Prompts

Interactive templates invoked by user choice

NameDescription
audit_network_healthInspects all OpenWISP devices, flags offline/warning nodes, and summarizes network status.
provision_new_apGuides the AI step-by-step through creating a new access point device and assigning templates.
radius_bandwidth_reportAnalyzes RADIUS accounting sessions to identify top bandwidth consumers on WiFi.

Resources

Contextual data attached and managed by the client

NameDescription
OpenWISP REST API Reference DocumentationOfficial API documentation for users, controller, topology, templates, and RADIUS modules
OpenWISP MCP Server Bridge StatusCurrent connection state to OpenWISP controller instance

TDQS

C2.9/5.0

Scored across 92 tools

Disambiguation3/5

Most tools target distinct resource+action combinations, but overlapping pairs such as openwisp_create_device_location and openwisp_update_device_location both use HTTP PUT on the same path, and several CRUD variants update/patch the same resource. Descriptions help, but with 92 tools an agent can still misselect near-duplicates.

Naming Consistency5/5

All tools use a consistent openwisp_ prefix and a snake_case verb_noun pattern, e.g. list_devices, get_device, create_device, delete_device. Non-CRUD verbs like renew, revoke, execute, and obtain are still predictable and fit the convention.

Tool Count1/5

92 tools is far beyond the recommended 3-15 range and exceeds the 50+ extreme-mismatch threshold for a single MCP server. Even with a large OpenWISP API surface, this creates enormous context and selection burden.

Completeness3/5

Coverage is broad across devices, templates, certificates, VPNs, locations, users, topologies, and RADIUS, but notable lifecycle gaps remain: no update_user or organization CRUD, no delete_device_group, and several list-only resources. Core workflows are present, but the surface is not fully complete.

Maintenance

ActivityMaintained
ResponsivenessNo issues