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

Labops MCP

MCP Server

一个为Claude等MCP兼容客户端提供只读访问家庭实验室基础设施的监控控制面板,支持实时容器状态、Prometheus指标、日志和API查询。

工具数

23

提示词数

0

GitHub Stars

0

资源数

0
安全访问PythonClaudeClaude

安装说明

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

作者 / 组织

brenflakes

提供方

brenflakes

最后核验

2026/5/17 20:22

快速接入

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

详细介绍

labops mcp

一个个人项目,灵感来自观看NetworkChuck演示MCP与Claude的集成。我已经在用Claude、Obsidian和其他工具记录我的家庭实验室了——他的视频让我意识到,我可以构建自己的MCP,让Claude直接访问我的家庭实验基础设施。

事实证明你可以。此MCP服务器允许Claude(或任何兼容MCP的客户端)以只读方式访问您的homeab-实时容器状态、Prometheus指标、日志、API查询-所有这些都无需离开对话。

之前的工作流程:提问→ 被告知运行命令→ 复制输出→ 将其粘贴回去→ 等待分析。

现在的工作流程:提问→ 克劳德自己去找答案。

在构建时考虑了安全性:受限制的shell用户、SSH密钥认证、设计为只读。模块化配置意味着添加新的主机或API只需要几行YAML。

这是版本2,我试图让它在所有事情上都保持精简和高效。如果您有任何问题或反馈,请随时提出问题或联系我们。

特性

  • 配置驱动:所有主机、API和身份验证都在一个YAML文件中
  • 自动发现:便利工具按类型查找服务(Prometheus、Ollama、Glances)
  • 设计安全:通过rbash+sudoers进行操作系统级限制,而不是代码逻辑
  • 优雅的失败:缺少的服务返回有用的消息,而不是崩溃

支持服务列表

这些服务具有专用身份验证处理或便利工具的原生支持:

服务身份验证类型便利工具
普罗米修斯-prom_query(), homelab_alerts()
正常运行时间Kumabasichomelab_alerts()
Ollama-ollama_models()
一瞥-system_stats()
Synology DSMsynologynas_info(), nas_storage(), nas_disks(), nas_utilisation()
NUT(UPS)-自动发现 homelab_status()
声纳/雷达/Prowlarrapi_key-
Jellyfin/Embyemby-
伊米奇immich-
Proxmoxpve-
家庭助理bearer-
伯爵bearer-
Portainerapi_key-

任何其他REST API都可以添加 auth_type: bearer, api_key,或 custom.

工具

核心

工具目的
ssh_exec(host, command)在Linux主机上运行只读命令
api_get(service, endpoint, filter?)使用可选的jq过滤查询REST API
health()检查与所有已配置主机/服务的连接
homelab_status()快速仪表板:主机、UPS、API一目了然

容器

工具目的
container_logs(host, container, lines?)从容器中获取最近的日志
search_logs(host, pattern, lines?)在主机上的所有容器中搜索日志
container_mounts(host, container)显示容器的体积/绑定安装
container_status(host, container)健康检查:运行状态、正常运行时间、重启
containers_recent_restarts(host, hours?)列出最近重新启动的容器

诊断

工具目的
trigger_diagnostic(name)触发预定义的n8n诊断webhook

监控(按类型自动发现)

工具目的需要
prom_query(query)执行PromQL查询type: prometheus
homelab_alerts()普罗米修斯+正常运行时间Kuma发出警报type: prometheustype: uptime-kuma
ollama_models(host?)列出型号+VRAM使用情况type: ollama
system_stats(host?)Glances的CPU/内存/磁盘/GPUtype: glances

NAS(按类型自动发现)

工具目的需要
nas_info(host?)Synology DSM系统信息type: synology
nas_storage(host?)卷状态和使用情况type: synology
nas_disks(host?)磁盘运行状况和SMART状态type: synology
nas_utilisation(host?)CPU、内存、网络利用率type: synology

系统

工具目的
get_paths()显示清单中配置的文件系统路径
disk_usage(host)出现高使用率警告的磁盘使用率(>85%)
top_processes(host, n?)CPU和内存消耗最高的进程
service_status(host, service)带有最近日记账分录的系统服务状态

安全

工具目的
security_audit(host?)审计安全态势和风险

快速开始

1.克隆并生成SSH密钥

git clone https://github.com/brenflakes/labops-mcp
cd labops-mcp
./setup/setup-mcp.sh

