Most MCP servers fail their own OAuth spec.
authgent is an open-source MCP-OAuth scanner — and a full OAuth 2.1 server you can run if you want to fix what it finds. Reference implementation of draft-ietf-oauth-identity-chaining-14 and draft-ietf-oauth-transaction-tokens-08.
# Audit any MCP server's OAuth posture against 10 RFC checks.
$ pip install authgent-server
$ authgent-server lint https://your-mcp-server.example.com
# Or run a complete OAuth 2.1 server in 60 seconds.
$ authgent-server run
How major MCP servers grade today
| Server | Vendor | Grade | |||
|---|---|---|---|---|---|
| Loading… | |||||
Two products, one repo
authgent is unusual: it's a scanner you can use without installing anything, plus a full OAuth 2.1 server you can self-host if you want. Pick the side that fits your job.
Paste any MCP URL. Get an A–F grade against RFC 7591, 7636, 8414, 8707, 9207, 9449, 9728. Embed the badge in your README. Wire authgent-server lint into CI.
Run your own. Multi-hop nested-act chains, signed delegation receipts, DPoP supported (opt-in). Reference impl of two WG-track IETF drafts. Bridges to Auth0/Okta via id_token exchange.
What the scanner actually checks
Every check maps to a specific RFC clause or a documented attack class. No opinion-based scoring.
plain rejected.iss on /authorize.client_ids (Obsidian Jan 2026).response_type=token not advertised.Reference implementation of the IETF agent-OAuth stack
Every spec maps to a file:line in the source — see STANDARDS.md.
Compose with what you already have
Already running Auth0 or Keycloak for human SSO? Bridge into authgent for the agent layer via id_token exchange.