GenieACS MCP
MCP server that exposes GenieACS TR-069 ACS instances to LLMs for device management, firmware downloads, and parameter reads
GenieACS-MCP
A tiny bridge that exposes any GenieACS instance as an MCP v1 (JSON-RPC for LLMs) server written in Go.
✨ What you get
| Type | What for | MCP URI / Tool id |
|---|---|---|
| Resources | Consume GenieACS data read-only | genieacs://device/{id}genieacs://file/{name}genieacs://tasks/{id}genieacs://devices/list |
| Tools | Invoke actions on a CPE through GenieACS | reboot_devicedownload_firmwarerefresh_parameter |
Everything is exposed over a single JSON-RPC endpoint (/mcp).
LLMs / Agents can: initialize → readResource → listTools → callTool … and so on.
🚀 Quick-start (Docker Compose)
Follow instructions from https://github.com/GeiserX/genieacs-container, it is included in the docker compose file there.
📦 Install via npm (stdio transport)
npx genieacs-mcp
Or install globally:
npm install -g genieacs-mcp
genieacs-mcp
This downloads the pre-built Go binary for your platform and runs it with stdio transport, compatible with any MCP client.
🛠 Local build
git clone https://github.com/GeiserX/genieacs-mcp
cd genieacs-mcp
# (optional) create .env from the sample
cp .env.example .env && $EDITOR .env
go run ./cmd/server
🔧 Configuration
| Variable | Default | Description |
|---|---|---|
ACS_URL | http://localhost:7557 | GenieACS NBI endpoint (without trailing /) |
ACS_USER | admin | GenieACS username |
ACS_PASS | admin | GenieACS password |
TRANSPORT | (empty = HTTP) | Set to stdio for stdio transport |
Put them in a .env file (from .env.example) or set them in the environment.
Testing
Tested with Inspector and it is currently fully working. Before making a PR, make sure this MCP server behaves well via this medium.
Lacks Testing with actual MCP clients (client LLMs), so please, submit your PRs to improve descriptions in case it fails to adequately match the services offered by this MCP server.
Example configuration for client LLMs:
{
"schema_version": "v1",
"name_for_human": "GenieACS-MCP",
"name_for_model": "genieacs_mcp",
"description_for_human": "Read data from GenieACS and run actions on CPEs (reboot, firmware update, parameter refresh).",
"description_for_model": "Interact with an Auto-Configuration-Server (ACS) that manages routers. First call initialize, then reuse the returned session id in header \"Mcp-Session-Id\" for every other call. Use readResource to fetch URIs that begin with genieacs://. Use listTools to discover available actions and callTool to execute them.",
"auth": { "type": "none" },
"api": {
"type": "jsonrpc-mcp",
"url": "http://localhost:8080/mcp",
"init_method": "initialize",
"session_header": "Mcp-Session-Id"
},
"logo_url": "https://raw.githubusercontent.com/GeiserX/genieacs-container/master/extra/logo.png",
"contact_email": "[email protected]",
"legal_info_url": "https://github.com/GeiserX/genieacs-mcp/blob/main/LICENSE"
}
Credits
GenieACS – the best open-source ACS
MCP-GO – modern MCP implementation
GoReleaser – painless multi-arch releases
Maintainers
Contributing
Feel free to dive in! Open an issue or submit PRs.
GenieACS-MCP follows the Contributor Covenant Code of Conduct.
Other MCP Servers by GeiserX
- cashpilot-mcp — Passive income monitoring
- duplicacy-mcp — Backup health monitoring
- lynxprompt-mcp — AI configuration blueprints
- pumperly-mcp — Fuel and EV charging prices
- telegram-archive-mcp — Telegram message archive
Related Servers
Claude Server MCP
An MCP server for Claude providing advanced context management, including persistent sessions and project-specific organization.
Freee MCP Scalar
AI-driven integration with the freee accounting service via the Model Context Protocol.
Word MCP Server
Create and edit Microsoft Word (.docx) documents via an API.
GoPluto AI MCP
MCP for quick human experts
Scenext MCP Server
Integrates with the Scenext AI platform to generate educational videos on various topics.
Clawdentials
Trust layer for AI agent commerce: escrow payments, verifiable reputation, and bounty marketplace with USDC/USDT/BTC Lightning support.
Whoop
Access the Whoop API to query cycles, recovery, strain, and workout data.
Bitrix24
Interact with and manage your Bitrix24 CRM instance through a powerful set of tools.
notebooklm MCP
Chat with Google NotebookLM via MCP or HTTP REST API for zero-hallucination answers from your docs. Perfect for n8n workflows and automation.
Goodday
A read-only server for the Goodday project management platform.