2.设置每个Linux主机

./setup/setup-host.sh 'ssh-ed25519 AAAA... your-public-key'

3.配置

cp config/inventory.example.yml config/inventory.yml
cp .env.example .env
# Edit both files with your hosts and API tokens

4.部署

docker-compose up -d

5.身份验证(可选但推荐)

labops-mcp支持承载令牌身份验证。启用后,所有MCP请求都必须包含有效的 Authorization: Bearer 头球认证是 默认情况下禁用 --如果 MCP_AUTH_TOKEN 如果未设置,则允许所有请求。

生成令牌:

openssl rand -hex 32

添加到您的 .env:

MCP_AUTH_TOKEN=your-generated-token

重建:

docker-compose up -d --build

克劳德桌面版 (通过mcp远程):

{
  "mcpServers": {
    "labops": {
      "command": "npx",
      "args": [
        "mcp-remote", "http://YOUR-MCP-IP:8100/sse",
        "--allow-http",
        "--header", "Authorization:Bearer ${MCP_AUTH_TOKEN}"
      ],
      "env": {
        "MCP_AUTH_TOKEN": "your-generated-token"
      }
    }
  }
}
Windows用户: mcp遥控器 --header 旗帜以素色断裂 npx 由于空间 C:\Program Files.使用 cmd /c 作为命令包装器: ``json { "command": "cmd", "args": ["/c", "npx", "mcp-remote", "http://YOUR-MCP-IP:8100/sse", "--allow-http", "--header", "Authorization:Bearer YOUR-TOKEN"] } ``

克劳德代码:

claude mcp add --transport sse labops http://YOUR-MCP-IP:8100/sse --header "Authorization: Bearer your-generated-token"

无身份验证 (不建议用于生产):

{
  "mcpServers": {
    "labops": {
      "command": "npx",
      "args": ["mcp-remote", "http://YOUR-MCP-IP:8100/sse", "--allow-http"]
    }
  }
}

重要提示:

  • 认证是在MCP协议级别强制执行的,而不是HTTP。这 /sse 端点接受连接而不管——在工具调用和列表操作上检查auth。
  • 更换后务必重新启动容器 MCP_AUTH_TOKEN现有的上交所会议不受影响 .env 更改直到重新启动。

配置

身份验证类型

auth_type 字段决定如何发送令牌:

auth_type标头格式服务
bearerAuthorization: Bearer {token}家庭助理,Grafana
api_keyX-Api-Key: {token}索纳尔、拉达、普罗瓦尔、波提纳
embyX-Emby-Token: {token}埃姆比,杰利芬
pveAuthorization: PVEAPIToken={token}Proxmox
immichx-api-key: {token}伊米奇
basicAuthorization: Basic base64({token})正常运行时间Kuma
synology基于会话(SYNO.API.Auth)Synology DSM
custom{auth_header}: {token}还有别的吗

服务类型

type 字段允许自动发现方便的工具:

类型启用命名约定
prometheusprom_query(), homelab_alerts()任何名字
uptime-kumahomelab_alerts()任何名字
ollamaollama_models(host)ollama-{hostname}
glancessystem_stats(host)glances-{hostname}
synologynas_info(), nas_storage(), nas_disks(), nas_utilisation()synology-{hostname}

例子:

ollama-host1:
  url: http://192.168.1.100:11434
  auth: false
  type: ollama

glances-host2:
  url: http://192.168.1.100:61208
  auth: false
  type: glances

uptime-kuma:
  url: http://192.168.1.100:3002
  auth: true
  auth_type: basic
  token_env: KUMA_TOKEN    # Format in .env: username:password
  type: uptime-kuma

然后拨打: ollama_models(host="host1")system_stats(host="host2")

⚠️ 安全通知

此工具公开了对基础架构的只读访问。 docker inspect 将揭示容器环境变量(密码、API密钥等)。

重要提示: 确保所有 .env 主机上的文件是 chmod 600 (仅限所有者)。没有这个,SSH用户可以读取主机上的每个凭据。

chmod 600 /path/to/your/.env

阅读 安全.md 在部署之前。

文档

许可证

麻省理工学院

目录标签

目录标签

安全访问PythonClaude家庭实验室本地部署监控工具容器管理API集成

支持客户端

Claude

接入字段

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

未说明

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

api-key

工具数量(toolCount,工具数)

23

资源数量(resourceCount,资源数)

0

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

0

权限和风险

未说明api-key部署方式未说明

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP