小贴士:按下Ctrl+D 或 ⌘+D,一键收藏本站,方便下次快速访问!
15
最近更新:5天前

一个用于将网站自动部署到 1Panel 的 MCP 服务器(实验性)

1Panel MCP 服务器

一个用于将网站自动部署到 1Panel 的 Model Context Protocol (MCP) 服务器。

[!IMPORTANT]
目前,此项目是一个实验性项目,并不意味着可以直接使用。

视频演示

https://www.bilibili.com/video/BV1SjQRY3EmM/

特性

  • 自动将网站部署到 1Panel 服务器
  • 如果网站不存在,则创建网站
  • 将静态网站文件上传到 1Panel
  • 完全兼容 MCP 标准协议

安装

bash 复制代码
# 克隆仓库
git clone https://github.com/yourusername/1panel-mcp-server.git
cd 1panel-mcp-server

# 安装依赖
npm install
# 或者如果你使用 pnpm
pnpm install

# 配置环境变量
cp .env.example .env

编辑 .env 文件,填入你的 1Panel 服务器信息:

bash 复制代码
PORT=3000
ONEPANEL_BASE_URL=http://your-1panel-ip:port/api/v1
ONEPANEL_API_KEY=your_api_key
ONEPANEL_LANGUAGE=zh  # 语言选项:zh(中文)或 en(英文)

使用

启动服务器

bash 复制代码
# 启动服务器
npm start

# 开发模式,带自动重载
npm run dev

在 Cursor IDE 中配置 MCP

要与 Cursor IDE 一起使用此服务器,请添加以下 MCP 配置:

  1. 打开 Cursor
  2. 创建 .cursor/mcp.json
json 复制代码
{
  "mcpServers": {
    "Deploy to 1Panel": {
      "url": "http://localhost:3000/sse"
    }
  }
}

使用 MCP 部署网站

在 Cursor 中,你可以使用以下命令在 AI 聊天中部署网站:

plaintext 复制代码
Deploy to 1Panel with domain=yourdomain.com

或者你可以使用以下格式:

plaintext 复制代码
Deploy website to 1Panel server, domain: yourdomain.com

API 参考

MCP 工具:deploy_website

将网站部署到 1Panel。

参数:

  • domain(必需):网站域名
  • buildDir(可选):构建目录路径

响应:

plaintext 复制代码
成功部署到 1Panel!
域名:yourdomain.com
URL:http://yourdomain.com
上传统计:
- 总文件数:25
- 成功上传:25
- 上传失败:0

实现细节

部署过程

  1. 检查构建目录:验证指定的构建目录是否存在
  2. 创建网站:如果网站不存在,则通过 1Panel API 创建一个新的静态网站
  3. 文件上传:将构建目录中的所有文件上传到网站
  4. 统计信息:返回关于上传过程的详细统计信息

故障排除

如果遇到部署问题,请检查以下内容:

  1. 确保你的 API 密钥有效且具有足够的权限
  2. 验证网站目录存在并具有写权限
  3. 检查 1Panel 服务器日志以获取更详细的错误信息
  4. 如果文件上传失败,可能是由于文件权限或格式问题