关于 Mcp Phpcs Server
这是一款面向 PHP 开发者的纯 PHP MCP 服务,可供兼容 MCP 的客户端调用。它无需 Composer 依赖,即可检查代码并自动修复违规项。
主要功能
- 01用 phpcs 检查文件或目录
- 02用 phpcbf 自动修复违规项
- 03自动发现编码规则集
- 04配置二进制文件路径和规则集
适用场景
- 01检查 PHP 编码规范违规项
- 02修复 PHP 项目中的问题
- 03从 MCP 客户端运行检查
MCP 相关
通过 stdio 上的 JSON-RPC 2.0 向 MCP 客户端提供 `phpcs_check` 和 `phpcbf_fix` 工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
MCP PHPCS Server
一个 Model Context Protocol 服务,可将 PHP_CodeSniffer 集成到你的 AI 编码工作流中——通过任意 MCP 客户端,按照你的编码规范检查 PHP 代码并自动修复违规项。
使用 纯 PHP 实现,不依赖任何 Composer 依赖项。可将其放入任意项目中,也可独立运行——它通过 stdio 使用 JSON-RPC 2.0 通信,并兼容 Claude Desktop、Claude Code、Cursor 以及其他任何兼容 MCP 的客户端。
工具
| 工具 | 描述 |
|---|---|
phpcs_check | 使用 PHP_CodeSniffer 检查文件或目录,并返回易读的违规报告。 |
phpcbf_fix | 运行 PHP Code Beautifier and Fixer(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 键 | 描述 | 默认值 |
|---|---|---|---|
MCP_PHPCS_PATH | phpcsPath | phpcs 可执行文件的路径 | PATH 中的 phpcs |
MCP_PHPCBF_PATH | phpcbfPath | phpcbf 可执行文件的路径 | PATH 中的 phpcbf |
MCP_PHPCS_RULESET | rulesetPath | 编码规范规则集的路径 | 自动发现 |
如果未提供规则集,服务会从当前工作目录开始向上查找 phpcs.xml、phpcs.xml.dist 或 ruleset.xml。
客户端设置
Claude Desktop / Claude Code
将服务添加到你的 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"
}
}
}
}
然后可以向助手提出类似这样的请求:“运行 phpcs 检查 src/Service/UserService.php,并尽可能修复问题。”
工具调用示例
{
"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返回非零退出码表示发现了违规项——这些问题会作为发现结果报告,不会被视为致命错误。
许可证
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。