GenieACS-MCP
A tiny bridge that exposes any GenieACS instance as an MCP v1 (JSON-RPC for LLMs) server written in Go.
______________________________________________________________________
✨ 你得到了什么
| 类型 | 用途 | MCP URI/工具id |
|---|---|---|
| 资源 | 以只读方式使用GenieACS数据 | genieacs://device/{id} |
genieacs://file/{name} genieacs://tasks/{id} genieacs://devices/list genieacs://presets/list genieacs://provisions/list genieacs://faults/{id} | | 工具 |通过GenieACS调用CPE上的操作| reboot_device download_firmware refresh_parameter set_parameter get_parameter manage_preset manage_provision search_devices tag_device connection_request delete_task retry_task |
所有内容都通过单个JSON-RPC端点公开(/mcp).\ LLM/代理人可以: initialize → readResource → listTools → callTool …等等。
______________________________________________________________________
🚀 快速入门(Docker Compose)
遵循以下说明https://github.com/GeiserX/genieacs-container,它包含在那里的docker compose文件中。
📦 通过npm安装(stdio传输)
npx genieacs-mcp或全局安装:
npm install -g genieacs-mcp
genieacs-mcp这将为您的平台下载预构建的Go二进制文件,并使用与任何MCP客户端兼容的stdio传输运行它。
🛠 本地建设
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🔧 配置
| 变量 | 默认值 | 描述 |
|---|---|---|
ACS_URL | http://localhost:7557 | GenieACS NBI端点(无尾随/) |
ACS_USER | _(空)_ | GenieACS NBI基本身份验证用户名 |
ACS_PASS | _(空)_ | GenieACS NBI基本身份验证密码 |
TRANSPORT | _(空=HTTP)_ | 设置为 stdio 用于stdio传输 |
DEVICE_LIMIT | 500 | 返回的最大设备数 genieacs://devices/list |
MCP_LISTEN_ADDR | 127.0.0.1:8080 | HTTP侦听地址(仅在TRANSPORT不是stdio时使用) |
把它们放在一个 .env 文件(来自 .env.example)或者将它们置于环境中。
测试
经过测试 检查员 目前,它正在全面运作。在进行PR之前,请确保此MCP服务器通过此介质运行良好。
缺乏对实际MCP客户端(客户端LLM)的测试,因此请提交您的PR以改进描述,以防它无法充分匹配此MCP服务器提供的服务。
客户端LLM的配置示例:
{
"schema_version": "v1",
"name_for_human": "GenieACS-MCP",
"name_for_model": "genieacs_mcp",
"description_for_human": "Full CPE management through GenieACS — parameter read/write, presets, provisions, firmware, tags, search, and task lifecycle.",
"description_for_model": "Interact with a GenieACS TR-069 Auto-Configuration-Server (ACS) that manages CPE devices (routers, ONTs, gateways). 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:// (devices, presets, provisions, faults). Use listTools to discover available actions (parameter read/write, presets, provisions, tags, search, task management) 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/main/extra/logo.png",
"contact_email": "acsdesk@protonmail.com",
"legal_info_url": "https://github.com/GeiserX/genieacs-mcp/blob/main/LICENSE"
}学分
GenieACS –最好的开源ACS
MCP-GO –现代MCP实施
GoRelease –无痛多弓释放
维护者
@盖泽尔.
贡献
尽情潜水吧! 提出问题 或提交PR。
GenieACS MCP遵循 贡献者契约 行为准则。
GenieACS生态系统
此项目是使用GenieACS的更广泛工具集的一部分:
| 项目 | 类型 | 描述 |
|---|---|---|
| Docker+Helm | 生产就绪的多拱形Docker镜像和Helm图表 | |
| 可理解的基因 | Ansible Collection | 动态库存插件和设备管理模块 |
| 生殖器 | HA集成 | TR-069监控的家庭助理集成 |
| n8n个节点 | n8n节点 | GenieACS的工作流自动化 |
| genieacs服务 | 服务定义 | Systemd/Supervision服务定义 |
| genieacs sim容器 | 模拟器 | 用于测试的基于Docker的GenieACS模拟器 |
GeiserX的其他MCP服务器
- 现金飞行员mcp --被动收入监测
- 重复 --备份健康监控
- lynxprompt-mcp --AI配置蓝图
- 泵式mcp --燃料和电动汽车充电价格
- 电报档案mcp --电报消息存档
