Command Palette

Search for a command to run...

UnylyUnyly
Browse all

Genieacs

FreeMaintained

GenieACS-MCP is a Go-based MCP server that bridges any GenieACS (TR-069 ACS) instance, exposing device data, firmware management, and CPE actions (reboot, param

GitHubEmbed

About

GenieACS-MCP is a Go-based MCP server that bridges any GenieACS (TR-069 ACS) instance, exposing device data, firmware management, and CPE actions (reboot, parameter refresh, firmware download) over JSON-RPC

README

genieacs-mcp

npm CI Coverage Go Reference License Docker Pulls GitHub Stars

genieacs-mcp is an MCP server for GenieACS, the open-source TR-069 ACS that manages routers, ONTs and other CPE devices. Add it to Claude Desktop, Cursor or any other MCP client and ask in plain words: which devices stopped informing last night, what firmware serial 000003 runs, reboot the ones tagged pilot. The assistant reads and acts through your GenieACS NBI with 7 resources and 12 tools; one Go binary, no database of its own.

MCP Inspector connected to genieacs-mcp: the search_devices tool run with the query _tags residential, and the result listing simulated Huawei BM632w devices with their ids, manufacturer, last inform and tags

Features

  • Find devices the way you would ask a colleague: by tag, model, firmware, last inform, or any TR-069 parameter (search_devices takes a MongoDB-style filter).
  • Read a device's full parameter tree, its tasks and its faults, plus the presets, provisions and files on the ACS, as resources (genieacs://device/{id}, genieacs://devices/list, ...).
  • Reboot a device, push firmware to it, refresh or set a parameter, or wake it with a connection request, from a chat.
  • Tag devices, create or delete presets and provisions, and delete or retry tasks, so the assistant can fix what it finds.
  • Every tool description says what it does, its limits and an example, so clients pick the right one without a prompt from you.
  • Read versus act: search_devices, get_parameter and the seven resources only read; the other ten tools queue a task on a device or change the ACS.
  • No read-only mode: point it at an ACS you are willing to let an assistant act on, and keep your client's tool-approval prompts on.
  • Safe on a laptop: the HTTP transport listens on loopback only unless you set an address and a bearer token, and checks Host and Origin against DNS rebinding.
  • One static Go binary for Linux, macOS and Windows on amd64 and arm64, also as an npm package (npx genieacs-mcp) and a Docker image.

Quick start

You need a GenieACS whose NBI (port 7557) this machine can reach; without one, the family's demo stack gives you an ACS with a simulated router in about a minute:

curl -fsSLO https://raw.githubusercontent.com/GeiserX/genieacs-container/main/docker-compose.yml
docker compose --profile testing up -d      # GenieACS + MongoDB + one simulated CPE, NBI on localhost:7557

Then add the server to a client that reads an mcpServers block (Claude Desktop, Cursor, Claude Code; in VS Code the .vscode/mcp.json key is servers):

{
  "mcpServers": {
    "genieacs": {
      "command": "npx",
      "args": ["-y", "genieacs-mcp"],
      "env": { "ACS_URL": "http://localhost:7557" }
    }
  }
}

It worked when you ask "which devices does the ACS know about?" and the assistant answers with device ids such as 202BC1-BM632w-000000 (the demo stack) or your own. Docker, the HTTP transport and a local build are in Getting started.

Documentation

The full documentation is at geiserx.github.io/genieacs-mcp.

  • Getting started: npm, Docker Compose, local build, and what the first exchange looks like
  • Configuration: every environment variable, the HTTP transport's security model, client config for stdio and HTTP
  • Usage: the 7 resources and 12 tools with their arguments, which ones act on devices, example prompts
  • Development: tests, trying the server with MCP Inspector, contributing
  • Related projects: the GenieACS family, other MCP servers, where this server is listed

Related projects

Listed in the official MCP Registry as io.github.GeiserX/genieacs-mcp. Part of the GenieACS family: genieacs-container (the ACS itself, Docker and Helm, with this server as a compose profile), genieacs-sim-container, genieacs-ansible, genieacs-ha, genieacs-services, and n8n-nodes-genieacs (archived).

License

GPL-3.0-or-later

from github.com/GeiserX/genieacs-mcp

Install Genieacs in Claude Desktop, Claude Code & Cursor

Recommended · one command, every IDE
unyly install genieacs-mcp

Installs into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.

First time? Get the CLI: curl -fsSL https://unyly.org/install | sh

Or configure manually

Run in your terminal:

claude mcp add genieacs-mcp --env ACS_URL="" -- npx -y genieacs-mcp

Step-by-step: how to install Genieacs

FAQ

Is Genieacs MCP free?

Yes, Genieacs MCP is free — one-click install via Unyly at no cost.

Does Genieacs need an API key?

Yes, it requires environment variables: ACS_URL. Unyly injects them into the config during install.

Is Genieacs hosted or self-hosted?

Self-hosted: the server runs locally on your machine via the install command above.

How do I install Genieacs in Claude Desktop, Claude Code or Cursor?

Open Genieacs on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Changes

Versions and requested access over time.

  • New version published
  • New version published
  • New version published
  • Requested access changed
    + ACS_URL
  • New version published
  • New version published
  • New version published
  • New version published

Related MCPs

Compare Genieacs with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All development MCPs