PHP MCP PHPTan
用于PHPTan静态分析与Claude Code和Gemini CLI等LLM代理集成的模型上下文协议(MCP)服务器。
概述
此MCP服务器使AI助手能够运行PHPTan静态分析,并接收结构化的语义JSON响应,而不是原始文本输出。这使得人工智能不仅可以理解失败的原因,还可以理解失败原因和失败背景。
特性
- MCP集成:遵循MCP标准的JSON-RPC 2.0兼容服务器
- PHPTan集成:执行PHPTan
prettyJson最大信息格式 - 结构化输出:将PHPTan结果转换为语义MCP响应格式
- 错误处理:正确的JSON-RPC错误代码和有意义的错误消息
- Docker支持:使用官方PHP 8.4 CLI容器的开发环境
安装
使用Docker(推荐)
- 克隆存储库:
git clone
cd php-mcp-phpstan- 启动开发环境:
docker-compose up -d- 安装依赖项:
docker-compose exec php composer install本地安装
- 确保已安装PHP 8.2+
- 安装依赖项:
composer install用法
作为MCP服务器
启动MCP服务器:
./bin/server.php在IDE中(例如VS代码)
添加到您的 .vscode/mcp.json:
{
"servers": {
"phpstan": {
"type": "stdio",
"command": "/path/to/php-mcp-phpstan/bin/server.php"
}
}
}Docker使用
# Run PHPStan analysis
docker-compose exec php vendor/bin/phpstan analyse src/
# Run tests
docker-compose exec php composer test
# Fix code style
docker-compose exec php composer cs-fixMCP工具
服务器提供了一个工具:
phpstan_analyze
在指定路径上运行PHPTan静态分析。
参数:
path(字符串,必填):要分析的文件或目录路径
响应格式:
{
"files": [
{
"file": "src/Example.php",
"errors": [
{
"line": 42,
"message": "Property is never read, only written.",
"identifier": "property.onlyWritten",
"severity": "error"
}
]
}
],
"totalErrors": 1
}发展
运行测试
# Local
composer test
# Docker
docker-compose exec php composer test代码质量
# PHPStan analysis
composer phpstan
# Code style fixing
composer cs-fix
# Code style check
composer cs-check技术栈
- PHP程序:8.2+(支持8.2、8.3、8.4)
- MCP库:php-mcp/server
- 静态分析:PHPTan 2.x
- 测试:PHPUnit 11.x
- 代码的风格:PHP CS Fixer(原则标准)
- 发展:Docker+Docker组合
建筑
php-mcp-phpstan/
├── src/
│ ├── McpServer.php # Main MCP server class
│ ├── PhpStanRunner.php # PHPStan execution
│ └── ResponseMapper.php # JSON response mapping
├── bin/
│ └── server.php # MCP server entry point
├── tests/ # PHPUnit tests
└── docker-compose.yml # Development environment贡献
- 分叉存储库
- 创建要素分支
- 进行更改
- 运行测试和代码质量检查
- 提交拉取请求
许可证
MIT许可证-有关详细信息,请参阅许可证文件
