使用说明
Ploi MCP服务器
一个MCP(模型上下文协议)服务器,它公开 Ploi.io API功能作为人工智能助手(如Claude)的工具。
只需简单的“部署”命令即可部署您的网站,无需在仪表板上点击!
特性
- 一个命令部署 -只需说“部署”,然后看着它发生
- 已验证部署 -部署等待真正完成并报告成功/失败(没有虚假的“成功”)
- 项目链接 -将项目链接到Ploi网站
.ploi.json - 整个站点生命周期 -创建、删除、部署、挂起、恢复、查看日志
- 服务器管理 -列出、重新启动、查看日志
- 环境和部署脚本 -阅读并更新网站的
.env无需SSH即可部署脚本 - 守护进程和队列工作者 -管理
queue:work守护进程和Ploi的每个站点队列工作进程(创建/重新启动/暂停/删除) - 时钟守护作业 -添加/验证Laravel调度程序(
* * * * * schedule:run)和其他亲信 - SSL证书 -请求(Let's Encrypt)、列出和删除证书
- 数据库 -创建/删除数据库;列出、运行、计划和删除备份
- 服务重新启动 -重新启动nginx/php fpm/mysql/redis/supervisor
- 可选id分配列表 -明确变异工具可能涉及的服务器/站点(见 配置)
安装
选项1:全局安装(推荐)
npm install -g ploi-mcp
选项2:不安装(使用npx)
跳过安装-配置后,npx将自动下载并运行它。
快速开始
步骤1:获取您的API令牌
从获取您的令牌 ploi.io/profile/api-keys.
🔐 不要让你的令牌出现在命令行中。 经过
--token将其暴露在 进程列表(ps aux)并以明文形式存储在~/.claude.json。首选以下安全选项之一。ploi mcp解决了 令牌按以下顺序排列:--token-file→--token(已弃用)→PLOI_API_TOKENenv →~/.ploi/config.php(官方ploi token商店)。
步骤2:配置Claude代码
添加 ~/.claude.json --通过传递令牌 env 块,不是 args:
如果全局安装:
{
"mcpServers": {
"ploi": {
"type": "stdio",
"command": "ploi-mcp",
"env": { "PLOI_API_TOKEN": "YOUR_TOKEN" }
}
}
}
如果使用npx(不安装):
{
"mcpServers": {
"ploi": {
"type": "stdio",
"command": "npx",
"args": ["-y", "ploi-mcp"],
"env": { "PLOI_API_TOKEN": "YOUR_TOKEN" }
}
}
}
已经在使用 Ploi命令行界面?跑 ploi token 一旦完成,ploi mcp将从以下位置读取令牌 ~/.ploi/config.php 自动——MCP配置中根本没有令牌。
步骤3:重新启动Claude代码
关闭并重新打开Claude Code,以便加载MCP服务器。
步骤4:链接您的项目
在克劳德代码中,说:
"Link this project to mydomain.com"
步骤5:随时部署
只需说:
"deploy"
就是这样!部署将运行并在完成时通知您。
配置
克劳德代码
添加 ~/.claude.json:
{
"mcpServers": {
"ploi": {
"type": "stdio",
"command": "ploi-mcp",
"args": ["--token", "YOUR_TOKEN"]
}
}
}
或者使用环境变量:
{
"mcpServers": {
"ploi": {
"type": "stdio",
"command": "ploi-mcp",
"env": {
"PLOI_API_TOKEN": "YOUR_TOKEN"
}
}
}
}
克劳德桌面版
添加到配置文件:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - 视窗:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"ploi": {
"command": "ploi-mcp",
"args": ["--token", "YOUR_TOKEN"]
}
}
}
限制哪些服务器/站点可以进行突变(推荐)
Ploi API代币是 账户范围 --默认情况下,助手可以部署, 重新启动、挂起或删除备份 任何 您帐户中的服务器或站点。 两层可以减小爆炸半径:
-
确定令牌本身的范围。 在Ploi中创建最小特权API令牌 (https://ploi.io/profile/api-keys)仅限于您想要的服务器 助理管理。这是最强的界限——MCP不能超过 令牌允许。
-
设置id列表 (可选,纵深防御)。当这些环境变量 集,每 突变 工具(
deploy_site,deploy_project,restart_server,suspend_site,resume_site,create/run/delete_database_backup)拒绝 ID不在列表中。只读工具(列表/获取)不受影响。{ "mcpServers": { "ploi": { "command": "ploi-mcp", "env": { "PLOI_API_TOKEN": "YOUR_TOKEN", "PLOI_ALLOWED_SERVER_IDS": "12,34", "PLOI_ALLOWED_SITE_IDS": "567,890" } } } }逗号分隔的id。未设置或空白=无限制(默认)。拼写错误(A 非数字id)大声失败,而不是默默地否认一切。
用法
命令行选项
ploi-mcp --token YOUR_TOKEN
ploi-mcp -t YOUR_TOKEN
PLOI_API_TOKEN=YOUR_TOKEN ploi-mcp
项目设置
将项目链接到其Ploi站点以进行一次命令部署:
"Link this project to mydomain.com"
这创造了 .ploi.json 在您的项目中:
{
"server_id": 12345,
"site_id": 67890
}
现在只要说 "deploy" 它将:
- 触发器部署
- 等待完成(每5秒轮询一次)
- 报告成功或失败
可用工具
项目工具
| 工具 | 说明 |
|---|---|
deploy_project |
部署当前项目并等待完成 |
init_project |
按域将项目链接到Ploi网站 |
get_project_deploy_status |
检查部署状态 |
服务器管理
| 工具 | 说明 |
|---|---|
list_servers |
列出所有服务器 |
get_server |
获取服务器详细信息 |
restart_server |
重新启动服务器 |
get_server_logs |
获取服务器日志(auth、error、lastlog、syslog) |
站点管理
| 工具 | 说明 |
|---|---|
list_sites |
列出服务器上的站点 |
get_site |
获取网站详细信息 |
find_site_by_domain |
按域搜索网站 |
create_site |
创建新站点(vhost、目录、系统用户) |
delete_site |
永久删除网站(vhost、文件、系统用户) |
deploy_site |
部署站点并等待完成 |
get_site_logs |
获取部署日志 |
suspend_site |
暂停网站 |
resume_site |
恢复暂停的站点 |
环境和部署脚本
| 工具 | 说明 |
|---|---|
get_site_env |
阅读网站的 .env |
update_site_env |
替换网站 .env (完整文件) |
get_deploy_script |
阅读站点的部署脚本 |
update_deploy_script |
替换站点的部署脚本(完整文件) |
守护进程
| 工具 | 说明 |
|---|---|
list_daemons |
列出守护进程(例如。 queue:work)在服务器上 |
create_daemon |
创建守护进程 |
restart_daemon |
重新启动守护进程 |
toggle_daemon |
暂停/恢复守护进程 |
delete_daemon |
删除守护进程 |
定时任务
| 工具 | 说明 |
|---|---|
list_crons |
列出服务器上的cron作业 |
create_cron |
创建一个cron作业(例如Laravel调度器) |
delete_cron |
删除cron作业 |
队列工作者
| 工具 | 说明 |
|---|---|
list_queues |
列出站点的队列工作者 |
get_queue |
获取单个队列工作者 |
create_queue |
创建队列工作者 |
restart_queue |
重新启动队列工作程序 |
toggle_queue |
暂停/恢复队列工作者 |
delete_queue |
删除队列工作者 |
SSL证书
| 工具 | 说明 |
|---|---|
list_certificates |
列出站点的证书 |
request_certificate |
请求证书(默认为Let's Encrypt) |
delete_certificate |
删除证书 |
服务
| 工具 | 说明 |
|---|---|
restart_service |
重新启动nginx/php fpm/mysql/redis/supervisor |
数据库管理
| 工具 | 说明 |
|---|---|
list_databases |
列出服务器上的数据库 |
create_database |
创建数据库(可选择使用用户/密码) |
delete_database |
永久删除数据库 |
list_database_backups |
列出数据库备份配置 |
get_database_backup |
获取数据库备份配置 |
run_database_backup |
立即运行现有备份配置(“立即备份”) |
create_database_backup |
创建定时备份配置(需要备份目标) |
delete_database_backup |
删除备份配置 |
注: 变异工具(任何创建、更新、删除、部署、重启或切换的工具)都带有
destructiveHint因此MCP主机可以在运行它们之前进行提示,并遵守可选 id反对.update_site_env/update_deploy_scriptPloi异步应用写入操作——在读回它们之前,请留出几秒钟的时间。
示例命令
"List my servers"
"Deploy"
"Deploy mydomain.com"
"Create a Laravel site for app.mydomain.com"
"Add the scheduler cron to server 12"
"Restart the queue worker on app.mydomain.com"
"Request a Let's Encrypt cert for app.mydomain.com"
"Show me the .env for app.mydomain.com"
"Restart nginx on server 12"
"List my database backups"
"Run database backup 42 now"
发展
git clone https://github.com/sudanese/ploi-mcp.git
cd ploi-mcp
npm install
npm run build
npm link
许可证
麻省理工学院