Token导航 LogoToken导航TokenDH.com
MCP Openwrt logo
运维云端未说明官方级别未说明来源级核验

MCP Openwrt

MCP Server

通过Claude Code配置和管理OpenWRT路由器的MCP服务器,提供网络管理、VPN配置、系统管理等全面工具。

工具数

50

提示词数

0

GitHub Stars

1

资源数

0
TypeScriptClaude系统管理Claude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

ramanarupa

提供方

ramanarupa

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

OpenWRT MCP服务器

MCP(模型上下文协议)服务器,用于通过Claude Code配置和管理OpenWRT路由器。该服务器通过OpenWRT的ubus API和SSH为网络管理、VPN配置、系统管理等提供全面的工具、资源和提示。

特性

🌐 网络管理

  • 列出并检查网络接口
  • 配置静态IP地址
  • 在接口上启用DHCP
  • 添加静态路由
  • 查看和分析网络配置

🔒 WireGuard VPN

  • 创建WireGuard接口
  • 添加和删除VPN对等端
  • 生成密钥对
  • 查看WireGuard状态和配置
  • 完整的服务器和客户端设置支持

🛡️ DNS和DHCP管理

  • 设置上游DNS服务器
  • 添加静态DNS主机条目(A记录)
  • 添加CNAME记录
  • 配置DHCP范围
  • 添加静态DHCP租约(MAC到IP绑定)

🔧 系统管理

  • 执行 shell 命令
  • 管理软件包(安装/删除)
  • 控制服务(启动/停止/重新启动)
  • 查看系统信息和日志
  • 备份配置
  • 重启设备

📁 文件管理

  • 从文件系统读取任何文件
  • 写入/创建文件
  • 附加到文件
  • 删除文件
  • 列出目录内容
  • 搜索文件内容
  • 创建目录
  • 备份文件

⚙️ 服务管理

  • 创建自定义init.d服务
  • 从命令创建简单服务
  • 删除服务
  • 查看服务脚本
  • 管理cron作业(添加/删除/列出)

📝 脚本管理

  • 在/root/或任何地方创建shell脚本
  • 执行脚本
  • 模板脚本(备份、监控)
  • 在目录中列出脚本

📚 资源(读取配置文件)

  • 网络配置
  • 无线设置
  • 防火墙规则
  • DHCP/DNS设置
  • 系统配置
  • WireGuard配置
  • 系统和网络状态
  • 系统日志
  • 动态文件访问:使用读取任何文件 openwrt://file/path/to/file

💡 智能提示

  • 分析配置 -全面的配置分析和建议
  • 设置WireGuard服务器 -引导式VPN服务器设置
  • 添加WireGuard客户端 -轻松添加客户端/对等端
  • 安全审计 -全面安全评估
  • 优化网络 -性能优化
  • 连接故障排除 -诊断和修复
  • 设置访客网络 -独立客人WiFi

先决条件

  • Node.js 18+和npm
  • OpenWRT 25.x或更高版本(使用 apk 包管理器;旧版本 opkg 支持)
  • SSH凭据(密码或私钥)

安装

  1. 克隆或下载此存储库
  2. 安装依赖项:
npm install
  1. 构建项目:
npm run build

配置

服务器是通过环境变量配置的:

  • OPENWRT_HOST -路由器IP地址(默认值:192.168.1.1)
  • OPENWRT_PORT -SSH端口(默认值:22)
  • OPENWRT_USERNAME -SSH用户名(默认:root)
  • OPENWRT_PASSWORD -SSH密码(如果没有密钥,则需要)
  • OPENWRT_PRIVATE_KEY_FILE -SSH私钥文件的路径(如果没有密码,则需要)
  • OPENWRT_PRIVATE_KEY -直接SSH私钥内容(替代文件路径)

示例:使用密码身份验证

创建一个 .env 文件或设置环境变量:

