LXD容器管理服务

LXD MCP Server是一个用于管理LXD容器和虚拟机的模型上下文协议服务器,通过标准化接口实现容器生命周期管理、镜像操作和服务器监控功能。

  • by edgeseek
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 edgeseek/lxd-mcp

使用说明

LXD MCP服务器

用于管理LXD容器和虚拟机的模型上下文协议(MCP)服务器。使AI助手能够通过容器生命周期管理、图像操作和服务器监控的标准化界面与LXD进行交互。

先决条件

  • LXD:必须在主机上安装并运行守护程序
  • Node.js:版本20或更高
  • 插座接入:服务器必须在可以访问LXD Unix套接字的LXD主机上运行

安装

选择以下方法之一安装并运行LXD MCP服务器。

以systemd服务运行(推荐)

这是生产使用的推荐方法。该服务在启动时自动运行,并处理日志记录和自动重启。

# Install the server globally
npm install -g lxd-mcp

# Copy the service file to systemd directory
sudo cp lxd-mcp.service /etc/systemd/system/

# Reload systemd to pick up the new service
sudo systemctl daemon-reload

# Start the service
sudo systemctl start lxd-mcp

# Enable auto-start on boot
sudo systemctl enable lxd-mcp

手动运行

如果您更喜欢手动运行服务器(用于开发或测试):

# Install globally
npm install -g lxd-mcp

# Run with default settings
lxd-mcp --port 3000

# Or run directly without installing
npx lxd-mcp --port 3000

⚠️ 重要提示:需要LXD组成员资格

手动运行时(不是作为systemd服务),您的用户 必须是 lxd 群组 访问LXD Unix套接字。否则,您将收到“找不到LXD套接字”错误。

要将您的用户添加到LXD组:

sudo usermod -a -G lxd $USER

重要提示: 您必须注销并重新登录(或运行 newgrp lxd)以使组更改生效。

代理配置

LXD MCP服务器在以下位置公开HTTP端点 /mcp。配置您的AI代理以作为远程MCP服务器连接到它。

开源代码

{
  "mcp": {
    "servers": {
      "lxd": {
        "type": "remote",
        "url": "http://localhost:3000/mcp",
        "enabled": true,
        "headers": {
          "Authorization": "Bearer {env:ACCESS_TOKEN}"
        }
      }
    }
  }
}

克劳德桌面和克劳德代码

Claude通过连接器UI支持远程MCP服务器。首选 设置>连接器 在 claude.ai 添加您的服务器:

  1. 输入您的MCP服务器URL: http://localhost:3000/mcp
  2. 对于身份验证,请在高级设置中配置OAuth或API密钥

或者,使用CLI命令(仅限Claude Code):

claude mcp add --transport http lxd http://localhost:3000/mcp --env ACCESS_TOKEN="your-token"

光标

添加到您的 ~/.cursor/mcp.json:

{
  "mcpServers": {
    "lxd": {
      "url": "http://localhost:3000/mcp",
      "headers": {
        "Authorization": "Bearer your-access-token"
      }
    }
  }
}

注: 替换 http://localhost:3000/mcp 如果远程运行,则使用服务器的实际URL。

示例提示

配置后,尝试询问您的代理:

  • “列出所有正在运行的LXD容器”
  • “创建一个名为web服务器的新Ubuntu 22.04容器”
  • “启动测试容器并在其中运行apt-get-update”
  • 显示服务器资源(CPU、内存、磁盘)
  • “为具有2个CPU内核和4GB内存的web服务器创建配置文件”

环境变量

变量 默认值 描述
LXD_SOCKET_PATH /var/snap/lxd/common/lxd/unix.socket LXD Unix套接字的路径
ACCESS_TOKEN (none) API身份验证的承载令牌
LXD_PROJECTS (all) 逗号分隔的允许项目列表
LOG_LEVEL info 日志记录级别: debug, info, error
PORT 3000 服务器HTTP端口

安全

重要:由于套接字访问要求,服务器必须在LXD主机上运行。

  • 集 ACCESS_TOKEN 启用承载令牌身份验证(建议用于网络暴露)
  • 使用 LXD_PROJECTS 限制对特定项目的访问
  • 看 docs/security.md 获取详细的安全指南

文档

  • 工具参考 -所有MCP工具定义和参数
  • 配置 -环境变量、CLI标志、套接字路径
  • 安全 -令牌设置、项目限制、最佳实践
  • 故障排除 -常见问题和解决方案
  • API 参考 -此服务器使用的LXD API终结点

许可证

MIT许可证-有关详细信息,请参阅许可证文件。