Mcp Phpcs Server について
PHP 開発者向けの純粋な PHP 製 MCP サーバーです。Composer の依存関係なしで、MCP 対応クライアントからコード検査と違反の自動修正を実行できます。
主な機能
- 01phpcs によるファイル・ディレクトリ検査
- 02phpcbf による違反の自動修正
- 03コーディングルールセットの自動検出
- 04実行ファイルとルールセットの設定
活用シーン
- 01PHP コーディング規約違反の確認
- 02PHP プロジェクトの問題修正
- 03MCP クライアントからの検査実行
MCP 対応
stdio 上の JSON-RPC 2.0 を介して、MCP クライアントに `phpcs_check` と `phpcbf_fix` ツールを提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP PHPCS サーバー
Model Context Protocol サーバーで、PHP_CodeSniffer を AI コーディングワークフローに取り込みます。あらゆる MCP クライアントから、コーディング標準に照らして PHP をリントし、違反を自動修正できます。
Composer 依存関係ゼロの純粋な PHP で実装されています。任意のプロジェクトに追加するか、単独で実行できます。stdio 経由で JSON-RPC 2.0 を使用し、Claude Desktop、Claude Code、Cursor、その他の MCP 互換クライアントで動作します。
ツール
| ツール | 説明 |
|---|---|
phpcs_check | ファイルまたはディレクトリに対して PHP_CodeSniffer を実行し、違反を読みやすいレポートとして返します。 |
phpcbf_fix | PHP Code Beautifier and Fixer(phpcbf)を実行し、修正可能な違反を自動修正します。 |
どちらのツールも、必須の path(絶対パスまたはプロジェクト相対のファイル/ディレクトリパス)を1つ受け取ります。
要件
- 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"
}
}
}
}
続いて、アシスタントに 「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の終了コードがゼロ以外の場合は違反が見つかったことを意味します。致命的なエラーとしてではなく、検出結果として報告されます。
ライセンス
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。