export OPENWRT_HOST=192.168.1.1
export OPENWRT_USERNAME=root
export OPENWRT_PASSWORD=your_password

示例:使用SSH密钥身份验证(文件路径)

export OPENWRT_HOST=192.168.1.1
export OPENWRT_USERNAME=root
export OPENWRT_PRIVATE_KEY_FILE=~/.ssh/id_rsa

示例:使用SSH密钥身份验证(密钥内容)

export OPENWRT_HOST=192.168.1.1
export OPENWRT_USERNAME=root
export OPENWRT_PRIVATE_KEY="$(cat ~/.ssh/id_rsa)"

使用Claude Code进行设置

  1. 构建项目:
npm run build
  1. 将服务器添加到您的Claude Code MCP设置中。

在Windows上,编辑 %APPDATA%\Claude\claude_desktop_config.json:

{
  "mcpServers": {
    "openwrt": {
      "command": "node",
      "args": ["E:\\OpenWRT\\mcp\\build\\index.js"],
      "env": {
        "OPENWRT_HOST": "192.168.1.1",
        "OPENWRT_USERNAME": "root",
        "OPENWRT_PASSWORD": "your_password"
      }
    }
  }
}

使用SSH密钥文件:

{
  "mcpServers": {
    "openwrt": {
      "command": "node",
      "args": ["E:\\OpenWRT\\mcp\\build\\index.js"],
      "env": {
        "OPENWRT_HOST": "192.168.1.1",
        "OPENWRT_USERNAME": "root",
        "OPENWRT_PRIVATE_KEY_FILE": "C:\\Users\\YourUser\\.ssh\\id_rsa"
      }
    }
  }
}

在macOS/Linux上,编辑 ~/.config/claude/claude_desktop_config.json:

{
  "mcpServers": {
    "openwrt": {
      "command": "node",
      "args": ["/path/to/mcp/build/index.js"],
      "env": {
        "OPENWRT_HOST": "192.168.1.1",
        "OPENWRT_USERNAME": "root",
        "OPENWRT_PASSWORD": "your_password"
      }
    }
  }
}

使用SSH密钥文件:

{
  "mcpServers": {
    "openwrt": {
      "command": "node",
      "args": ["/path/to/mcp/build/index.js"],
      "env": {
        "OPENWRT_HOST": "192.168.1.1",
        "OPENWRT_USERNAME": "root",
        "OPENWRT_PRIVATE_KEY_FILE": "/home/youruser/.ssh/id_rsa"
      }
    }
  }
}
  1. 重新启动Claude代码

可用工具

网络工具

openwrt_network_list_interfaces

列出OpenWRT设备上的所有网络接口。

openwrt_network_get_interface

获取特定网络接口的详细信息。

  • interface (必填):接口名称(例如“lan”、“wan”)

openwrt_network_set_static_ip

为网络接口设置静态IP地址。

  • interface (必填):接口名称
  • ipaddr (必填):IP地址
  • netmask (必填):网络掩码
  • gateway (可选):网关地址

openwrt_network_set_dhcp

设置网络接口以使用DHCP。

  • interface (必填):接口名称

openwrt_network_show_config

显示当前网络配置。

openwrt_network_add_static_route

将静态路由添加到路由表中。

  • name (必填):路线标识符
  • target (必填):目标网络(例如“10.0.0.0/24”)
  • gateway (必填):网关IP地址
  • interface (可选):接口名称

DNS工具

openwrt_dns_show_config

显示当前DNS和DHCP配置。

openwrt_dns_set_upstream_servers

为OpenWRT设备设置上游DNS服务器。

  • servers (必需):DNS服务器IP数组

openwrt_dns_add_static_host

添加静态DNS主机条目(a记录)。

  • name (必填):条目标识符
  • hostname (必需):要解析的主机名
  • ip (必填):IP地址

openwrt_dns_add_cname

添加DNS CNAME记录。

  • name (必填):条目标识符
  • cname (必填):CNAME别名
  • target (必填):目标主机名

