Package org.apache.juneau.rest.server.mcp.v20260728
package org.apache.juneau.rest.server.mcp.v20260728
MCP
2026-07-28 binding for juneau-rest-server-mcp.
Contains everything that knows about the 2026-07-28 wire format: the JSON-RPC method
table, the mapping between the revision-neutral model in
org.apache.juneau.rest.server.mcp and the wire beans in
org.apache.juneau.bean.mcp.v20260728, this revision's JSON-RPC error-code table, and the
two entry points a consumer binds against
(McpRestServlet for the
servlet-subclass path and
McpEndpoint for the mixin path).
See Also:
-
ClassDescriptionBuilt-in default
RequestStateCodec: AES-256-GCM keyed by a pluggableKeyProvider.Static helper that builds anMcpInputRequiredSignalfrom one or more typedElicitRequests (MCP2026-07-28SEP-2322 elicitation, riding the Multi-Round-Trip Requests loop).Static helper that parses typedElicitResults out of anMcpMrtrResumeContext(MCP2026-07-28SEP-2322 elicitation, riding the Multi-Round-Trip Requests loop).Built-in defaultKeyProvider: a random AES-256 key with a randomkeyId, both fixed for the lifetime of the instance.A key paired with the identifier an operator chose for it, as returned byKeyProvider.currentKey()and resolved byKeyProvider.resolveKey(String).SPI for supplying the key(s) used to seal/unseal MCP MRTRrequestStatecontinuation tokens (seeAeadRequestStateCodec).RFC 8707 audience enforcement — the confused-deputy defense pairing with the MCP client's resource indicator.Fluent, insertion-ordered builder for aWWW-Authenticate: Bearer ...challenge value (RFC 6750 §3, RFC 9728 §5.1) emitted by the2026-07-28MCP resource server on a401.Binding-owned, immutable-after-construction cache configuration for a v2McpRevision.A singlettlMs/cacheScopeconfiguration pair applied to a v2 cacheable result.Mixin interface that exposes a2026-07-28MCP endpoint atPOST /mcpon any Juneau REST resource.Thrown by a handler's ordinarycall/get/readbody to signal that it needs more input before it can complete (MCP2026-07-28SEP-2322 Multi-Round-Trip Requests).Bean always stashed into theBeanStorepassed to atools/call/prompts/get/resources/readhandler (both first-round and resume calls), exposing whether the original request's client advertised MRTR/elicitation support.Binding-owned MRTR (Multi-Round-Trip Request) configuration for a v2McpRevision.Bean stashed into theBeanStorepassed to a handler on a RESUME call, carrying the decoded continuation and the client's collected answers.The resolved MCP operation anMcpOperationScopeResolverdecides required scopes for (SEP-2350 per-operation step-up).Resolves the set of scopes required to invoke a specific MCP operation (SEP-2350 per-operation step-up enforcement).Binding-owned behavior configuration ("how" a2026-07-28MCP endpoint behaves) — the single v2-only aggregate consolidating every per-binding tunableMcpEndpoint/McpRestServletpreviously exposed as six separate hooks:capabilities,instructions,cache,mrtr,subscriptions, andsubscriptionBroker.Server-side representation of an RFC 9728 Protected Resource Metadata (PRM) document, emitted by the2026-07-28MCP resource server from its.well-known/oauth-protected-resourceendpoint so a client can discover which authorization server(s) protect this MCP server.The dispatcher-owned payload sealed into an opaquerequestStatetoken byRequestStateCodec.Binding-owned OAuth 2.1 resource-server (RS) configuration for a2026-07-28MCP endpoint — the authorization-hardening baseline.Request-time glue for the OAuth 2.1 resource-server baseline — bearer validation, RFC 8707 audience enforcement,401/403challenge emission, and RFC 9728 Protected Resource Metadata construction — driven by anMcpResourceServerConfig.Abstract MCP servlet bound to protocol revision2026-07-28.McpRevisionimplementation for MCP revision2026-07-28.Binding-owned MCPsubscriptions/listen(SEP-2575) configuration for a v2McpRevision.Pure, side-effect-free construction of the RFC 9728 / SEP-2351 well-known Protected Resource Metadata (PRM) URIs for a given canonical resource identifier.Pluggable SPI for sealing/unsealing the opaquerequestStatecontinuation token (MCP2026-07-28SEP-2322 Multi-Round-Trip Requests).Convenience base class exposing a2026-07-28MCP endpoint on a Spring Boot resource with full Spring dependency-injection support.Built-in, immutable, static-at-startupKeyProvider: an operator-supplied keyring of one or more AES keys, one of which is designated the current sealing key.Builder forStaticKeyProvider.