Package dev.relism.flash.ext.mcp
Class McpExtension
java.lang.Object
dev.relism.flash.ext.mcp.McpExtension
- All Implemented Interfaces:
dev.relism.flash.extension.FlashExtension
MCP (Model Context Protocol) server extension. Streamable HTTP transport — a single
.
POST JSON-RPC endpoint, stateless in this revision (no session, no SSE stream; see
docs/transport.md) — dispatch precompiled at boot from classes annotated with
@Tool/@Resource/@Prompt under
invalid reference
McpConfig#toolsPackage(String)
// Standalone, no OAuth2
FlashApp.create(8080)
.install(new McpExtension(McpConfig.builder("my-mcp-server")
.toolsPackage("com.example.tools")
.build()))
.start();
// With flash-ext-oidc as the OAuth2 resource server — zero extra config: issuer, canonical
// resource identifier, RFC 8707 audience binding and RFC 9728 metadata are all derived from
// the installed OidcExtension.
FlashApp.create(8080)
.install(new OidcExtension(oidcConfig))
.install(new McpExtension(McpConfig.builder("my-mcp-server")
.toolsPackage("com.example.tools")
.security(McpSecurity.REQUIRED)
.build()))
.start();
One server per McpExtension instance — install multiple instances (distinct
rootPath, distinct toolsPackage) for multiple MCP servers on one app,
mirroring the OidcExtension multi-tenant pattern. See docs/security.md for
the full OAuth2 resolution rules.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidconfigure(dev.relism.flash.extension.FlashRegistrar<?> app, dev.relism.flash.extension.FlashContext ctx)
-
Constructor Details
-
McpExtension
-
-
Method Details
-
configure
public void configure(dev.relism.flash.extension.FlashRegistrar<?> app, dev.relism.flash.extension.FlashContext ctx) - Specified by:
configurein interfacedev.relism.flash.extension.FlashExtension
-