项目简介

LivChat Setup提供了一个强大的自动化平台,允许用户通过简单的AI对话来创建、配置、部署和管理云服务器及其上的应用。它将复杂的服务器管理任务抽象为自然语言指令,并通过Model Context Protocol (MCP) 对接大型语言模型(LLM),实现智能控制。后端核心逻辑由Python FastAPI构建,MCP接口则由TypeScript实现。

主要功能点

  • AI控制: 通过Claude等LLM客户端,以对话方式管理服务器和应用。
  • 一键部署: 支持部署完整的应用栈,如N8N、Portainer、Chatwoot等,并自动处理依赖。
  • 自动化依赖管理: 部署应用时,自动识别并安装所需的数据库(如PostgreSQL、Redis)。
  • DNS自动化配置: 自动为应用配置域名和SSL证书(通过Traefik和Cloudflare集成)。
  • 云服务商集成: 支持Hetzner等云服务商的服务器创建和管理。
  • 持久化状态与密钥管理: 使用Ansible Vault安全存储API密钥和敏感信息,并持久化服务器部署状态。
  • 异步任务与日志追踪: 后台执行长时间任务,并提供进度和详细日志追踪。

安装步骤

  1. 安装Python依赖(作为后端API):
    pip install livchat-setup
  2. 启动后端API服务器:
    livchat-setup serve
    这将启动一个FastAPI服务器,默认运行在 'http://127.0.0.1:8000'。
  3. 安装MCP服务器(Node.js环境):
    npm install -g @pedrohnas/livchat-setup-mcp
    请确保你的系统已安装Node.js和npm。

MCP客户端服务器配置

在你的MCP客户端(如Claude Desktop)的配置文件(通常是 'claude_desktop_config.json')中,添加以下JSON配置来注册LivChat Setup作为MCP服务器:

{
  "mcpServers": {
    "livchat-setup": {
      "command": "npx",
      "args": [
        "@pedrohnas/livchat-setup-mcp"
      ],
      "description": "通过AI自然语言指令管理云服务器和部署应用,支持创建、配置、删除服务器,部署PostgreSQL、Redis、N8N等应用,以及管理Cloudflare DNS和加密密钥。"
    }
  }
}
  • '"livchat-setup"': 这是你在MCP客户端中识别此服务器的名称。
  • '"command": "npx"': 用于启动MCP服务器的命令。'npx' 是Node.js包运行器,可以直接运行npm包中的可执行文件。
  • '"args": ["@pedrohnas/livchat-setup-mcp"]': 传递给 'npx' 命令的参数,这里是LivChat Setup MCP服务器的npm包名。
  • '"description"': 对该MCP服务器功能的简要描述,LLM客户端会根据此描述了解其能力和用途。

环境变量配置提示:

  • 如果你的LivChat Setup后端API服务器不在默认地址 ('http://127.0.0.1:8000') 运行,你需要在启动MCP服务器前设置 'LIVCHAT_API_URL' 环境变量。例如: 'LIVCHAT_API_URL=http://your_api_host:your_api_port npx @pedrohnas/livchat-setup-mcp'
  • 如果你的后端API服务器需要API Key进行认证,你需要在启动MCP服务器前设置 'LIVCHAT_API_KEY' 环境变量。

基本使用方法

配置完成后,你可以在支持MCP的LLM客户端中直接使用自然语言指令与LivChat Setup MCP服务器交互。以下是一些常用指令示例:

  • 列出可用云服务商信息: 'get provider info for hetzner all'
  • 设置Hetzner API Token: 'manage secrets set key='hetzner_token' value='YOUR_HETZNER_API_TOKEN''
  • 创建新的云服务器: 'create server name='prod-server-01' server_type='cx21' region='nbg1''
  • 查看所有已管理服务器: 'list servers'
  • 配置服务器的DNS信息: 'update server dns server_name='prod-server-01' zone_name='example.com' subdomain='prod''
  • 执行服务器基础设置(包括Docker、Swarm和DNS配置): 'setup server name='prod-server-01' zone_name='example.com' subdomain='prod' ssl_email='[email protected]''
  • 部署N8N应用(会自动安装PostgreSQL和Redis): 'deploy app app_name='n8n' server_name='prod-server-01' environment={'N8N_BASIC_AUTH_USER': 'admin', 'N8N_BASIC_AUTH_PASSWORD': 'mypassword'}'
  • 列出服务器上已部署的应用: 'list deployed apps server_name='prod-server-01''
  • 查看任务状态: 'get job status job_id='create_server-abc123''
  • 删除云服务器: 'delete server server_name='prod-server-01' confirm=true'

信息

分类

开发者工具