EKO3-2: MCP projektů s OAuth přes OnPass

Agenti (Elaris, OnChat, Claude) se k MCP serveru projektu připojí přihlášením přes OnPass, ne statickým klíčem.

Autorizační server (OnPass, hosting McpAuthorization, wave 13) už umí RFC 8414, RFC 8707 resource, DCR s initial tokenem

a introspekci. Tento kit doplňuje stranu resource serveru v projektu:

1. Metadata (RFC 9728): GET /.well-known/oauth-protected-resource/mcp vrací

ProtectedResourceMetadata::document('https://<projekt>/mcp', 'https://onpass.cz', [scopy]).

2. Ověření (BearerGuard): každý požadavek na /mcp → authenticate($request->header('Authorization'), $tenant).

Výsledné McpContext (sub, tenant, scopy) se předá McpServer::handle(), a Tool se scope se tak zpřístupní jen s udělením.

3. Introspekce (Introspector): RFC 7662 vlastním důvěrným klientem MCP serveru (jen ten smí introspektovat tokeny svého

resource). Jakákoli chyba = neaktivní (fail closed). Tajemství klienta přes SecretResolver projektu, nikdy v repozitáři.

Registrace resource v OnPass: staff založí řádek onhost_id_mcp_resources (URI, scopy, serverový klient). Za příznakem

onhost.identity.oidc.mcp.enabled (výchozí off) v OnPass a za vlastním příznakem projektu (např. features.mcp_oauth).

Katalog brány (list_services) vrací links.mcp služeb; klient z něj zjistí metadata podle bodu 1.