Current Limitations
Know the deliberate boundaries of the current adapter.
The adapter intentionally keeps its dependency surface and transport behavior small.
Not implemented
- general-purpose stateful MCP sessions outside the legacy server-variants experiment
- resumable SSE streams
- deprecated modern logging configuration
- inferred multipart or file uploads
- automatic model-controlled credential or filesystem access
- automatic skill activation, execution, filesystem materialization, or network retrieval
- Filesystems extension methods: its reviewed repository has no implementable wire contract
Transport scope
Modern MCP uses POST-only request and subscription streams. Legacy GET SSE normally provides a minimal connected stream. The server-variants experiment retains principal-bound session state, variant-bound resource subscriptions, and open SSE controllers. resources/unsubscribe and DELETE close those resources.
MRTR transports elicitation, sampling, and roots requests inside input-required results. The adapter validates and returns them. The host owns approval, execution, and retry behavior.
Route discovery
Route inspection uses Elysia's current public app.routes and router history shapes. That compatibility boundary is isolated in src/route-inspector.ts so future Elysia changes do not spread through the adapter.
Framework dependency
The package does not depend on the official MCP TypeScript SDK. It implements the required JSON-RPC surface directly to keep transport abstractions thin and avoid translating TypeBox schemas through Zod.
This distinction matters for migration. SDK extension types describe a client or host API, while the adapter implements wire methods, HTTP headers, and JSON records. Use the minimal protocol clients in examples/experimental when an SDK or host does not expose a draft method. Do not infer modern support from the legacy server-variants experiment.
Output constraints
Text and structured output default to 256 KiB limits. Binary output fails unless explicitly set to base64. These limits are safeguards, not streaming controls.