MCP PHPCS 服务器(本地,无依赖)
一个纯PHP实现的最小模型上下文协议(MCP)服务器,提供了两个工具:
phpcs_check运行 PHP_CodeSniffer 并返回可读的报告。phpcbf_fix运行PHP代码美化器和修复器。
无 Composer 依赖项。设计为可复制到任何项目中。
结构(DDD)
src/Domain工具合同及结果src/ApplicationJSON-RPC MCP服务器和注册表src/Infrastructure进程运行者、配置、规则集发现、工具实现bin/mcp-phpcsSTDIO 入口点
配置
您可以通过环境变量进行配置,或者 config/config.json:
MCP_PHPCS_PATH– 路径至phpcs二进制(默认:phpcs(在PATH上)MCP_PHPCBF_PATH– 到……的路径phpcbf二进制(默认:phpcbf(在PATH上)MCP_PHPCS_RULESET– 规则集的路径(例如。phpcs.xml)
如果没有提供规则集,服务器将从当前工作目录向上搜索以下之一: phpcs.xml, phpcs.xml.dist, ruleset.xml。
跑
一次性标记脚本为可执行:
chmod +x mcp/phpcs-server/bin/mcp-phpcs然后,配置您的MCP客户端,使用以下命令通过标准输入输出启动服务器:
/absolute/path/to/mcp/phpcs-server/bin/mcp-phpcs示例:Claude 桌面配置
将此添加到您的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"
}
}
}
}服务器通过STDIN/STDOUT使用JSON-RPC 2.0协议,并实现了:
initializetools/listtools/call
工具
phpcs_check 翻译成中文是“PHP_CodeSniffer 检查”
输入模式:
{
"type": "object",
"properties": {
"path": {"type": "string"}
},
"required": ["path"]
}phpcbf修复
相同的输入模式 phpcs_check。
备注
- 输出到标准输出(STDOUT)的是严格的JSON-RPC消息。日志输出到标准错误(STDERR)。
- 非零退出代码来自
phpcs被视为违规(不一定是致命错误)。
