Laravel Forge MCP服务器
用于管理Laravel Forge服务器、站点和部署的模型上下文协议(MCP)服务器。与任何MCP客户端兼容。
特性
- 179工具 -完全控制锻造API
- 9资源 -综合文件和最佳做法
- 6提示 -常见操作的指导工作流程
- Docker就绪 -优化容器,便于分发
快速开始
先决条件
- Docker已安装
- 伪造API令牌(在这里买一个)
- 任何兼容MCP的客户端
配置
将服务器添加到MCP客户端配置中:
{
"mcpServers": {
"forge": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-e",
"FORGE_API_TOKEN",
"ddrcn/forge-mcp:latest"
],
"env": {
"FORGE_API_TOKEN": "your_token_here"
}
}
}
}
替换 your_token_here 使用您的Forge API令牌。
本地运行(无Docker)
{
"mcpServers": {
"forge": {
"command": "php",
"args": ["/path/to/forge-mcp/artisan", "mcp:start", "forge"],
"env": {
"FORGE_API_TOKEN": "your_token_here"
}
}
}
}
可用工具
服务器(13个工具)
| 工具 |
说明 |
list-servers-tool |
列出所有服务器 |
get-server-tool |
获取服务器详细信息 |
create-server-tool |
创建新服务器 |
update-server-tool |
更新服务器设置 |
delete-server-tool |
删除服务器 |
reboot-server-tool |
重新启动服务器 |
update-database-password-tool |
重新生成数据库密码 |
revoke-server-access-tool |
撤销Forge SSH访问 |
reconnect-server-tool |
重新连接到服务器 |
reactivate-server-tool |
重新激活已删除的服务器 |
get-server-log-tool |
获取服务器日志文件 |
list-events-tool |
列出服务器事件 |
get-event-output-tool |
获取事件输出 |
网站(18个工具)
| 工具 |
说明 |
list-sites-tool |
列出服务器上的所有站点 |
get-site-tool |
获取网站详细信息 |
get-site-log-tool |
获取站点日志 |
create-site-tool |
创建新网站 |
update-site-tool |
更新站点设置 |
delete-site-tool |
删除网站 |
change-php-version-tool |
更改网站的PHP版本 |
clear-site-log-tool |
清除站点日志文件 |
list-aliases-tool |
列出域别名 |
update-aliases-tool |
更新域别名 |
get-load-balancing-tool |
获取负载平衡配置 |
update-load-balancing-tool |
更新负载平衡 |
install-wordpress-tool |
在网站上安装WordPress |
uninstall-wordpress-tool |
从网站中删除WordPress |
install-phpmyadmin-tool |
安装phpMyAdmin |
uninstall-phpmyadmin-tool |
删除phpMyAdmin |
get-packages-auth-tool |
获取Composer身份验证配置 |
update-packages-auth-tool |
更新Composer身份验证配置 |
部署(11个工具)
| 工具 |
说明 |
deploy-site-tool |
触发部署 |
get-deployment-log-tool |
获取部署日志 |
get-deployment-script-tool |
获取部署脚本 |
update-deployment-script-tool |
更新部署脚本 |
enable-quick-deploy-tool |
启用推送自动部署 |
disable-quick-deploy-tool |
禁用自动部署 |
list-deployment-history-tool |
列出部署历史记录 |
get-deployment-history-deployment-tool |
获取特定部署 |
get-deployment-history-output-tool |
获取部署输出 |
reset-deployment-state-tool |
重置卡住的部署状态 |
set-deployment-failure-emails-tool |
设置故障通知电子邮件 |
SSL证书(7个工具)
| 工具 |
说明 |
list-certificates-tool |
列出所有证书 |
get-certificate-tool |
获取证书详细信息 |
obtain-lets-encrypt-certificate-tool |
获取Let's Encrypt证书 |
install-certificate-tool |
安装自定义证书 |
get-certificate-signing-request-tool |
获得企业社会责任 |
delete-certificate-tool |
删除证书 |
activate-certificate-tool |
激活SSL证书 |
数据库(10个工具)
| 工具 |
说明 |
list-databases-tool |
列出数据库 |
get-database-tool |
获取数据库详细信息 |
create-database-tool |
创建数据库 |
update-database-tool |
更新数据库 |
delete-database-tool |
删除数据库 |
list-database-users-tool |
列出数据库用户 |
get-database-user-tool |
获取用户详细信息 |
create-database-user-tool |
创建数据库用户 |
update-database-user-tool |
更新用户权限 |
sync-database-tool |
从服务器同步数据库 |
复合工具(5个工具)
| 工具 |
说明 |
server-health-check-tool |
通过指标聚合进行全面的服务器健康检查 |
site-status-dashboard-tool |
使用SSL、部署和工作人员完成站点仪表板 |
bulk-deploy-tool |
跨服务器同时部署多个站点 |
ssl-expiration-check-tool |
检查所有站点的SSL证书过期情况 |
clone-site-tool |
将站点配置克隆到新域/服务器 |
其他工具
| 类别 |
计数 |
描述 |
| 备份 |
7 |
备份配置和还原 |
| 命令 |
3 |
执行和监视站点命令 |
| 复合 |
5 |
聚合工具(运行状况检查、批量部署、克隆站点) |
| 配置 |
4 |
Nginx配置和.env文件管理 |
| 凭据 |
1 |
列出提供程序凭据 |
| 守护进程 |
5 |
管理长时间运行的进程 |
| 防火墙 |
4 |
管理防火墙规则 |
| Git |
5 |
存储库和部署密钥管理 |
| 集成 |
21 |
Laravel集成(地平线、辛烷值、混响、脉冲、惯性、维护、调度器) |
| 作业 |
5 |
计划作业(cron) |
| 监视器 |
4 |
服务器监视 |
| Nginx模板 |
6 |
自定义Nginx配置 |
| PHP |
5 |
PHP版本管理和OPcache |
| 食谱 |
6 |
可重复使用的服务器脚本 |
| 重定向规则 |
4 |
URL重定向 |
| 区域 |
1 |
列出可用的云提供商区域 |
| 安全规则 |
4 |
HTTP身份验证 |
| 服务 |
15 |
MySQL、Nginx、Postgres、PHP-FPM、Blackfire、Papertrail、通用启动/停止/重启 |
| SSH密钥 |
4 |
SSH密钥管理 |
| 用户 |
1 |
经过身份验证的用户信息 |
| Webhooks |
4 |
部署Webhooks |
| 工人 |
6 |
排队工人 |
总计:179个工具
可用资源
| 资源 |
描述 |
forge-api-docs |
锻造API文件参考 |
deployment-guidelines |
分步部署指南 |
deployment-best-practices |
Laravel部署的最佳实践 |
security-best-practices |
服务器安全建议 |
troubleshooting-guide |
常见问题和解决方案 |
php-upgrade-guide |
PHP版本升级程序 |
queue-worker-guide |
队列工作者配置指南 |
nginx-optimization |
Nginx性能调优 |
security-hardening |
高级服务器安全强化 |
可用提示
| 提示 |
描述 |
deploy-laravel-app |
Laravel应用程序部署指南 |
setup-new-server |
完成服务器配置工作流程 |
migrate-site |
服务器之间的站点迁移 |
troubleshoot-deployment |
部署故障诊断 |
ssl-renewal |
SSL证书续订工作流程 |
setup-laravel-site |
从头开始创建Laravel网站 |
发展
构建Docker镜像
docker build -t ddrcn/forge-mcp:latest .
本地测试
# Via Docker
echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"1.0"}}}' | \
docker run --rm -i -e FORGE_API_TOKEN=your_token ddrcn/forge-mcp:latest
# Via PHP
echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"1.0"}}}' | \
FORGE_API_TOKEN=your_token php artisan mcp:start forge
运行测试
CI/CD
本项目使用GitHub Actions进行持续集成和部署:
- 测试:推送和拉取请求时自动运行
- 码头工人:镜像被构建并在推送到master时推送到Docker Hub
必需的秘密
在GitHub存储库设置中配置这些机密:
| 机密 |
描述 |
DOCKERHUB_USERNAME |
您的Docker Hub用户名 |
DOCKERHUB_TOKEN |
Docker Hub访问令牌(在此处创建一个) |
自动发布
发布是基于常规提交自动创建的:
| 提交类型 |
版本冲突 |
示例 |
feat: |
未成年人(1.0.0→1.1.0) |
feat(tools): add new tool |
feat!: 或 BREAKING CHANGE: |
专业(1.0.0→2.0.0) |
feat!: redesign API |
fix:, docs:, chore:等等。 |
补丁(1.0.0→1.0.1) |
fix(api): handle errors |
当您推送到master时,工作流将:
- 分析自上次标记以来的提交
- 确定版本差异
- 使用changelog创建GitHub版本
- 构建和推送Docker镜像
手动释放
要手动触发释放:
git tag v1.1.0
git push origin v1.1.0
故障排除
连接问题
- 确保Docker正在运行
- 验证
FORGE_API_TOKEN 设置正确
- 配置更改后重新启动MCP客户端
API错误
# Test API directly
curl -H "Authorization: Bearer $FORGE_API_TOKEN" \
-H "Accept: application/json" \
https://forge.laravel.com/api/v1/servers
文档
许可证
该项目根据MIT许可证获得许可。
致谢