mcpscore --help prints the same flags, grouped the same way as the tables below.
What to audit
Give exactly one of these.
Server stderr appears in the output prefixed with
server stderr:, except
when a .py target fails on a missing module: mcpscore then prints the
command to run instead, and -v shows the stderr. The
sessionless probes start the server again for their own requests; those
extra processes stay silent.
Output
Rules and CI gates
Smoke checks
These flags call the server’s tools. See smoke mode.Authentication
For URL targets. See authenticated servers.
Only an
Authorization credential marks the report authenticated: true.
Other headers are sent and make no such claim.
Environment variables
Exit codes
Without a gate flag or a configured
[gate], a completed audit exits 0
whatever the score. A failing gate names itself on the last line:
2 that says the URL was redirected means mcpscore follows a redirect only
within the endpoint’s origin and with the request unchanged. Audit the URL
the message names. Troubleshooting has the other causes.
Output streams
Human-readable output goes to stderr. With--json, stdout carries the
report and nothing else.
SARIF for GitHub code scanning
--sarif writes the failed rules in SARIF 2.1.0, the format GitHub’s
Security tab reads. Upload the file and each failed rule becomes a code
scanning alert. The upload workflow is in the
GitHub Action guide.
Example result
Example result
--token, --header, or --env NAME, never in a URL path or
a program name.
What’s next
Stability contract
Which flags, fields, and exit codes stay stable across releases
Troubleshooting
Exit codes, connection failures, and partial audits