MCP PHPCS Server
Un servidor MCP que ejecuta PHP_CodeSniffer (phpcs) y PHP Code Beautifier and Fixer (phpcbf) — verifica código PHP contra un estándar de codificación y corrige automáticamente las infracciones directamente desde tu cliente MCP.
Documentación
MCP PHPCS Server
Un servidor de Model Context Protocol que integra PHP_CodeSniffer en tu flujo de trabajo de IA — analiza PHP según tu estándar de codificación y corrige automáticamente las violaciones, directamente desde cualquier cliente MCP.
Implementado en PHP puro sin dependencias de Composer. Colócalo en cualquier proyecto o ejecútalo de forma independiente — habla JSON-RPC 2.0 sobre stdio y funciona con Claude Desktop, Claude Code, Cursor y cualquier otro cliente compatible con MCP.
Herramientas
| Herramienta | Descripción |
|---|---|
phpcs_check | Ejecuta PHP_CodeSniffer sobre un archivo o directorio y devuelve un informe legible de las violaciones. |
phpcbf_fix | Ejecuta PHP Code Beautifier and Fixer (phpcbf) para corregir automáticamente las violaciones corregibles. |
Ambas herramientas requieren un único path (archivo/directorio absoluto o relativo al proyecto).
Requisitos
- PHP 8.1+
- Binarios
phpcsyphpcbfdisponibles (a través de PHP_CodeSniffer, por ejemplo, elvendor/binde un proyecto o una instalación global)
Inicio rápido
-
Clona el repositorio (o cópialo en tu proyecto):
git clone https://github.com/larspohlmann/mcp-phpcs-server.git -
Haz ejecutable el punto de entrada:
chmod +x mcp-phpcs-server/bin/mcp-phpcs -
Regístralo en tu cliente MCP (ver más abajo).
Configuración
Configura mediante variables de entorno o config/config.json. Las variables de entorno tienen prioridad.
| Variable | Clave config.json | Descripción | Predeterminado |
|---|---|---|---|
MCP_PHPCS_PATH | phpcsPath | Ruta al binario phpcs | phpcs en PATH |
MCP_PHPCBF_PATH | phpcbfPath | Ruta al binario phpcbf | phpcbf en PATH |
MCP_PHPCS_RULESET | rulesetPath | Ruta a un conjunto de reglas de estándar de codificación | auto-descubierto |
Si no se proporciona un conjunto de reglas, el servidor busca hacia arriba desde el directorio de trabajo actual uno de phpcs.xml, phpcs.xml.dist o ruleset.xml.
Configuración del cliente
Claude Desktop / Claude Code
Añade el servidor a tu configuración de MCP:
{
"mcpServers": {
"phpcs": {
"command": "/absolute/path/to/mcp-phpcs-server/bin/mcp-phpcs",
"env": {
"MCP_PHPCS_PATH": "/usr/local/bin/phpcs",
"MCP_PHPCBF_PATH": "/usr/local/bin/phpcbf",
"MCP_PHPCS_RULESET": "/path/to/your/phpcs.xml"
}
}
}
}
Luego pide a tu asistente algo como "Ejecuta phpcs en src/Service/UserService.php y corrige lo que puedas."
Ejemplo de llamada a herramienta
{
"name": "phpcs_check",
"arguments": { "path": "src/Service/UserService.php" }
}
Arquitectura
El servidor sigue un diseño ligero de Domain-Driven Design:
src/Domain— contratos de herramientas y objetos de valor de resultadossrc/Application— servidor MCP JSON-RPC y registro de herramientassrc/Infrastructure— ejecutor de procesos, configuración, descubrimiento de reglas, implementaciones de herramientasbin/mcp-phpcs— punto de entrada stdio
Implementa los métodos MCP initialize, tools/list y tools/call.
Notas
- STDOUT transporta solo mensajes JSON-RPC; todos los registros van a STDERR.
- Un código de salida distinto de cero de
phpcssignifica que se encontraron violaciones — se informa como hallazgos, no se trata como un error fatal.