
Sheriff
io.github.ryansmith4Published by GitHub account ryansmith4v1.0.2Updated Oct 24, 2026
MCP server for fixing static analysis issues from SARIF reports with AI agents
Overview
Sheriff lets an AI assistant work through static analysis issues from SARIF reports as a batched, resumable fix queue.
- What you can do
- Sheriff exposes a single tool with seven actions: load, next, done, progress, summary, reopen, and export. It loads a SARIF report produced by tools such as Qodana, Semgrep, ESLint, CodeQL, SpotBugs, Bandit, Checkov, Trivy, or SonarQube, groups issues by file, and hands the assistant one file's issues at a time with code snippets. Progress is stored so it survives context compaction, restarts, and agent switches, and scope filters narrow work to specific rules, severities, or file patterns.
- When to use it
- Use it when an assistant is asked to fix a large static analysis report and the raw issue list would overwhelm the context window. It suits iterative fix-and-mark-done loops across many files, and cases where progress must persist between sessions.
- Requirements
- Runs locally over stdio. Either Java 21 or newer to run the all-in-one JAR, or Docker to run the published container image. A SARIF report file must exist and be reachable from the process. No accounts, API keys, or environment variables are declared.
Installation
In SourceWeft
- Open Sheriff in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
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:
Quick Start
1. Install
JAR (All Platforms) — Requires Java 21+
Download sheriff-mcp-1.0.2-all.jar from Releases.
Docker
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.):
Or with Docker:
See the Agent Setup Guide for client-specific instructions and recommended agent instructions.
3. Use It
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
Security
All release artifacts are signed with Sigstore for supply chain security.
Verify JAR:
Verify Docker image:
See SECURITY.md for our security policy.
Contributing
Contributions welcome! See CONTRIBUTING.md for guidelines.
License
Apache License 2.0 - see LICENSE
Source: README.md at commit d57af51
Tools
0Version history
1- v1.0.2LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts