SuperAPI AI Directory

genieacs-mcp

Bridge to GenieACS (TR-069 ACS) instances: device data, firmware management and CPE actions such as reboot, parameter refresh and firmware download.

Open website

About this tool

genieacs-mcp is an MCP (Model Context Protocol) server written in Go, targeting GenieACS—the open-source TR-069 ACS for managing routers, ONTs, and other CPE devices. Once added to Claude Desktop, Cursor, or any other MCP client, you can issue instructions in natural language, such as "which devices stopped reporting last night," "which firmware is serial number 000003 running," "reboot the device with the pilot tag." The assistant reads and acts through your GenieACS NBI; the server provides 7 resources and 12 tools, with only a single Go binary and no database of its own.

Main capabilities:

  • Find devices by tag, model, firmware, last inform time, or any TR-069 parameter; search_devices accepts MongoDB-style filters.
  • Read a device's full parameter tree, tasks, and faults as resources, as well as presets, provisions, and files on the ACS, e.g. genieacs://device/{id}, genieacs://devices/list, etc.
  • Reboot devices, push firmware, refresh or set parameters, or wake devices via connection requests in the conversation.
  • Tag devices, create or delete presets and provisions, delete or retry tasks, making it easy for the assistant to fix problems it discovers.
  • Every tool description explains what it does, its limitations, and examples, so the client can pick the right tool without extra prompting.

How to use: You need a GenieACS whose NBI (port 7557) is reachable from the local machine. If you don't have one, the official family's demo stack can provide an ACS with a simulated router in about a minute. Then add the server to a client that can read the mcpServers block (Claude Desktop, Cursor, Claude Code; in VS Code, the key used in .vscode/mcp.json is servers). When you ask "what devices does the ACS know about" and get device IDs (such as 202BC1-BM632w-000000 in the demo stack or your own devices), the configuration is successful. See Getting started for Docker, HTTP transport, and local builds. Full documentation is at geiserx.github.io/genieacs-mcp.

Read-only and actions: search_devices, get_parameter, and the 7 resources perform reads only; the remaining 10 tools queue tasks on devices or change the ACS. There is no read-only mode, so you should point it at an ACS you're willing to let the assistant act on, and keep the client's tool approval prompts enabled.

Security limitations: It is safer to use on a laptop; HTTP transport listens only on the loopback address by default unless you set the address and a bearer token, and it validates Host and Origin against DNS rebinding.

Distribution: a single static Go binary for Linux, macOS, and Windows (amd64 and arm64), also available as an npm package (npx genieacs-mcp) and a Docker image.

Related projects: Registered in the official MCP Registry as io.github.GeiserX/genieacs-mcp. Part of the GenieACS family, related projects include genieacs-container (the ACS itself, with Docker and Helm, with this server as a compose profile), genieacs-sim-container, genieacs-ansible, genieacs-ha, genieacs-services, and the archived n8n-nodes-genieacs. The license is GPL-3.0-or-later.