genieacs-nbi-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GENIEACS_NBI_URL | Yes | URL of the GenieACS northbound interface (NBI), e.g. http://acs.example.net:7557 | |
| GENIEACS_NBI_PASS | No | Password for GenieACS NBI basic auth. Only needed if the NBI requires basic authentication. | |
| GENIEACS_NBI_USER | No | Username for GenieACS NBI basic auth. Only needed if the NBI requires basic authentication. | |
| GENIEACS_MCP_TOKEN | No | Bearer token (at least 32 characters) used when running the server in HTTP mode, e.g. GENIEACS_MCP_TOKEN="$(openssl rand -hex 32)" genieacs-nbi-mcp --http 127.0.0.1:8080. Not required for stdio mode. |
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| acs_devicesA | List or search CPE/ONT devices known to the ACS (GET /devices). Use |
| acs_deviceA | Read one device by its exact |
| acs_tasksA | List queued ACS tasks (GET /tasks): operations waiting for a device to connect. A growing backlog on one device often means it is offline or unreachable. Read-only: tasks can not be created or deleted here. |
| acs_faultsA | List ACS faults (GET /faults): failed sessions or provisions per device/channel, with code, message, retry count and timestamps. Start here for "why does this ONT not provision". |
| acs_filesA | List files stored in the ACS (GET /files): firmware images and vendor config files with filename, fileType, OUI, productClass and version. Metadata only; file contents are not downloadable here. |
| acs_presetsB | List presets (GET /presets): which provisions run for which devices (channel, weight, precondition, events). |
| acs_provisionsA | List provision scripts (GET /provisions). Script bodies are returned as stored, with password-like assignments masked. |
| acs_readA | Escape hatch: GET any readable NBI path, e.g. "/devices?limit=3&projection=id" or "/virtualparameters". Allowed collections: /devices /tasks /faults /files /presets /provisions /virtualparameters /objects. Only GET is sent; POST/PUT/PATCH/DELETE, /devices/{id}/tasks, tag changes and the connection_request flag are refused by policy. Prefer the dedicated acs* tools. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 8 tools
The tools mostly map cleanly to distinct ACS collections/actions. The singular/plural pair acs_devices vs acs_device is clearly differentiated by description, though acs_read intentionally overlaps all dedicated read tools as an escape hatch.
All tools share the acs_ prefix and use predictable resource-oriented names, with singular/plural distinctions for single vs list operations. acs_read is the only verb-style outlier, but its escape-hatch role is explicit.
Eight tools is well-scoped for a read-only ACS NBI surface. Each tool corresponds to a meaningful endpoint or collection, and the generic read escape hatch avoids adding many redundant per-collection variants.
The read-only surface covers the main ACS collections: devices, tasks, faults, files, presets, provisions, plus a generic GET escape hatch for virtualparameters/objects. Write operations and task creation are intentionally excluded, and file contents are not downloadable, but these are clear policy limitations rather than accidental gaps.