使用说明
MCP PHPCS服务器
A. 模型上下文协议 服务器带来 PHP_CodeSniffer 直接从任何MCP客户端将PHP与您的编码标准进行对比,并自动修复违规行为。
实施于 纯PHP,无Composer依赖。将其放入任何项目中或独立运行——它通过stdio使用JSON-RPC 2.0,并与Claude Desktop、Claude Code、Cursor和任何其他MCP兼容客户端配合使用。
工具
| 工具 | 说明 |
|---|---|
phpcs_check |
跑步 PHP_CodeSniffer 并返回可读的违规报告。 |
phpcbf_fix |
运行PHP代码美化和修复程序(phpcbf)自动修复可修复的违规行为。 |
这两种工具都需要一个 path (绝对或项目相对文件/目录)。
需求
- PHP 8.1+
phpcs和phpcbf二进制文件可用(通过 PHP_CodeSniffer例如,一个项目的vendor/bin或全局安装)
快速启动
-
克隆存储库(或将其复制到您的项目中):
git clone https://github.com/larspohlmann/mcp-phpcs-server.git -
使入口点可执行:
chmod +x mcp-phpcs-server/bin/mcp-phpcs -
向您的MCP客户端注册(见下文)。
配置
通过环境变量进行配置 或 config/config.json。环境变量优先。
| 变量 | config.json key |
描述 | 默认值 |
|---|---|---|---|
MCP_PHPCS_PATH |
phpcsPath |
通往 phpcs 二进制 |
phpcs 上 PATH |
MCP_PHPCBF_PATH |
phpcbfPath |
通往 phpcbf 二进制 |
phpcbf 上 PATH |
MCP_PHPCS_RULESET |
rulesetPath |
编码标准规则集的路径 | 自动发现 |
如果没有提供规则集,服务器将从当前工作目录向上搜索以下内容之一 phpcs.xml, phpcs.xml.dist,或 ruleset.xml.
客户端设置
克劳德桌面/克劳德代码
将服务器添加到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"
}
}
}
}
然后问你的助理类似的问题 “在src/Service/UserService.php上运行phpcs,并尽可能修复。”
示例工具调用
{
"name": "phpcs_check",
"arguments": { "path": "src/Service/UserService.php" }
}
建筑学
服务器遵循轻量级的域驱动设计布局:
src/Domain--工具契约与结果价值对象src/Application--JSON-RPC MCP服务器和工具注册表src/Infrastructure--流程运行器、配置、规则集发现、工具实现bin/mcp-phpcs-stdio入口点
它实现了MCP方法 initialize, tools/list,以及 tools/call.
备注
- STDOUT携带 仅 JSON-RPC消息;所有日志都转到STDERR。
- 来自的非零退出代码
phpcs意味着发现了违规行为——它被报告为发现,而不是被视为致命错误。