icon for mcp server

PHPocalypse

STDIO

MCP server for developers to run tests and static analysis.

PHPocalypse-MCP

MCP server for vibe developers that are too busy to run tests and static analysis.

Prerequisites

  • You need to have node, npx and tsx installed

How to

  • First, git clone this repo to chosen directory
  • Run npm install
  • Next, open your Cursor settings and add the following MCP config:
{ "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"] } } }

Make sure the paths are correct!

  • In your PHP project, create phpocalypse-mcp.yaml file

phpocalypse-mcp.yaml config

The structure is straightforward. Define the tools by giving them a name and a command to run.

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

Caveats

  • This MCP is just a proof of concept and it may not work in every case. One thing that will not work for sure is any interactive CLI input. A good example is behat, that - if not run in non-inteartvice mode - will prompt user with a question of whether to generate missing snippets. Make sure that your commands just run and output something meaningful and leave the rest to your favourite LLM.
  • Some bigger outputs are not handler correctly yet. To fix that, try to either use claude-3.7-sonnet or craft your commands to return less.

Be the First to Experience MCP Now