pmd について
pmdは、主にJavaとApexを対象とする多言語対応の静的コード解析ツールです。組み込みルールに加えて独自ルールを作成でき、重複コード検出用のCPDも含みます。
主な機能
- 01一般的なコード上の問題を検出
- 02複数のプログラミング言語に対応
- 03400以上の組み込みルール
- 04JavaまたはXPathでルールを作成
- 05CPDによる重複コード検出
活用シーン
- 01JavaやApexのコード問題を確認
- 02コードベース内の重複箇所を特定
- 03プロジェクト用の独自解析ルールを作成
MCP 対応
入力では静的コード解析ツールとして説明されており、MCP機能についての記載はありません。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
4掲載時のツール一覧 · 3 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| path | string | はい | 解析するソースファイルまたはディレクトリのパス |
| excludes | array | いいえ | 解析から除外するファイルパターン |
| rulesets | array | いいえ | 適用するルールセット(例:["rulesets/java/quickstart.xml"])。デフォルトは quickstart です。 |
| language_version | string | いいえ | 言語バージョン(例:"java-21"、"ecmascript-ES2022") |
| minimum_priority | number | いいえ | 報告する最低優先度(1=最高、5=最低)。デフォルト:すべて |
詳細
PMD - ソースコードアナライザー

PMDは、拡張可能な多言語対応の静的コードアナライザーです。未使用変数、空の catch ブロック、不要なオブジェクト生成など、よくあるプログラミング上の問題を検出します。主にJava と Apexを対象としていますが、ほかに16言語をサポートしています。400以上の組み込みルールが付属しています。カスタムルールによる拡張も可能です。JavaCC と Antlr を使用してソースファイルを抽象構文木(AST)に解析し、それらに対してルールを実行して違反を検出します。ルールは Java または XPath クエリを使用して記述できます。
現在、PMD は Java、JavaScript、Salesforce.com Apex と Visualforce、 Kotlin、Swift、Modelica、PL/SQL、Apache Velocity、JSP、WSDL、Maven POM、HTML、XML、XSL をサポートしています。 Scala もサポートされていますが、現在利用できる Scala ルールはありません。
また、コピペ検出ツールの CPD も含まれています。CPD は、Coco、C/C++、C#、CSS、Dart、Fortran、Gherkin、Go、Groovy、HTML、Java、JavaScript、JSP、Julia、Kotlin、 Lua、Matlab、Modelica、Objective-C、Perl、PHP、PL/SQL、Python、Ruby、Salesforce.com Apex と Visualforce、Scala、Swift、T-SQL、Typescript、Apache Velocity、WSDL、XML、XSL の重複コードを検出します。
🚀️ インストールと使用方法
リリースから最新のバイナリ ZIP をダウンロードし、 任意の場所に展開してください。
bin/pmd check または bin\pmd.bat check を実行してください。
はじめにも参照してください。
デモ:
PMD が openjdk を解析する様子をご覧ください。

Maven と Gradle のほか、さまざまな IDE 向けのプラグインもあります。 ツール/連携機能をご覧ください。
ℹ️ サポートを受けるには?
- 使い方を知りたい場合 -- StackOverflow またはディスカッションで質問してください。
- このエラーの原因を知りたい場合 -- StackOverflow またはディスカッションで質問してください。
- このエラーはバグだと確信している場合 -- issueを登録してください。
- アイデア、要望、質問がある場合 -- 新しいディスカッションを作成してください。
- 簡単な質問がある場合 -- Gitter ルーム またはGurubase の PMD Guruで質問してください。
- ドキュメントはどこにありますか? -- https://docs.pmd-code.org/latest/
🤝️ コントリビューション
プルリクエストを歓迎します。大きな変更の場合は、まず issue を作成して、変更内容について話し合ってください。
PMD の最新のソースコードはGitHubでご覧いただけます。ぜひフォークしてください!
詳細については、PMD への貢献方法をご覧ください。
ルールデザイナーはpmd/pmd-designerで開発されています。 開発者向けドキュメントについては、READMEをご覧ください。
💵️ 資金面での貢献者
資金面で貢献して、コミュニティの維持を支援してください。貢献する
✨️ コントリビューター
このプロジェクトはall-contributors仕様に準拠しています。 あらゆる種類の貢献を歓迎します!
完全な一覧については、クレジットをご覧ください。
📝️ ライセンス
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。