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:
  • Class
    Description
    Built-in default RequestStateCodec: AES-256-GCM keyed by a pluggable KeyProvider.
    Static helper that builds an McpInputRequiredSignal from one or more typed ElicitRequests (MCP 2026-07-28 SEP-2322 elicitation, riding the Multi-Round-Trip Requests loop).
    Static helper that parses typed ElicitResults out of an McpMrtrResumeContext (MCP 2026-07-28 SEP-2322 elicitation, riding the Multi-Round-Trip Requests loop).
    Built-in default KeyProvider: a random AES-256 key with a random keyId, both fixed for the lifetime of the instance.
    A key paired with the identifier an operator chose for it, as returned by KeyProvider.currentKey() and resolved by KeyProvider.resolveKey(String).
    SPI for supplying the key(s) used to seal/unseal MCP MRTR requestState continuation tokens (see AeadRequestStateCodec).
    RFC 8707 audience enforcement — the confused-deputy defense pairing with the MCP client's resource indicator.
    Fluent, insertion-ordered builder for a WWW-Authenticate: Bearer ... challenge value (RFC 6750 §3, RFC 9728 §5.1) emitted by the 2026-07-28 MCP resource server on a 401.
    Binding-owned, immutable-after-construction cache configuration for a v2 McpRevision.
    A single ttlMs/cacheScope configuration pair applied to a v2 cacheable result.
    Mixin interface that exposes a 2026-07-28 MCP endpoint at POST /mcp on any Juneau REST resource.
    Thrown by a handler's ordinary call/get/read body to signal that it needs more input before it can complete (MCP 2026-07-28 SEP-2322 Multi-Round-Trip Requests).
    Bean always stashed into the BeanStore passed to a tools/call/prompts/get/resources/read handler (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 v2 McpRevision.
    Bean stashed into the BeanStore passed to a handler on a RESUME call, carrying the decoded continuation and the client's collected answers.
    The resolved MCP operation an McpOperationScopeResolver decides 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" a 2026-07-28 MCP endpoint behaves) — the single v2-only aggregate consolidating every per-binding tunable McpEndpoint/McpRestServlet previously exposed as six separate hooks: capabilities, instructions, cache, mrtr, subscriptions, and subscriptionBroker.
    Server-side representation of an RFC 9728 Protected Resource Metadata (PRM) document, emitted by the 2026-07-28 MCP resource server from its .well-known/oauth-protected-resource endpoint so a client can discover which authorization server(s) protect this MCP server.
    The dispatcher-owned payload sealed into an opaque requestState token by RequestStateCodec.
    Binding-owned OAuth 2.1 resource-server (RS) configuration for a 2026-07-28 MCP endpoint — the authorization-hardening baseline.
    Request-time glue for the OAuth 2.1 resource-server baseline — bearer validation, RFC 8707 audience enforcement, 401/403 challenge emission, and RFC 9728 Protected Resource Metadata construction — driven by an McpResourceServerConfig.
    Abstract MCP servlet bound to protocol revision 2026-07-28.
    McpRevision implementation for MCP revision 2026-07-28.
    Binding-owned MCP subscriptions/listen (SEP-2575) configuration for a v2 McpRevision.
    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 opaque requestState continuation token (MCP 2026-07-28 SEP-2322 Multi-Round-Trip Requests).
    Convenience base class exposing a 2026-07-28 MCP endpoint on a Spring Boot resource with full Spring dependency-injection support.
    Built-in, immutable, static-at-startup KeyProvider: an operator-supplied keyring of one or more AES keys, one of which is designated the current sealing key.
    Builder for StaticKeyProvider.