00/MCP OAuth 2.1
The Model Context Protocol shipped with a bearer-token handshake. That was enough to demo a chatbot. It is not enough to run a tool server in front of real data. kavachOS ships the real thing: a spec-compliant OAuth 2.1 authorization server you can put in front of any MCP endpoint in one import.
01/The gap
What most ship
What kavachOS ships
02/What ships today
Every one of these is table stakes for a serious authorization server. Rolling them yourself is two engineering quarters of work. kavachOS ships them as defaults.
RFC 9728
Resource indicators
RFC 8707
Resource indicators for OAuth 2.0
RFC 8414
Authorization server metadata
RFC 7591
Dynamic client registration
PKCE S256
Proof key for code exchange
03/Discovery
RFC 8414 gives MCP clients a single well-known endpoint that tells them every authorization endpoint, every scope you support, every grant type, and every challenge method. Zero out-of-band config.
GET /.well-known/oauth-authorization-server
{
"issuer": "https://auth.kavachos.com",
"authorization_endpoint": ".../authorize",
"token_endpoint": ".../token",
"registration_endpoint": ".../register",
"scopes_supported": ["tools:list", "tools:call", "resources:read"],
"response_types_supported": ["code"],
"grant_types_supported": ["authorization_code", "refresh_token"],
"code_challenge_methods_supported": ["S256"]
}A token without audience binding, scopes, or discovery is a long password.
04/Clients
We implement the specs the MCP SIG wrote. Anything that speaks MCP speaks kavachOS.
One import between your tool server and any MCP client. OAuth 2.1 just works.