Quickstart

Run your first scan

Point AuthProbe at any MCP endpoint:

authprobe scan https://mcp.example.com/mcp

The output shows a funnel view of six protocol steps. Each step is marked PASS, FAIL, or SKIP:

Funnel
 [1] MCP probe (401 + WWW-Authenticate)      [✓] PASS
 [2] MCP initialize + tools/list             [X] FAIL
 [3] PRM fetch matrix                        [✓] PASS
 [4] Auth server metadata                    [✓] PASS
 [5] Token endpoint readiness                [-] SKIP
 [6] Dynamic client registration             [-] SKIP

Below the funnel, AuthProbe reports a primary finding with severity, evidence, and next steps.

Get RFC rationale

Add --explain to see what each spec requires at every step:

authprobe scan https://mcp.example.com/mcp --explain

Trace failures

Add --trace-failure to see the full HTTP request/response for failed steps:

authprobe scan https://mcp.example.com/mcp --explain --trace-failure

LLM-powered explanation

Provide an API key to get a detailed compliance analysis from an LLM:

export OPENAI_API_KEY=<key>
authprobe scan https://mcp.example.com/mcp --explain --trace-failure

Anthropic is also supported:

export ANTHROPIC_API_KEY=<key>
authprobe scan https://mcp.example.com/mcp --explain --trace-failure

Strict conformance checks

Enable strict RFC and MCP conformance checking:

authprobe scan https://mcp.example.com/mcp --rfc strict --mcp strict

Generate reports

Produce Markdown, JSON, or evidence-bundle outputs for sharing or CI:

authprobe scan https://mcp.example.com/mcp \
  --md report.md --json report.json --bundle evidence.zip

Stream JSON to jq:

authprobe scan https://mcp.example.com/mcp --json - | jq '.findings'

List MCP tools

Enumerate tools exposed by the server:

authprobe scan https://mcp.example.com/mcp --tool-list
authprobe scan https://mcp.example.com/mcp --tool-detail "my_tool_name"

Common flags

FlagDescription
-H "Header: value"Add a request header (repeatable)
--timeout <seconds>Request timeout (default: 8)
--rfc <level>RFC conformance: off, best-effort, strict
--mcp <level>MCP conformance: off, best-effort, strict
--insecureSkip TLS verification (self-signed certs)
--no-follow-redirectsStop at first response
--fail-on <severity>Exit code 2 if findings at/above: none, low, medium, high
-v / --verbosePrint request/response headers and bodies
--trace-failureInclude verbose output for failed steps
-e / --explainPrint RFC rationale for each step
--output-dir <dir>Write all outputs into a directory