返回市场
系统管理器

系统管理器

作者:mdlmarkham2 星标更新:2025-11-20

项目介绍

TailOpsMCP

🛰️ TailOpsMCP — 一个通过Tailscale连接的家庭实验室安全MCP控制界面

通过MCP驱动的安全远程监控和AI辅助操作,适用于您的家庭实验室
使用自然语言与AI助手管理Proxmox LXC容器、Docker堆栈和系统管理。

License: MIT Python 3.11+ Docker Proxmox Tailscale


🎯 TailOpsMCP是什么?

TailOpsMCP是一个MCP(模型上下文协议)服务器,它允许您使用像Claude、ChatGPT或任何兼容MCP客户端的AI助手来管理您的家庭实验室基础设施。无需记住复杂的命令,只需询问:

  • "从GitHub部署我的监控堆栈"
  • "分析认证日志中的安全问题"
  • "dev1上正在使用所有CPU的是什么?"
  • "更新服务器上的所有软件包"

非常适合家庭实验室爱好者自托管者运行Proxmox、Docker和Tailscale的DevOps工程师


✨ 主要特性

🚀 当前能力

  • 智能库存管理 - 自动检测并跟踪在LXC中运行的应用程序(如Jellyfin、Pi-hole、Ollama、PostgreSQL等)
  • 多系统支持 - 通过主机名+容器ID识别系统,以便用一个AI管理多个LXC
  • MCP提示 - 预配置的工作流用于常见任务(安全审计、健康检查、故障排除、库存设置)
  • Docker Compose堆栈管理 - 从仓库部署GitOps风格的堆栈(如Portainer/Komodo)
  • Proxmox LXC检测 - 自动虚拟化环境检测
  • AI驱动的日志分析 - 根因检测并提供可操作建议
  • 系统监控 - CPU、内存、磁盘、网络及历史指标
  • Docker容器管理 - 启动/停止/重启/日志记录所有容器
  • Systemd服务管理 - 控制系统服务
  • 软件包管理 - 更新系统、安装软件包
  • 安全审计 - AI驱动的安全日志分析
  • 文件操作 - 读取、搜索和分析系统文件
  • 网络诊断 - 接口状态、连通性测试

🔒 安全第一

⚠️ 在生产部署之前,请阅读**安全公告**

  • 需要Tailscale - 加密传输必须(没有内置TLS)
  • OAuth 2.1与TSIDP - Tailscale身份提供商认证
  • 非root服务 - 以专用的systemmanager用户运行
  • Systemd加固 - 完整沙箱化,包括ProtectSystem、ProtectHome
  • 审计日志 - 跟踪所有操作
  • 基于范围的访问 - 细粒度权限控制
  • ⚠️ 审批门 - 需要外部webhook(未内置)