openwrt_dns_set_dhcp_range

为网络接口配置DHCP范围。

  • interface (必填):接口名称
  • start (必需):DHCP范围的开始
  • limit (必填):地址数量
  • leasetime (必填):租赁时间(例如“12小时”、“7天”)

openwrt_dns_add_static_lease

添加静态DHCP租约(MAC到IP绑定)。

  • name (必填):条目标识符
  • mac (必填):MAC地址
  • ip (必填):要分配的IP地址
  • hostname (可选):主机名

WireGuard VPN工具

openwrt_wireguard_show_interfaces

列出所有WireGuard接口及其配置。

openwrt_wireguard_create_interface

创建新的WireGuard接口。

  • name (必填):接口名称(例如“wg0”)
  • private_key (可选):私钥(如果没有提供,将生成)
  • listen_port (必填):UDP监听端口(例如51820)
  • addresses (必填):接口的IP地址数组

openwrt_wireguard_add_peer

向WireGuard接口添加对等端。

  • interface (必填):WireGuard接口名称
  • peer_name (必填):对等方的唯一名称
  • public_key (必填):对等方的公钥
  • allowed_ips (必填):允许的IP地址数组
  • endpoint (可选):对等端点地址:端口
  • persistent_keepalive (可选):保活间隔(秒)
  • preshared_key (可选):预共享密钥以增强安全性

openwrt_wireguard_remove_peer

从WireGuard接口中删除对等端。

  • interface (必填):WireGuard接口名称
  • peer_name (必填):要删除的对等方的名称

openwrt_wireguard_generate_keypair

生成新的WireGuard密钥对(私钥和公钥)。

openwrt_wireguard_show_config

显示UCI的当前WireGuard配置。

系统管理工具

openwrt_system_info

获取系统信息(正常运行时间、负载、内存等)。

openwrt_system_board_info

获取电路板/硬件信息。

openwrt_system_execute_command

在OpenWRT设备上执行shell命令(小心使用)。

  • command (必需):要执行的Shell命令

openwrt_system_list_processes

列出正在运行的进程。

openwrt_system_disk_usage

显示磁盘使用统计信息。

openwrt_package_list_installed

列出已安装的软件包。

  • filter (可选):按名称筛选包

openwrt_package_install

使用apk安装软件包。

  • package (必需):要安装的包名称

openwrt_package_remove

使用apk删除包。

  • package (必需):要删除的包名称

openwrt_service_list

列出所有可用的服务。

openwrt_service_control

控制服务(启动、停止、重新启动、启用、禁用)。

  • service (必填):服务名称
  • action (必填):要执行的操作(启动/停止/重新启动/重新加载/启用/禁用/状态)

openwrt_system_reboot

重新启动OpenWRT设备。

  • confirm (必填):必须设置为true以确认重新启动

openwrt_system_backup_config

创建当前配置的备份。

文件管理工具

openwrt_file_read

从OpenWRT文件系统读取任何文件。

  • path (必填):文件的完整路径

openwrt_file_write

将内容写入OpenWRT文件系统上的文件。

  • path (必填):文件的完整路径
  • content (必填):要写的内容
  • mode (可选):文件权限(例如,“755”、“644”)

openwrt_file_append

将内容附加到现有文件。

  • path (必填):文件的完整路径
  • content (必填):要附加的内容

openwrt_file_delete

从OpenWRT文件系统中删除文件。

  • path (必填):文件的完整路径
  • confirm (必填):必须为真才能确认删除

openwrt_file_list_directory

列出目录的内容。

  • path (必填):目录路径
  • detailed (可选):显示具有权限的详细列表

openwrt_file_create_directory

创建一个新目录。

  • path (必填):目录的完整路径
  • parents (可选):如果需要,创建父目录

openwrt_file_search_content

