关于 mikrotik
mikrotik 是用于只读访问 MikroTik 路由器的 MCP 服务,面向需要检查设备状态和网络信息的用户。它提供 MCP 资源、系统报告及安全审计,并支持 RouterOS 新旧登录方式。
主要功能
- 01连接并认证 MikroTik 路由器
- 02读取接口、桥接与路由资源
- 03生成系统状态和流量报告
- 04生成性能与安全审计报告
- 05支持 TCP 与 SSL/TLS 连接
- 06兼容 RouterOS 新旧登录方式
适用场景
- 01检查接口和路由表状态
- 02汇总路由器健康状况与流量
- 03审查防火墙配置及潜在风险
MCP 相关
该 MCP 服务通过资源公开接口、桥接、桥接端口和 IP 路由,并提供连接、读取 API 结果及生成报告的工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
4收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| host | string | 是 | 路由器 IP 地址 |
| user | string | 是 | 用户名 |
| secure | boolean | 否 | 使用安全连接(TLS/SSL) |
| password | string | 是 | 密码 |
详细介绍
MikroTik RouterOS API MCP 服务
一个只读 MCP 服务实现,用于通过 RouterOS API 与 MikroTik 路由器交互。
功能
- 连接管理:连接并验证 MikroTik 路由器的身份。
- 资源监控:通过 MCP 资源动态访问接口、网桥和路由表。
- 协议支持:支持普通 TCP(8728)和安全 SSL/TLS(8729)。
- 新旧版登录方式:支持 v6.43 之前和之后的 RouterOS 版本。
资源
此服务将 MikroTik 实体公开为 MCP 资源,以便直接检查:
- 接口:
mikrotik://interface/{name}- 示例:
mikrotik://interface/ether1
- 示例:
- 网桥:
mikrotik://bridge/{name}- 示例:
mikrotik://bridge/bridge1
- 示例:
- 网桥端口:
mikrotik://bridge/{bridge_name}/{interface_name}- 示例:
mikrotik://bridge/bridge1/ether2
- 示例:
- IP 路由:
mikrotik://route/{id}- 示例:
mikrotik://route/400AF317(注意:路由条目使用内部 ID)
- 示例:
工具
mk-connect:连接到路由器。host:路由器的 IP 地址。user:用户名。password:密码。secure:(可选)使用 SSL/TLS。默认值为false。
示例: mk-connect 192.168.88.1 admin mypassword
-
mk-report:生成全面的系统报告。- 汇总系统资源、运行状况、routerboard 信息和接口流量统计信息(使用一次
monitor-traffic)。
- 汇总系统资源、运行状况、routerboard 信息和接口流量统计信息(使用一次
-
mk-get:返回包含 MikroTik API/print命令结果的 JSON 数组。sentence:API 路径(例如/ip/route、/interface、/log)。- 服务会自动确保路径以
/开头并以/print结尾。
-
mk-awr:生成 MikroTik 的自动工作负载存储库(AWR)风格报告。- 包含性能指标、安全审计和建议。
- 无需输入。
提示词
服务为常见任务提供了多个预定义提示词:
- mk-connect:连接到 MikroTik:帮助你连接到路由器。
- mk-report:系统报告:请求完整的系统状态和流量报告。
- mk-get-route:路由表:专门请求当前 IP 路由表。
- mk-get-interface:列出接口:专门请求所有已配置的接口。
- mk-get-log:查看日志:请求最新的系统日志条目。
- mk-awr:安全审计:启动对路由器的全面性能和安全审计。
配置
MikroTik 服务可以使用环境变量或 mk-connect 工具安全地管理凭据:
MK_USER:MikroTik 用户名(启动时提供主机地址则必需)MK_PASSWORD:MikroTik 密码(启动时提供主机地址则必需)
启动参数
你可以选择通过命令行参数提供主机地址和安全设置:
host:(可选)路由器的 IP 地址。secure:(可选)使用 SSL/TLS。默认值为false。
如果提供了这些参数,服务将在启动时使用 MK_USER 和 MK_PASSWORD 自动尝试连接。
本地构建
cd src/mikrotik
npm install
npm run build
与 Claude Desktop 配合使用
将以下内容添加到 claude_desktop_config.json:
{
"mcpServers": {
"mikrotik": {
"command": "npx",
"args": [
"-y",
"@marcelo-ochoa/server-mikrotik",
"192.168.88.1"
],
"env": {
"MK_USER": "ai_agent",
"MK_PASSWORD": "ai_password"
}
}
}
}
使用 Docker 的示例:
{
"mcpServers": {
"mikrotik": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"MK_USER=admin",
"-e",
"MK_PASSWORD=password",
"mochoa/mcp-mikrotik",
"192.168.88.1",
"false"
]
}
}
注意:参数和环境变量均为可选项。你可以稍后使用 mk-connect 进行连接。
演示
使用 mk-get 的信息:
- interface
- ip/address
- ip/route
- ip/route/rules
- ip/firewall[address-list,filter,nat,mangle] 查找潜在安全风险和未使用的实体
查看 演示,了解如何与 Claude Desktop、Gemini CLI 和 Antigravity Code Editor 配合使用的示例。
MikroTik AWR 实际应用
请参阅 MikroTik AWR 实际应用,了解 mk-awr 工具为 MikroTik 路由器生成的自动工作负载存储库(AWR)风格报告示例,其中重点展示了性能指标和安全风险。
Docker
构建容器:
docker build -t mochoa/mcp-mikrotik -f src/mikrotik/Dockerfile .
运行容器:
docker run -i --rm -e MK_USER=admin -e MK_PASSWORD=mypassword mochoa/mcp-mikrotik 192.168.88.1
变更日志
请参阅变更日志,了解变更历史。
源码
与往常一样,此扩展的代码位于 GitHub,欢迎提出修改建议并参与贡献。
📜 许可证
对于新的贡献,本项目采用 Apache License 2.0 许可,现有代码则采用 MIT 许可。详情请参阅 LICENSE 文件。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。