mcpField
M
Mcp Phpcs Server

Mcp Phpcs Server

ローカル
github.com/larspohlmann開発ツール116 週間前に更新

Mcp Phpcs Server について

PHP 開発者向けの純粋な PHP 製 MCP サーバーです。Composer の依存関係なしで、MCP 対応クライアントからコード検査と違反の自動修正を実行できます。

主な機能

  1. 01phpcs によるファイル・ディレクトリ検査
  2. 02phpcbf による違反の自動修正
  3. 03コーディングルールセットの自動検出
  4. 04実行ファイルとルールセットの設定

活用シーン

  1. 01PHP コーディング規約違反の確認
  2. 02PHP プロジェクトの問題修正
  3. 03MCP クライアントからの検査実行

MCP 対応

stdio 上の JSON-RPC 2.0 を介して、MCP クライアントに `phpcs_check` と `phpcbf_fix` ツールを提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

MCP PHPCS サーバー

Model Context Protocol サーバーで、PHP_CodeSniffer を AI コーディングワークフローに取り込みます。あらゆる MCP クライアントから、コーディング標準に照らして PHP をリントし、違反を自動修正できます。

PHP Dependencies License

Composer 依存関係ゼロの純粋な PHP で実装されています。任意のプロジェクトに追加するか、単独で実行できます。stdio 経由で JSON-RPC 2.0 を使用し、Claude Desktop、Claude Code、Cursor、その他の MCP 互換クライアントで動作します。

ツール

ツール説明
phpcs_checkファイルまたはディレクトリに対して PHP_CodeSniffer を実行し、違反を読みやすいレポートとして返します。
phpcbf_fixPHP Code Beautifier and Fixer(phpcbf)を実行し、修正可能な違反を自動修正します。

どちらのツールも、必須の path(絶対パスまたはプロジェクト相対のファイル/ディレクトリパス)を1つ受け取ります。

要件

  • PHP 8.1+
  • phpcs と phpcbf のバイナリが利用可能であること(PHP_CodeSniffer 経由。たとえば、プロジェクトの vendor/bin またはグローバルインストール)

クイックスタート

  1. リポジトリをクローンします(またはプロジェクトにコピーします)。

    git clone https://github.com/larspohlmann/mcp-phpcs-server.git
    
  2. エントリーポイントに実行権限を付与します。

    chmod +x mcp-phpcs-server/bin/mcp-phpcs
    
  3. MCP クライアントに登録します(下記を参照)。

設定

環境変数または config/config.json で設定します。環境変数が優先されます。

変数config.json のキー説明デフォルト
MCP_PHPCS_PATHphpcsPathphpcs バイナリへのパスPATH 上の phpcs
MCP_PHPCBF_PATHphpcbfPathphpcbf バイナリへのパスPATH 上の phpcbf
MCP_PHPCS_RULESETrulesetPathコーディング標準のルールセットへのパス自動検出

ルールセットが指定されていない場合、サーバーは現在の作業ディレクトリから上位に向かって、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 の終了コードがゼロ以外の場合は違反が見つかったことを意味します。致命的なエラーとしてではなく、検出結果として報告されます。

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。