关于 PHPocalypse-MCP
PHPocalypse-MCP 让 MCP 客户端运行 PHP 项目中配置的命令,面向希望委托测试和静态分析的开发者。工具名称与命令写在 YAML 文件中;不支持交互式 CLI 输入。
主要功能
- 01在 YAML 中定义命令工具
- 02运行配置的项目命令
- 03用于测试和静态分析
- 04命令需支持非交互运行
适用场景
- 01从 MCP 客户端运行单元测试
- 02在项目中调用 PHP-CS-Fixer
- 03运行 PHPStan 分析
MCP 相关
将项目定义的命令作为工具提供给 Cursor 等 MCP 客户端。工具名称和命令通过项目 YAML 文件配置。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
PHPocalypse-MCP
面向忙到没空运行测试和静态分析的氛围编程开发者的 MCP 服务。
前提条件
- 需要安装 node、npx 和 tsx
使用方法
- 首先,将此仓库
git clone到所选目录 - 运行
npm install - 接下来,打开 Cursor 设置并添加以下 MCP 配置:
{
"mcpServers": {
"phpocalypse-mcp": {
"command": "npx",
"args": ["tsx", "/Absolute/Path/To/PHPocalypse-MCP/src/index.ts", "--config", "/Absolute/Path/To/Your/PHP/Based/Project/phpocalypse-mcp.yaml"]
}
}
}
确保路径正确!
- 在你的 PHP 项目中,创建
phpocalypse-mcp.yaml文件
phpocalypse-mcp.yaml 配置
结构很简单。为工具指定名称和要运行的命令即可。
tools:
- name: php-cs-fixer
command: make php-cs
- name: php-stan
command: /vendor/bin/phpstan analyse -c phpstan.neon --memory-limit=-1
- name: tests-unit
command: docker compose run --rm php ./vendor/bin/phpunit --testsuite=Unit
- name: tests-behat
command: task behat -- --no-interaction
注意事项
- 此 MCP 只是一个概念验证,可能无法在所有情况下正常工作。可以确定的是,交互式 CLI 输入无法使用。一个很好的例子是 behat:如果不以非交互模式运行,它会提示用户是否生成缺失的代码片段。请确保你的命令能够直接运行并输出有用内容,其余部分交给你喜欢的大模型处理。
- 目前还无法正确处理一些较大的输出。要解决这个问题,可以尝试使用
claude-3.7-sonnet,或者调整命令以减少返回内容。
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。