在文件中搜索文本内容。

  • directory (必填):要搜索的目录
  • pattern (必填):要搜索的文本模式
  • file_pattern (可选):文件名模式(例如“\*.conf”)

openwrt_file_backup

创建文件或目录的备份。

  • path (必填):备份路径
  • backup_path (可选):备份目标

服务管理工具

openwrt_service_create

创建一个新的init.d服务脚本。

  • name (必填):服务名称
  • script_content (必填):完成init.d脚本内容
  • start_priority (可选):启动优先级
  • stop_priority (可选):停止优先级
  • enable (可选):启动时启用服务

openwrt_service_create_simple

通过命令创建一个简单的init.d服务。

  • name (必填):服务名称
  • description (可选):服务描述
  • start_command (必填):启动时运行的命令
  • stop_command (可选):停止时运行的命令
  • start_priority (可选):启动优先级(默认值:95)
  • stop_priority (可选):停止优先级(默认值:10)
  • enable (可选):启动时启用服务

openwrt_service_delete

删除init.d服务。

  • name (必填):服务名称
  • confirm (必填):必须为真才能确认

openwrt_service_view

查看init.d服务脚本的内容。

  • name (必填):服务名称

openwrt_cron_list

列出所有cron作业。

openwrt_cron_add

添加新的cron作业。

  • schedule (必填):Cron时间表(例如,“0 2\*\*\*”)
  • command (必填):执行命令
  • comment (可选):注释以标识作业

openwrt_cron_remove

删除与模式匹配的cron作业。

  • pattern (必填):图案匹配
  • confirm (必填):必须为真才能确认

脚本管理工具

openwrt_script_create

在/root/或任何指定位置创建shell脚本。

  • name (必填):脚本名称
  • content (必填):脚本内容
  • directory (可选):创建脚本的目录(默认:/root)
  • executable (可选):使脚本可执行(默认值:true)
  • shebang (可选):Shebang行(默认值:'#!/bin/sh')

openwrt_script_execute

执行脚本并返回其输出。

  • path (必填):脚本的完整路径
  • args (可选):传递给脚本的参数
  • background (可选):在后台运行

openwrt_script_template_backup

从模板创建备份脚本。

  • name (可选):脚本名称(默认值:“backup.sh”)
  • backup_dirs (可选):要备份的目录
  • destination (可选):备份目标目录

openwrt_script_template_monitor

从模板创建系统监控脚本。

  • name (可选):脚本名称(默认值:'monitor.sh')
  • email (可选):电子邮件提醒
  • log_file (可选):日志文件路径

openwrt_script_list

列出目录中的所有脚本。

  • directory (可选):目录(默认:/root)
  • pattern (可选):文件模式(默认值:'\*.sh')

可用资源

资源允许Claude直接读取配置文件和系统状态:

  • openwrt://config/network -网络配置
  • openwrt://config/wireless -WiFi配置
  • openwrt://config/dhcp -DHCP和DNS配置
  • openwrt://config/firewall -防火墙规则
  • openwrt://config/system -系统设置
  • openwrt://config/wireguard -WireGuard VPN配置
  • openwrt://status/system -当前系统状态(JSON)
  • openwrt://status/network -网络接口状态(JSON)
  • openwrt://logs/system -最近的系统日志
  • openwrt://logs/kernel -最近的内核日志
  • openwrt://file/path/to/file - 动态的:通过指定路径读取任何文件

智能提示

提示为常见任务提供指导工作流程:

  • analyze-config -分析配置并提供建议
  • setup-wireguard-server -设置WireGuard VPN服务器
  • add-wireguard-client -添加新的WireGuard客户端/对等端
  • optimize-network -分析和优化网络性能
  • security-audit -执行全面的安全审计
  • troubleshoot-connectivity -解决网络连接问题
  • setup-guest-network -设置一个隔离的访客WiFi网络

使用示例

在Claude Code中配置后,您可以让Claude管理您的OpenWRT路由器:

