PHPocalypse-MCP

by plapinski

Integrations

  • Allows running PHP tests and other tools within Docker containers as part of the development workflow.

  • Provides git clone functionality as part of the setup process.

  • Supports using Make-based commands to run code quality tools and other development tasks.

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.
-
security - not tested
A
license - permissive license
-
quality - not tested

local-only server

The server can only run on the client's local machine because it depends on local resources.

A Message Control Protocol server that runs PHP tests and static analysis tools automatically for developers, providing results directly to AI assistants in Cursor editor.

  1. Prerequisites
    1. How to
      1. phpocalypse-mcp.yaml config
        1. Caveats

          Related MCP Servers

          • A
            security
            A
            license
            A
            quality
            A server that enhances AI assistants with the ability to update your JSON Resume by analyzing your coding projects, automatically extracting skills and generating professional descriptions.
            Last updated -
            3
            32
            39
            TypeScript
            The Unlicense
            • Apple
            • Linux
          • -
            security
            F
            license
            -
            quality
            A server that connects AI coding assistants like Cursor and Cline to Apifox API definitions, allowing developers to implement API interfaces through natural language commands.
            Last updated -
            832
            1
            • Apple
            • Linux
          • -
            security
            A
            license
            -
            quality
            This server implementation allows AI assistants to interact with Asana's API, enabling users to manage tasks, projects, workspaces, and comments through natural language requests.
            Last updated -
            65
            TypeScript
            MIT License
          • -
            security
            A
            license
            -
            quality
            A server that enables AI assistants like Claude to safely run Python code and access websites, processing data for better AI understanding while providing helpful error messages.
            Last updated -
            2
            Python
            GPL 3.0
            • Linux
            • Apple

          View all related MCP servers

          ID: oo47xo8nj1