OpenWrt设备管理服务

通过MCP协议提供OpenWrt路由器的远程管理和控制功能,支持系统状态查询、网络管理、LED控制等操作。

  • by dbshadow
  • Lua
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 dbshadow/openwrt-mcp

使用说明

OpenWrt MCP控制器

该项目提供了一个用于管理OpenWrt设备的模型上下文协议(MCP)服务器。它允许您通过一个简单的API与OpenWrt路由器进行交互和控制。

服务器利用 fastmcp 将OpenWrt功能作为可远程调用的工具公开。

1.先决条件

为了使服务器具有完整的功能,必须在目标OpenWrt设备上放置一个自定义的LuCI RPC脚本。

安装 sys.lua 关于OpenWrt

这 sys.lua 此存储库中的文件扩展了LuCI JSON-RPC接口的功能。您必须将此文件复制到OpenWrt路由器,以便使用以下工具 system_status, network_status,以及 set_led_state 工作。

  1. 将文件复制到OpenWrt设备: 使用 scp 或任何其他文件传输方法进行复制 sys.lua 到你的路由器。

    scp sys.lua root@<your_openwrt_ip>:/usr/lib/lua/luci/sys.lua
    
  2. 验证权限: 确保该文件具有正确的权限。

    ssh root@<your_openwrt_ip> "chmod 644 /usr/lib/lua/luci/sys.lua"
    

2.安装

您可以直接从PyPI安装此软件包。

pip install openwrt-mcp

3.配置

服务器是通过环境变量配置的。在运行服务器之前,您必须设置以下内容:

  • OPENWRT_HOST:您的OpenWrt设备的完整URL(例如。, http://192.168.1.1).
  • OPENWRT_PASSWORD:OpenWrt设备的登录密码。
  • OPENWRT_USERNAME:(可选)登录用户名。默认为 root.

例子:

export OPENWRT_HOST="http://192.168.1.1"
export OPENWRT_PASSWORD="your_secret_password"

4.使用方法

安装和配置后,您可以使用以下配置启动MCP服务器:

{
    "mcpServers":{
        "openwrt-mcp":{
            "command":"uvx",
            "args": [
                "openwrt-mcp"
            ],
            "env":{
                "OPENWRT_HOST":"192.168.0.1",
                "OPENWRT_PASSWORD":"root",
                "OPENWRT_USERNAME":"12345678"
            }
        }
    }
}

服务器将启动并通过标准I/O监听传入连接。

可用工具

MCP服务器公开了以下工具:

  • reboot():重新启动OpenWrt设备。
  • system_status():检索系统和板信息。
  • network_status():获取所有网络接口的状态。
  • read_log():读取系统日志(logread).
  • set_led_state(state: str):设置“绿色”LED的状态。 state 可以是 'on' 或 'off'.
  • summary_log():为AI提供结构化的提示模板,以总结以下内容的输出 read_log().