示例1:检查网络接口

Show me all network interfaces on my OpenWRT router

示例2:配置静态IP

Set the LAN interface to use static IP 192.168.1.1 with netmask 255.255.255.0

示例3:添加DNS条目

Add a static DNS entry: myserver.local pointing to 192.168.1.100

示例4:配置DHCP

Configure DHCP on the lan interface: start at 100, limit 150 addresses, lease time 12h

示例5:添加静态路由

Add a static route named 'office_network' for 10.0.0.0/24 via gateway 192.168.1.254

示例6:分析配置

Analyze my OpenWRT configuration and provide security recommendations

示例7:设置WireGuard VPN

Set up a WireGuard VPN server on wg0 interface with port 51820 and subnet 10.0.0.1/24

示例8:添加WireGuard客户端

Add a WireGuard peer named "laptop" with IP 10.0.0.2 to the wg0 interface

示例9:查看配置文件

Show me the current network configuration file and explain what it does

示例10:安装软件包

Install the wireguard-tools package

示例11:连接故障排除

I can't access the internet from LAN clients, help me troubleshoot

示例12:安全审计

Perform a security audit of my router

示例13:创建自定义服务

Create a simple init.d service called 'myapp' that starts '/root/myapp.py' on boot

示例14:创建备份脚本

Create a backup script that backs up /etc/config and /root directories to /tmp/backups

示例15:读取任何配置文件

Read the file /etc/dnsmasq.conf and explain its configuration

示例16:创建监控脚本

Create a monitoring script that checks CPU, memory, and disk usage every 5 minutes

示例17:管理Cron作业

Add a cron job to run /root/backup.sh every day at 2 AM

示例18:搜索配置

Search for all files in /etc that contain the word "firewall"

发展

项目结构

mcp/
├── src/
│   ├── index.ts              # Main MCP server with handlers
│   ├── openwrt-client.ts     # OpenWRT SSH/ubus/UCI client
│   ├── resources.ts          # MCP Resources (config files, logs)
│   ├── prompts.ts            # Smart prompts for common tasks
│   └── tools/
│       ├── network.ts        # Network management (6 tools)
│       ├── dns.ts            # DNS/DHCP management (6 tools)
│       ├── wireguard.ts      # WireGuard VPN (6 tools)
│       ├── system.ts         # System administration (12 tools)
│       ├── files.ts          # File management (8 tools)
│       ├── services.ts       # Service & cron management (7 tools)
│       └── scripts.ts        # Script creation & management (5 tools)
├── build/                    # Compiled JavaScript output
├── package.json
├── tsconfig.json
├── .gitignore
├── .env.example
└── README.md

总计:50个工具,10+资源,7个智能提示

建筑

npm run build

观看模式(用于开发)

npm run watch

安全注意事项

  • 安全地存储凭据(使用环境变量或SSH密钥)
  • 避免将凭据提交到版本控制
  • 尽可能使用SSH密钥身份验证
  • 确保您的OpenWRT设备位于受信任的网络上
  • 如果远程访问,请考虑使用VPN

故障排除

连接问题

  • 验证SSH访问: ssh root@192.168.1.1
  • 检查OpenWRT上的防火墙规则
  • 确保SSH服务器在OpenWRT上运行

权限错误

  • 验证用户是否具有sudo/root访问权限
  • 检查OpenWRT用户权限

工具错误

  • 检查OpenWRT日志: /var/log/messages
  • 验证ubus是否正在运行: ubus list
  • 检查UCI配置: uci show

贡献

欢迎投稿!请随时提交问题或拉取请求。

许可证

麻省理工学院

免责声明

此工具可更改路由器配置。始终首先在安全的环境中进行测试,并确保在出现问题时(例如,对路由器的物理访问、备份配置)有一种恢复方法。

目录标签

目录标签

TypeScriptClaude系统管理路由器管理本地部署网络配置VPN服务自动化工具

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

50

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP