
1panel Mcp
一个用于将网站自动部署到 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 配置:
- 打开 Cursor
- 创建
.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
实现细节
部署过程
- 检查构建目录:验证指定的构建目录是否存在
- 创建网站:如果网站不存在,则通过 1Panel API 创建一个新的静态网站
- 文件上传:将构建目录中的所有文件上传到网站
- 统计信息:返回关于上传过程的详细统计信息
故障排除
如果遇到部署问题,请检查以下内容:
- 确保你的 API 密钥有效且具有足够的权限
- 验证网站目录存在并具有写权限
- 检查 1Panel 服务器日志以获取更详细的错误信息
- 如果文件上传失败,可能是由于文件权限或格式问题