About Mcp Phpcs Server
A pure-PHP MCP server for PHP_CodeSniffer, aimed at PHP developers using MCP-compatible clients. It offers code checks and automatic fixes without Composer dependencies.
Key features
- 01Check files or directories with phpcs
- 02Auto-fix violations with phpcbf
- 03Discover coding rulesets
- 04Configure binary paths and rulesets
Use cases
- 01Review PHP coding-standard violations
- 02Fix issues in a PHP project
- 03Run checks from an MCP client
MCP support
Exposes `phpcs_check` and `phpcbf_fix` tools to MCP clients over JSON-RPC 2.0 on stdio.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEMCP PHPCS Server
A Model Context Protocol server that brings PHP_CodeSniffer into your AI coding workflow — lint PHP against your coding standard and auto-fix violations, straight from any MCP client.
Implemented in pure PHP with zero Composer dependencies. Drop it into any project or run it standalone — it speaks JSON-RPC 2.0 over stdio and works with Claude Desktop, Claude Code, Cursor, and any other MCP-compatible client.
Tools
| Tool | Description |
|---|---|
phpcs_check | Runs PHP_CodeSniffer against a file or directory and returns a readable report of violations. |
phpcbf_fix | Runs PHP Code Beautifier and Fixer (phpcbf) to automatically fix fixable violations. |
Both tools take a single required path (absolute or project-relative file/directory).
Requirements
- PHP 8.1+
phpcsandphpcbfbinaries available (via PHP_CodeSniffer, e.g. a project'svendor/binor a global install)
Quick start
-
Clone the repository (or copy it into your project):
git clone https://github.com/larspohlmann/mcp-phpcs-server.git -
Make the entrypoint executable:
chmod +x mcp-phpcs-server/bin/mcp-phpcs -
Register it with your MCP client (see below).
Configuration
Configure via environment variables or config/config.json. Environment variables take precedence.
| Variable | config.json key | Description | Default |
|---|---|---|---|
MCP_PHPCS_PATH | phpcsPath | Path to the phpcs binary | phpcs on PATH |
MCP_PHPCBF_PATH | phpcbfPath | Path to the phpcbf binary | phpcbf on PATH |
MCP_PHPCS_RULESET | rulesetPath | Path to a coding-standard ruleset | auto-discovered |
If no ruleset is provided, the server searches upward from the current working directory for one of phpcs.xml, phpcs.xml.dist, or ruleset.xml.
Client setup
Claude Desktop / Claude Code
Add the server to your MCP config:
{
"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"
}
}
}
}
Then ask your assistant something like "Run phpcs on src/Service/UserService.php and fix what you can."
Example tool call
{
"name": "phpcs_check",
"arguments": { "path": "src/Service/UserService.php" }
}
Architecture
The server follows a light Domain-Driven Design layout:
src/Domain— tool contracts and result value objectssrc/Application— JSON-RPC MCP server and tool registrysrc/Infrastructure— process runner, config, ruleset discovery, tool implementationsbin/mcp-phpcs— stdio entrypoint
It implements the MCP methods initialize, tools/list, and tools/call.
Notes
- STDOUT carries only JSON-RPC messages; all logs go to STDERR.
- A non-zero exit code from
phpcsmeans violations were found — it is reported as findings, not treated as a fatal error.
License
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.