Sheriff

io.github.ryansmith4由 GitHub 帳號 ryansmith4 發布v1.0.2更新於 Oct 24, 2026

MCP server for fixing static analysis issues from SARIF reports with AI agents

已驗證STDIO僅桌面開發者工具安全與監控

概覽

AI 產生的概覽

Sheriff 讓 AI 助理把 SARIF 報告中的靜態分析問題當成可分批、可續做的修復佇列來處理。

可以做什麼
Sheriff 只提供一個工具,內含七個動作:load、next、done、progress、summary、reopen 和 export。它讀取 Qodana、Semgrep、ESLint、CodeQL、SpotBugs、Bandit、Checkov、Trivy 或 SonarQube 等工具產生的 SARIF 報告,依檔案將問題分組,並一次把一個檔案的問題連同程式碼片段交給助理。進度會被保存,因此能跨上下文壓縮、重新啟動和切換助理繼續使用,也可用範圍篩選只處理特定規則、嚴重性或檔案樣式。
適用情境
當助理要修復龐大的靜態分析報告、而原始問題清單會塞爆上下文視窗時使用。它適合跨多個檔案反覆修復並標記完成的流程,以及進度需要在工作階段之間保留的情況。
執行需求
透過 stdio 在本機執行。需要 Java 21 或更新版本以執行一體化 JAR,或使用 Docker 執行已發佈的容器映像。必須有行程可存取的 SARIF 報告檔案。未宣告任何帳號、API 金鑰或環境變數。
安裝前請注意
此工具會讀取 SARIF 報告檔案並記錄修復狀態;原始碼仍由助理自行修改,請審查這些變更。發佈產物以 Sigstore 簽署,可在使用前驗證。不會要求任何憑證或付款。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Sheriff,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

Sheriff-MCP

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

Sheriff is an MCP server that helps AI agents efficiently fix static analysis issues from SARIF reports.

Documentation | Installation | Tool Reference


Why Sheriff?

AI agents struggle with large static analysis reports:

  • Context overload - 100+ issues overwhelm context windows
  • Lost progress - Work is lost on context compaction or session restart
  • Inefficient navigation - No batching means jumping between files repeatedly

Sheriff solves this by acting as a work queue manager:

  • Intelligent batching - Issues grouped by file for efficient fixing
  • Persistent progress - State survives compaction, restarts, and agent switches
  • Scope filtering - Focus on specific rules, severities, or file patterns
  • Compact responses - Minimal context usage with abbreviated field names

Supported Static Analysis Tools

Sheriff works with any tool that produces SARIF output:

ToolLanguageSARIF Command
QodanaJava/Kotlin/JS/Pythonqodana scan
SemgrepMulti-languagesemgrep --sarif -o results.sarif
ESLintJavaScript/TypeScripteslint --format @microsoft/sarif
CodeQLMulti-languageBuilt-in SARIF output
SpotBugsJavaspotbugs -sarif
BanditPythonbandit -f sarif
CheckovIaCcheckov -o sarif
TrivyContainer/IaCtrivy --format sarif
SonarQubeMulti-languageBuilt-in SARIF export

Quick Start

1. Install

JAR (All Platforms) — Requires Java 21+

Download sheriff-mcp-1.0.2-all.jar from Releases.

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

Clients that support the MCP Registry can install directly by name: io.github.ryansmith4/sheriff-mcp

See the Installation Guide for full details.

2. Configure Your MCP Client

Add Sheriff to your MCP client (Claude Code, Cursor, ChatGPT Desktop, etc.):

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

Or with Docker:

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

See the Agent Setup Guide for client-specific instructions and recommended agent instructions.

3. Use It

1. Run static analysis     →  qodana scan2. Load into Sheriff       →  sheriff load target="results.sarif"3. Get next file's issues  →  sheriff next4. 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 exposes a single sheriff tool with 7 actions: load, next, done, progress, summary, reopen, and export. See the Tool Reference for full documentation.


Example Session

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

Security

All release artifacts are signed with Sigstore for supply chain security.

Verify JAR:

bash
VERSION=1.0.2cosign 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

Verify Docker image:

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

See SECURITY.md for our security policy.


Contributing

Contributions welcome! See CONTRIBUTING.md for guidelines.

License

Apache License 2.0 - see LICENSE

來源:README.md,提交 d57af51

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v1.0.2最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分