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

Pi Cluster MCP

MCP Server

Homelab MCP Server是一个为基于Kubernetes的家庭实验室(特别是Raspberry Pi K3s集群)设计的服务器,提供安全的接口让LLM(如Claude)与集群、媒体服务和网络基础设施交互。

工具数

43

提示词数

0

GitHub Stars

0

资源数

0
Kubernetes管理TypeScriptClaudeClaude DesktopClaude

安装说明

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

作者 / 组织

mtgibbs

提供方

mtgibbs

最后核验

2026/5/17 20:21

快速接入

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

详细介绍

Homelab MCP服务器

A. 模型上下文协议(MCP) 为管理基于Kubernetes的家庭实验室(特别是Raspberry Pi K3s集群)而设计的服务器。

此服务器为LLM(如Claude)提供了一个安全、结构化的接口,以便与您的集群、媒体服务和网络基础设施进行交互,而无需提供原始数据 kubectl 访问或不受限制的SSH功能。

🚀 特性

Kubernetes操作

  • 健康检查: 监控节点、资源使用情况和问题Pod。
  • 资源检查: 列出并描述部署、状态集、守护进程、Pod、服务和配置映射,并提供完整的规范详细信息。
  • 储存: 检查带有状态、容量和存储类信息的持久卷索赔。
  • 安全重启: 触发白名单部署的滚动重启(例如,Jellyfin、Pi hole、媒体堆栈)。
  • 备份: 检查CronJob状态,检查详细的作业规范,检索作业pod日志,并手动触发备份作业。
  • GitOps: 监控通量Kustomizations/HelmRelease并触发协调。
  • 秘密: 查看外部机密同步状态并强制刷新(1Password集成)。

网络和DNS(Pi孔/未绑定)

  • 状态: 检查DNS服务的运行状况。
  • 诊断: 查看被阻止的查询统计信息、被阻止的顶级域和最近的查询日志。
  • 测试:dig 来自集群内的命令来验证分辨率。
  • 管理层: 查看白名单并触发重力更新。

媒体服务(Jellyfin/Immich)

  • 健康: 监控媒体应用程序的pod状态。
  • 统计数据: 详细的库统计数据和活动会话监控。
  • 管理层: 搜索媒体库并触发特定项目的元数据刷新。

网络诊断

  • 节点网络: 检查任何集群节点上的接口、地址、路由和路由规则。
  • 防火墙规则: 按表和链转储iptables/ip6tables规则。
  • 连接跟踪: 查看带有源/目标筛选的conntrack条目。
  • 入口测试: 使用详细的时间对集群内的入口URL进行卷曲。
  • 连接测试: 节点和目标之间的Ping和TCP端口检查。
  • Pod日志: 使用容器、时间范围和行数过滤检索pod日志。

基础设施

  • 证书: 监控证书管理器证书到期和准备情况。
  • NAS集成: 安全地触摸Synology NAS上的特定路径(通过SSH)以触发文件系统事件。
  • 尾秤: 监控VPN连接器状态。

🔒 安全模型

该项目采用“深度防御”方法构建:

  1. 最低特权: 使用专用ServiceAccount运行。

- 只读: 大多数资源(Pod、事件、Flux、证书)。 - 行动范围: patch 严格限于白名单部署和Flux资源。 - 执行范围: pod/exec 严格限于 jellyfin, pihole,以及 mcp-homelab (调试代理)命名空间通过特定的角色。

  1. 输入验证: 对所有工具输入进行严格验证(特别是文件路径和资源名称)。
  2. 身份验证: 需要 X-API-Key 所有请求的标头。
  3. 网络: 设计用于在只能通过Tailscale进入的Ingress后面运行。

🛠️ 配置

环境变量

变量描述必填
MCP_API_KEY用于验证请求的密钥
MCP_TRANSPORTstdio (默认)或 sse没有
NAS_HOSTSynology NAS的主机名/IP是(适用于NAS工具)
NAS_USERNAS的SSH用户名是(适用于NAS工具)
NAS_PRIVATE_KEYNAS的SSH私钥是(适用于NAS工具)
NAS_ALLOWED_PATHS逗号分隔的允许路径前缀列表否(默认为严格子集)
JELLYFIN_URLJellyfin的内部URL否(默认值:cluster-svc)
JELLYFIN_API_KEYAPI Jellyfin操作密钥是(用于媒体工具)
IMMICH_API_KEY用于Imich统计的API密钥是(用于媒体工具)
BAZARR_URLBazarr的内部URL否(默认值:cluster-svc)
BAZARR_API_KEYAPI Bazarr操作密钥是(用于字幕工具)
SONARR_URLSonarr的内部URL否(默认值:cluster-svc)
SONARR_API_KEYSonarr操作的API密钥是(适用于电视工具)
RADARR_URLRadarr的内部URL否(默认值:群集svc)
RADARR_API_KEYRadarr操作的API密钥是(适用于电影工具)
SABNZBD_URLSABnzbd的内部URL否(默认值:集群svc)
SABNZBD_API_KEY用于SABnzbd操作的API密钥是(用于下载工具)

📦 部署

地方发展(Stdio)

# Install dependencies
npm install

# Build
npm run build

# Run in stdio mode (for testing with Claude Desktop/CLI)
npm run dev

Kubernetes(生产)

服务器被设计为在集群中部署为Pod。

  1. 构建Docker镜像:
   docker build -t ghcr.io/username/homelab-mcp:latest .
  1. 部署清单:

请参阅 k8s/ 例如清单目录,包括:

- deployment.yaml - service.yaml - ingress.yaml (为Tailscale/Cert管理器配置) - clusterrole.yaml (RBAC权限范围)

🧩 可用工具

类别工具
get_cluster_health, restart_deployment
域名系统get_dns_status, test_dns_query, update_pihole_gravity, get_pihole_whitelist, get_pihole_queries
GitOpsget_flux_status, reconcile_flux
媒体get_media_status, fix_jellyfin_metadata
字幕get_subtitle_status, get_subtitle_history, search_subtitles
电视(Sonarr)get_sonarr_queue, get_sonarr_history, search_sonarr_episode
电影(拉达)get_radarr_queue, get_radarr_history, search_radarr_movie
下载(SABnzbd)get_sabnzbd_queue, get_sabnzbd_history, retry_sabnzbd_download, pause_resume_sabnzbd
Arr共享get_quality_profile, reject_and_search
备份get_backup_status, trigger_backup, get_cronjob_details, get_job_logs
秘密get_secrets_status, refresh_secret
存储get_pvcs
资源describe_resource
系统get_certificate_status, get_ingress_status, touch_nas_path
网络get_node_networking, get_iptables_rules, get_conntrack_entries, curl_ingress, test_pod_connectivity
日志get_pod_logs

目录标签

目录标签

Kubernetes管理TypeScriptClaude本地部署家庭实验室LLM接口媒体服务网络诊断

支持客户端

Claude DesktopClaude

接入字段

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

未说明

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

api-key

工具数量(toolCount,工具数)

43

资源数量(resourceCount,资源数)

0

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

0

权限和风险

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

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP