# Migration: EZ23 MCP Connector v1.0 → Universal v1.1

The source-contact logic is preserved. The hosting assumption is not.

## Removed from the architecture

- canonical dependence on `node:http`;
- canonical dependence on `@modelcontextprotocol/node`;
- canonical `node:crypto` usage;
- canonical `Buffer` usage;
- requirement for an always-running HTTP listener;
- Docker as a primary deployment path.

## New canonical entry

`src/handler.js` exports a Web-standard request handler.

```text
Request → Promise<Response>
```

The official MCP v2 `createMcpHandler()` performs per-request server construction. Hosting adapters only translate the platform's incoming request into that interface.

## Preserved EZ23 invariants

- live `easy-twenty-three.md` bootstrap;
- live router filename discovery;
- live Index Web + Source Lock retrieval;
- runtime discovery of the sanctioned baseline commit/tree;
- exact source retrieval from that baseline;
- local Git blob verification;
- routing/contact separation;
- fail-closed unresolved behavior;
- no authoritative local content cache.

## Added adapters

- Web-standard function export;
- Worker/fetch runtime;
- Apache/CGI one-request JavaScript execution;
- optional Node listener;
- optional stdio.

The adapters may change transport mechanics only. They may not change EZ23 source authority or custody behavior.
