mcpField
P
pmd

pmd

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

pmd について

pmdは、主にJavaとApexを対象とする多言語対応の静的コード解析ツールです。組み込みルールに加えて独自ルールを作成でき、重複コード検出用のCPDも含みます。

主な機能

  1. 01一般的なコード上の問題を検出
  2. 02複数のプログラミング言語に対応
  3. 03400以上の組み込みルール
  4. 04JavaまたはXPathでルールを作成
  5. 05CPDによる重複コード検出

活用シーン

  1. 01JavaやApexのコード問題を確認
  2. 02コードベース内の重複箇所を特定
  3. 03プロジェクト用の独自解析ルールを作成

MCP 対応

入力では静的コード解析ツールとして説明されており、MCP機能についての記載はありません。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"roeiba-pmd": {
"command": "npx",
"args": [
"-y",
"@springsoftware/pmd-mcp"
]
}
}
}
起動コマンドnpx -y @springsoftware/pmd-mcp

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@springsoftware/pmd-mcp0.1.2

ツール

4

掲載時のツール一覧 · 3 週間前に更新

パラメーター型必須説明
pathstringはい解析するソースファイルまたはディレクトリのパス
excludesarrayいいえ解析から除外するファイルパターン
rulesetsarrayいいえ適用するルールセット(例:["rulesets/java/quickstart.xml"])。デフォルトは quickstart です。
language_versionstringいいえ言語バージョン(例:"java-21"、"ecmascript-ES2022")
minimum_prioritynumberいいえ報告する最低優先度(1=最高、5=最低)。デフォルト:すべて

詳細

PMD - ソースコードアナライザー

PMD Logo

Join the chat Build Snapshot Maven Central Reproducible Builds Coverage Status Codacy Badge Contributor Covenant Documentation (latest) Gurubase Docker Image Version

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 を解析する様子をご覧ください。

Demo

Maven と Gradle のほか、さまざまな IDE 向けのプラグインもあります。 ツール/連携機能をご覧ください。

ℹ️ サポートを受けるには?

🤝️ コントリビューション

プルリクエストを歓迎します。大きな変更の場合は、まず issue を作成して、変更内容について話し合ってください。

PMD の最新のソースコードはGitHubでご覧いただけます。ぜひフォークしてください!

詳細については、PMD への貢献方法をご覧ください。

ルールデザイナーはpmd/pmd-designerで開発されています。 開発者向けドキュメントについては、READMEをご覧ください。

💵️ 資金面での貢献者

資金面で貢献して、コミュニティの維持を支援してください。貢献する

✨️ コントリビューター

このプロジェクトはall-contributors仕様に準拠しています。 あらゆる種類の貢献を歓迎します!

完全な一覧については、クレジットをご覧ください。

📝️ ライセンス

BSD Style

コメント

MCP は初めてですか?

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

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