API + MCP
The simplest target. It swaps an ID-JAG from any issuer that publishes a JWKS for an access token, then serves a message-of-the-day API and a one-tool MCP server.
Use it for A first end-to-end test, with nothing to register.
API
A multi-tenant todo list with its own authorization server and API. Several tenants can share one IdP issuer, and the token endpoint tells them apart by the ID-JAG's aud_tenant claim. Each tenant signs in over OpenID Connect or SAML.
Use it for The multi-tenant case: two tenants on the same IdP issuer with different client IDs.
API + MCP
A team wiki of Markdown workspaces with page history, a REST API and an MCP server. Access is scoped wiki:read, wiki:write and wiki:delete, checked per API call and per MCP tool.
Use it for A richer API and MCP server, including scopes narrowed at the token request.
API + MCP
One part of xaa.dev,
an independent playground from Okta with a client, an identity provider and a resource app
of its own.
The resource side of xaa.dev: an authorization server that validates ID-JAGs and issues scoped access tokens, in front of a REST API and an MCP server. It also tests your own resource app, whether it runs its own authorization server or not.
Use it for Checking a resource app or MCP server you are building against a known-good IdP and client.
MCP
An on-call MCP server that issues no tokens of its own and only verifies yours: bring an Okta custom authorization server or an Auth0 tenant, and it reads the scopes and roles out of the access tokens they mint. Four tools, two of which need a scope a client will not have on its first token, and one a role; all four are listed whatever the token says, and a refusal names the scope or role that is missing. It takes access tokens, not ID-JAGs.
Use it for MCP client authorization and step-up. Each account gets its own MCP endpoint, and signing up needs no username or password: a passkey or a recovery URL gets you back in.