PHPocalypse-MCP

by plapinski

174 downloads Not rated yet MIT license
GitHub

About

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

Details

License
MIT license

Explore

- Define PHP tools by name and shell command in a YAML config.
- Works with any PHP project structure.
- Supports arbitrary commands (e.g., make, docker compose, vendor/bin/*).
- Intended for non-interactive CLI output.
- Proof-of-concept; interactive prompts are not supported.

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name PHPocalypse-MCP
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

- You need to have node, npx and tsx installed

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

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "phpocalypse-mcp": {
            "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"
                ]
            }
        }
    }
}

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"
        ]
    }
}
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.
No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.