返回 MCP 目录
public公开dns本地运行

unraid-mcp

一个基于Python的MCP服务器,通过Unraid GraphQL API实现AI助手与Unraid服务器的交互,提供系统监控和只读管理功能。

article

README

🚀 Unraid MCP 服务器指南

本指南将详细介绍 Unraid MCP 服务器的安装、配置、功能使用、集成等方面,帮助您顺利搭建并使用该服务器。

🚀 快速开始

环境要求

  • 操作系统:Linux 或 Windows
  • Python 版本:3.6+

下载与安装

  1. 克隆仓库:
    git clone https://github.com/your-repository/unraid-mcp.git
    cd unraid-mcp
    
  2. 安装依赖:
    pip install -r requirements.txt
    

配置

创建配置文件 unraid_mcp_config.json

{
  "mcpServers": {
    "unraid": {
      "command": "/path/to/python",
      "args": ["/path/to/unraid-mcp/run_server.py"],
      "env": {
        "UNRAID_API_URL": "http://your-unraid-server:port/graphql",
        "UNRAID_API_KEY": "your-api-key",
        "LOG_LEVEL": "INFO",
        "CLAUDE_MCP_SERVER": "true"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}

✨ 主要特性

资源访问

  • unraid://system/info:系统信息(CPU、内存、运行时间)
  • unraid://system/plugins:已安装插件
  • unraid://docker/containers:所有 Docker 容器列表
  • unraid://docker/{container_name}:特定容器详情
  • unraid://array/status:当前存储阵列状态
  • unraid://vms/list:所有虚拟机列表
  • unraid://vms/{vm_name}:特定虚拟机详情
  • unraid://storage/shares:用户共享信息

工具集

系统管理

  • get_system_info:获取详细系统信息
  • get_network_info:获取网络接口信息

存储阵列管理

  • get_array_status:以人类可读格式显示当前阵列状态
  • get_parity_history:获取奇偶校验检查历史记录

Docker 管理

  • get_docker_containers:获取 Docker 容器信息
  • get_docker_networks:获取 Docker 网络信息
  • list_containers:以人类可读格式列出 Docker 容器

虚拟机管理

  • get_vms:获取虚拟机信息
  • get_vm_details:获取特定虚拟机详细信息
  • list_vms:以人类可读格式列出虚拟机

通知管理

  • get_notifications:获取服务器上的通知
  • create_notification:创建新通知
  • archive_notification:归档指定通知

共享管理

  • get_shares:获取网络共享信息
  • get_share_details:获取特定共享详细信息

磁盘管理

  • get_disks:获取所有磁盘信息
  • get_disk_details:获取特定磁盘详细信息
  • get_unassigned_devices:获取未分配设备信息

用户管理

  • get_users:获取所有用户信息

API 密钥管理

  • get_api_keys:获取所有 API 密钥信息

📦 安装指南

环境要求

  • 操作系统:Linux 或 Windows
  • Python 版本:3.6+

下载与安装

  1. 克隆仓库:
    git clone https://github.com/your-repository/unraid-mcp.git
    cd unraid-mcp
    
  2. 安装依赖:
    pip install -r requirements.txt
    

配置

创建配置文件 unraid_mcp_config.json

{
  "mcpServers": {
    "unraid": {
      "command": "/path/to/python",
      "args": ["/path/to/unraid-mcp/run_server.py"],
      "env": {
        "UNRAID_API_URL": "http://your-unraid-server:port/graphql",
        "UNRAID_API_KEY": "your-api-key",
        "LOG_LEVEL": "INFO",
        "CLAUDE_MCP_SERVER": "true"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}

💻 使用示例

与 Claude 的集成

  1. 创建配置文件:
    {
      "mcpServers": {
        "unraid": {
          "command": "/path/to/python",
          "args": ["/path/to/unraid-mcp/run_server.py"],
          "env": {
            "UNRAID_API_URL": "http://your-unraid-server:port/graphql",
            "UNRAID_API_KEY": "your-api-key",
            "LOG_LEVEL": "INFO",
            "CLAUDE_MCP_SERVER": "true"
          },
          "disabled": false,
          "autoApprove": []
        }
      }
    }
    

示例查询

curl -X GET http://localhost:port/unraid//system/info

📚 详细文档

错误处理

常见问题

  • 连接失败:检查 API 地址和密钥是否正确。
  • 权限问题:确保拥有足够的访问权限。

日志查看

日志文件位于 logs/unraid_mcp.log,包含详细的错误信息。

升级与维护

更新代码

git pull origin main
pip install -r requirements.txt

重启服务

systemctl restart unraid-mcp

安全注意事项

  • 密钥管理:确保 API 密钥的安全性,避免泄露。
  • 网络访问:限制外部对 MCP 服务器的访问。

通过以上步骤,您可以成功设置和使用 Unraid 的 MCP 服务器,并集成到您的开发环境中。如需进一步帮助,请参考官方文档或联系支持团队。

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端