datascience-engineeringexperts/mcp-warden check
CI-first MCP supply-chain integrity gate. Re-captures a server's declared tool/resource/prompt surface and fails if it has drifted from the committed baseline (warden.lock). Emits a SARIF report and optionally uploads it to GitHub code scanning. Required permissions when upload-sarif is true: permissions: contents: read security-events: write Set upload-sarif: false for private repos without GitHub Advanced Security / code-scanning, or when running on a fork pull request (which lacks the required permission by default).
View on GitHubTrust Signals
- Scorecard Score
- not yet scored
- Maintenance Recency
- Activelast commit Jun 29, 2026
- License
- MIT
Pinned Snippet
uses: datascience-engineeringexperts/mcp-warden@f88c02d219671bd7eba5464ac15b33d2e5a1c148 # v1.0.1tags can be moved; commit SHAs can't. why a SHA?
Inputs
| name | description | required | default |
|---|---|---|---|
| server-cmd | MCP server launch command string (e.g. "node ./build/index.js" or "python server.py"). Must be a plain, whitespace-separated argv string — no quoted arguments and no shell metacharacters (; | & $ ` \ < > ( ) { } ' ") are permitted. The guard step rejects any of these characters before expansion occurs. | yes | — |
| lock | Path to the baseline lock file (relative to working-directory). | no | warden.lock |
| sarif | Path for the SARIF output file (relative to working-directory). | no | mcp-warden.sarif |
| upload-sarif | Upload the SARIF report to GitHub code scanning. Set false for repos without GitHub Advanced Security or when security-events: write permission is unavailable (e.g. fork pull requests). | no | true |
| category | Code-scanning category label. Use a distinct value per server when running mcp-warden against multiple servers in one repo. | no | mcp-warden |
| python-version | Python version to use. Must be >= 3.11. | no | 3.11 |
| timeout | Capture timeout in seconds passed to mcp-warden check --timeout. | no | 30 |
| working-directory | Working directory for all steps. Defaults to the repo root. | no | . |
Outputs
| name | description |
|---|---|
| exit-code | Raw exit code from mcp-warden check: 0 = clean, 1 = drift detected, 2 = error (capture/IO failure). Use this in downstream conditional steps. |
| sarif | Resolved absolute path to the written SARIF file (empty if check exited 2 before writing). |