🔮 路线图(详见HOMELAB_FEATURES.md

  • 🔄 LXC网络审计 - 审查和审计容器网络配置
  • 🔄 备份与快照 - 自动备份并验证
  • 🔄 证书管理 - Let's Encrypt自动化
  • 🔄 反向代理管理 - Traefik/Nginx/Caddy配置
  • 🔄 Proxmox API集成 - 全面的VM/容器管理
  • 🔄 安全扫描 - 容器漏洞检测

🏗️ 架构

┌─────────────────────────────────────────────────┐
│  AI助手(Claude/ChatGPT等)                  │
│  - 自然语言命令                              │
│  - 上下文感知建议                            │
└──────────────────┬──────────────────────────────┘
                   │ MCP协议
┌──────────────────▼──────────────────────────────┐
│  TailOpsMCP MCP服务器                          │
│  ┌──────────────────────────────────────────┐  │
│  │ OAuth/OIDC(Tailscale身份)           │  │
│  └──────────────────────────────────────────┘  │
│  ┌──────────────────────────────────────────┐  │
│  │ AI驱动分析                             │  │
│  │ - 日志分析与根因检测                    │  │
│  │ - 安全审计                              │  │
│  │ - 性能建议                              │  │
│  └──────────────────────────────────────────┘  │
└──────────────────┬──────────────────────────────┘
                   │
    ┌──────────────┼──────────────┬──────────────┐
    │              │              │              │
┌───▼────┐  ┌─────▼─────┐  ┌────▼─────┐  ┌────▼─────┐
│Proxmox │  │  Docker   │  │ Systemd  │  │Tailscale │
│  LXC   │  │ Compose   │  │ 服务     │  │  网络    │
└────────┘  └───────────┘  └──────────┘  └──────────┘

🚀 快速开始

方法1:Proxmox LXC(推荐)

使用自动化的Proxmox安装脚本(灵感来自tteck的脚本):

bash -c "$(wget -qLO - https://raw.githubusercontent.com/mdlmarkham/TailOpsMCP/master/ct/build.func)"

这将:

  • 创建一个Debian 12 LXC容器(2GB RAM,2个CPU核心,4GB磁盘)
  • 安装Python 3.12、Docker及所有依赖项
  • 引导您完成Tailscale OAuth设置
  • 配置并启动systemd服务
  • 提供完整的安装总结

方法1b:Proxmox多容器(部署到多个LXC)

从Proxmox主机一次性部署TailOpsMCP到多个LXC容器:

# 在您的Proxmox主机上
curl -fsSL https://raw.githubusercontent.com/mdlmarkham/TailOpsMCP/main/scripts/install/install-proxmox-multi.sh -o install-proxmox-multi.sh
chmod +x install-proxmox-multi.sh

# 快速部署到现有容器
./install-proxmox-multi.sh --containers 101,102,103 --auth token

# 或使用配置文件进行复杂设置
wget https://raw.githubusercontent.com/mdlmarkham/TailOpsMCP/main/scripts/install/templates/proxmox-multi.conf
nano proxmox-multi.conf  # 编辑配置
./install-proxmox-multi.sh --config proxmox-multi.conf

功能:

  • ✅ 部署到多个容器(现有或创建新的)
  • ✅ 顺序或并行部署策略
  • ✅ 自动配置容器功能(嵌套、TUN设备)
  • ✅ 每个容器的配置覆盖
  • ✅ 全面验证和健康检查

参见PROXMOX_MULTI_CONTAINER_INSTALL.md获取完整文档。

方法2:手动安装(任何Linux)

前提条件

  • 操作系统:Linux(Ubuntu 22.04+,Debian 11+,Proxmox LXC)
  • Python:3.11或更高版本
  • Docker:用于容器管理功能(可选)
  • Tailscale:用于安全OAuth认证(推荐但可选)

安装步骤

# 1. 下载并运行安装程序
curl -fsSL https://raw.githubusercontent.com/mdlmarkham/TailOpsMCP/master/install.sh | sudo bash

# 或克隆并手动运行
git clone https://github.com/mdlmarkham/TailOpsMCP.git
cd TailOpsMCP
sudo bash install.sh

交互式安装程序将:

  1. ✅ 检查系统要求(Python、Docker、Tailscale)
  2. 🔧 选择认证方法(OAuth或Token)
  3. 🔐 配置Tailscale OAuth(附带逐步指南)
  4. 📦 安装TailOpsMCP及其依赖项
  5. ⚙️ 创建systemd服务
  6. 🚀 启动并验证服务器

安装后

# 检查服务状态
sudo systemctl status systemmanager-mcp

# 查看日志
sudo journalctl -u systemmanager-mcp -f

# 测试服务器
curl http://localhost:8080/.well-known/oauth-protected-resource/mcp

一键安装

# 下载并运行安装程序
curl -fsSL https://raw.githubusercontent.com/mdlmarkham/TailOpsMCP/master/install.sh | sudo bash

安装程序将:

  1. ✅ 检查系统要求
  2. ✅ 安装Python依赖项
  3. ✅ 设置systemd服务
  4. ✅ 配置Tailscale OAuth(如果可用)
  5. ✅ 创建安全环境文件
  6. ✅ 启动服务器

手动安装

# 1. 克隆仓库
git clone https://github.com/mdlmarkham/TailOpsMCP.git
cd TailOpsMCP

# 2. 安装依赖项
pip install -r requirements.txt

# 3. 配置认证(选择一种)

# 选项A:Tailscale OAuth(推荐)
cp deploy/.env.template .env
nano .env  # 添加您的TSIDP凭据
chmod 600 .env

# 选项B:基于Token的认证(更简单)
export SYSTEMMANAGER_AUTH_MODE=token
export SYSTEMMANAGER_SHARED_SECRET="your-secret-here"

# 4. 启动服务器
python -m src.mcp_server

🔐 Tailscale集成

TailOpsMCP支持**Tailscale身份提供商(TSIDP)**用于OAuth 2.1认证。

设置TSIDP

  1. 启用TSIDP在您的Tailscale管理控制台中:

    设置 → OAuth → 身份提供商 → 启用
    
  2. 注册OAuth客户端

    • 导航至OAuth应用程序
    • 创建新应用
    • 设置重定向URI:https://vscode.dev/redirect
    • 记录Client ID和Secret
  3. 配置TailOpsMCP

    # 编辑/opt/systemmanager/.env
    SYSTEMMANAGER_AUTH_MODE=oidc
    TSIDP_URL=https://tsidp.tail12345.ts.net
    TSIDP_CLIENT_ID=your-client-id
    TSID
    ...