mcpField
S
Sheriff

Sheriff

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

Sheriff について

Sheriffは、SARIF形式の静的解析結果をAIエージェント向けの永続的な作業キューに変換するMCPサーバーです。問題をファイルごとにまとめ、絞り込みや進捗管理、セッションをまたいだ作業再開に対応します。

主な機能

  1. 01SARIFレポートの読み込み
  2. 02ファイル単位で問題をまとめる
  3. 03ルール、重大度、パスで絞り込み
  4. 04進捗の保存と追跡
  5. 05問題の再開とエクスポート

活用シーン

  1. 01大量の解析レポートを順に処理
  2. 02ソースファイル単位で問題を修正
  3. 03エージェントの再起動後に作業を再開
  4. 04指定したルールの問題に絞って修正

MCP 対応

SARIFの問題を読み込み、確認、完了、追跡、再開、集計、エクスポートするアクションを備えた単一の `sheriff` MCPツールを公開します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"ryansmith4-sheriff": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/ryansmith4/sheriff-mcp:1.0.2"
]
}
}
}
起動コマンドdocker run -i --rm ghcr.io/ryansmith4/sheriff-mcp:1.0.2

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

パッケージ
ocighcr.io/ryansmith4/sheriff-mcp:1.0.2

ツール

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

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

詳細

Sheriff-MCP

CI OpenSSF Scorecard OpenSSF Best Practices License Java 21+ GitHub release

Sheriff は、AI エージェントが SARIF レポートの静的解析の問題を効率的に修正できるよう支援する MCP サーバーです。

ドキュメント | インストール | ツールリファレンス


Sheriff が選ばれる理由

AI エージェントは、大規模な静的解析レポートの処理に苦労します。

  • コンテキストの過負荷 - 100 件を超える問題がコンテキストウィンドウを圧迫します
  • 進捗の消失 - コンテキストの圧縮やセッションの再起動で作業が失われます
  • 非効率な移動 - バッチ処理がないため、ファイル間を何度も行き来する必要があります

Sheriff は、作業キューマネージャーとしてこれらの問題を解決します。

  • インテリジェントなバッチ処理 - 効率よく修正できるよう、問題をファイルごとにグループ化します
  • 進捗の永続化 - 状態は、コンテキストの圧縮や再起動、エージェントの切り替え後も保持されます
  • 対象範囲のフィルタリング - 特定のルール、重要度、ファイルパターンに絞り込めます
  • 簡潔なレスポンス - フィールド名を省略し、コンテキストの使用量を最小限に抑えます
対応している静的解析ツール

Sheriff は、SARIF 形式で出力するあらゆるツールに対応しています。

ツール言語SARIF コマンド
QodanaJava/Kotlin/JS/Pythonqodana scan
Semgrepマルチ言語semgrep --sarif -o results.sarif
ESLintJavaScript/TypeScripteslint --format @microsoft/sarif
CodeQLマルチ言語SARIF 出力を標準搭載
SpotBugsJavaspotbugs -sarif
BanditPythonbandit -f sarif
CheckovIaCcheckov -o sarif
Trivyコンテナ/IaCtrivy --format sarif
SonarQubeマルチ言語SARIF エクスポートを標準搭載

クイックスタート

1. インストール
JAR(全プラットフォーム) — Java 21+ が必要です

Releases から sheriff-mcp-1.0.2-all.jar をダウンロードします。

Docker
docker pull ghcr.io/ryansmith4/sheriff-mcp:latest
MCP Registry

MCP Registry に対応しているクライアントは、名前を指定して直接インストールできます:io.github.ryansmith4/sheriff-mcp

詳しくは、インストールガイドをご覧ください。

2. MCP クライアントを設定する

Sheriff を MCP クライアント(Claude Code、Cursor、ChatGPT Desktop など)に追加します。

{
  "mcpServers": {
    "sheriff": {
      "command": "java",
      "args": ["-jar", "/path/to/sheriff-mcp-1.0.2-all.jar", "start"]
    }
  }
}

Docker を使用する場合:

{
  "mcpServers": {
    "sheriff": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "-v", ".:/data", "ghcr.io/ryansmith4/sheriff-mcp:latest"]
    }
  }
}

クライアント別の手順と推奨されるエージェント向け指示については、エージェント設定ガイドをご覧ください。

3. 使用する
1. Run static analysis     →  qodana scan
2. Load into Sheriff       →  sheriff load target="results.sarif"
3. Get next file's issues  →  sheriff next
4. Fix all issues in file  →  [edit the code]
5. Mark as done            →  sheriff done fps=[...] status="fixed"
6. Repeat 3-5              →  until remaining = 0

Sheriff は、load、next、done、progress、summary、reopen、export の 7 つのアクションを備えた単一の sheriff ツールを公開します。詳しくは、ツールリファレンスをご覧ください。


使用例

User: "Fix all ConstantValue issues in my codebase"

Agent: sheriff load target="build/qodana/qodana.sarif.json"
       → 136 total issues, 22 ConstantValue, 15 unused...

Agent: sheriff next scope={rule: "ConstantValue"}
       → 3 issues in Service.java with code snippets

Agent: [reads Service.java, fixes all 3 issues]

Agent: sheriff done fps=["88d32cab35478753", "ab1c2d3e12345678", "f9e8d7c6a1b2c3d4"] status="fixed"
       → 3 marked fixed, 19 remaining

       ... continues until remaining = 0

セキュリティ

サプライチェーンのセキュリティ確保のため、すべてのリリース成果物は Sigstore で署名されています。

JAR の検証:

VERSION=1.0.2
cosign verify-blob \
  --signature sheriff-mcp-${VERSION}-all.jar.sig \
  --certificate sheriff-mcp-${VERSION}-all.jar.pem \
  --certificate-identity-regexp "https://github.com/ryansmith4/sheriff-mcp" \
  --certificate-oidc-issuer "https://token.actions.githubusercontent.com" \
  sheriff-mcp-${VERSION}-all.jar

Docker イメージの検証:

cosign verify ghcr.io/ryansmith4/sheriff-mcp:latest \
  --certificate-oidc-issuer=https://token.actions.githubusercontent.com \
  --certificate-identity-regexp="github.com/ryansmith4/sheriff-mcp"

セキュリティポリシーについては、SECURITY.md をご覧ください。


コントリビューション

コントリビューションを歓迎します!ガイドラインについては、CONTRIBUTING.md をご覧ください。

ライセンス

Apache License 2.0 — 詳細は LICENSE をご覧ください。

コメント

MCP は初めてですか?

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

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