mcpField
P
PHPocalypse-MCP

PHPocalypse-MCP

本地服务
github.com/plapinski开发工具384 周前更新

关于 PHPocalypse-MCP

PHPocalypse-MCP 让 MCP 客户端运行 PHP 项目中配置的命令,面向希望委托测试和静态分析的开发者。工具名称与命令写在 YAML 文件中;不支持交互式 CLI 输入。

主要功能

  1. 01在 YAML 中定义命令工具
  2. 02运行配置的项目命令
  3. 03用于测试和静态分析
  4. 04命令需支持非交互运行

适用场景

  1. 01从 MCP 客户端运行单元测试
  2. 02在项目中调用 PHP-CS-Fixer
  3. 03运行 PHPStan 分析

MCP 相关

将项目定义的命令作为工具提供给 Cursor 等 MCP 客户端。工具名称和命令通过项目 YAML 文件配置。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"PHPocalypse-MCP": {
"command": "npx",
"args": [
"-y",
"tsx"
]
}
}
}
启动命令npx -y tsx

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmtsx

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

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

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。