MCP specification inventory
Immutable upstream sources, protocol eras, and implementation ownership.
This page records the upstream material reviewed on 2026-10-08. Each reviewed source uses an
immutable commit and SHA-256 digest. The exported MCP_EXTENSION_LATEST_REVIEWED manifest is an
inventory for implementation planning; it does not promote a source into adapter support.
The established MCP_EXTENSION_SUPPORT aliases remain unchanged. They continue to select the
existing codecs and fixtures. A later implementation may promote a reviewed record only after it
adds behavior, tests, documentation, and examples.
Server Cards now expose top-level maturity: 'stable' in the support manifest. Their nested pinned
version retains status: 'experimental' as historical metadata for the originally reviewed bytes.
Filesystems has no identifier, protocol era, wire methods, schema, codec, or selector because its
repository does not define an authoritative contract.
Toolchain and package inventory
All ten package manifests use their registry latest versions as reviewed on 2026-10-08. package.json covers the adapter and all eight Bun example workspaces; website/package.json has its independent website/bun.lock. The root bun.lock resolves the adapter and example graph. Workspace link: entries and Elysia peer ranges are compatibility declarations, so drift monitoring does not treat them as upgrade targets.
| Surface | Reviewed version or source |
|---|---|
| Bun package manager and CI runtime | 1.4.2 in every package manifest and oven-sh/setup-bun@v2.2.0 |
| Formatting and linting | Biome 2.5.15 with matching configuration schemas |
| Library compiler | TypeScript 7.0.2; packed declarations also compile with TypeScript 5.8.3 |
| Web framework | Elysia 1.4.30 |
| Durable task queue | BullMQ 6.3.11 and ioredis 6.0.0 |
| Authentication examples | Better Auth, OAuth Provider, and SSO 1.7.7 |
| Apps examples | MCP client 2.3.1, Apps SDK 2.0.3, Zod 4.6.5, React and React DOM 19.3.0 |
| Website | Vite 8.3.4, React plugin 6.1.2, Fumadocs Core and UI 16.16.2, Fumadocs MDX 15.4.6, and Lucide React 1.53.0, and @types/node 26.6.4 |
| Static analysis | Fallow 3.32.0 through its explicit local binary |
| CI actions | actions/checkout@v7.0.1, actions/setup-node@v7.1.0, oven-sh/setup-bun@v2.2.0 |
| CI Redis | redis:8.10.2-alpine; official-images source 8104e63b5910fda751bf7c038fa297b6fb19ff43 and Redis release index |
bun run extensions:check-drift reads every dependency and development dependency from these manifests, skips workspace and peer compatibility entries, and compares each registry package with its latest distribution tag. It also checks Bun, CI actions, Redis, specification repositories, source hashes, schema records, and published extension packages. An unavailable source or registry is a hard failure.
The website patches TypeScript 7's native semantic compiler channel because Bun streams do not expose the libuv handles that the compiler expects. The patch uses private POSIX FIFO descriptors, retains synchronous native compilation, closes every descriptor, and has a direct repeated-session test. Remove the patch when TypeScript supports Bun's process streams upstream; do not replace semantic API generation with a text parser or a fallback runtime.
Reviewed source records
| Area | Maturity and protocol era | Repository revision and path | SHA-256 | Package |
|---|---|---|---|---|
| Core schema | Stable, 2026-07-28 | modelcontextprotocol/modelcontextprotocol@c518f7a927cff918bce35d3522fcdb046d264d7c schema/2026-07-28/schema.json | ef70b61f99b6d2e5e3b46863822eab08dff6a45bedc7a08914e0e5b133f40203 | No published package |
| Core TypeScript schema | Stable, 2026-07-28 | modelcontextprotocol/modelcontextprotocol@c518f7a927cff918bce35d3522fcdb046d264d7c schema/2026-07-28/schema.ts | 742750af0bb8c716e7030c4977c992b55d1adc4407e9e66997db5846baedc2cd | No published package |
| Core tools | Stable, 2026-07-28 | modelcontextprotocol/modelcontextprotocol@c518f7a927cff918bce35d3522fcdb046d264d7c docs/specification/2026-07-28/server/tools.mdx | ed550806a58eb7744b858fb9f26001aa5e55dac9e2babe88317cc81d9d4c490d | No published package |
| Core MRTR | Stable, 2026-07-28 | modelcontextprotocol/modelcontextprotocol@c518f7a927cff918bce35d3522fcdb046d264d7c docs/specification/2026-07-28/basic/patterns/mrtr.mdx | a8671eb2a0d292c0dcbae19666ff4fc3d97f294ce8107e9f38259cc5a02a066b | No published package |
| Core authorization | Stable, 2026-07-28 | modelcontextprotocol/modelcontextprotocol@c518f7a927cff918bce35d3522fcdb046d264d7c docs/specification/2026-07-28/basic/authorization/index.mdx | 99e7eeaecad5381649e6dca98cb5b47f314bdda9f1d8cd989299e5fe143a913e | No published package |
| Core draft schema | Draft | modelcontextprotocol/modelcontextprotocol@c518f7a927cff918bce35d3522fcdb046d264d7c schema/draft/schema.json | ef70b61f99b6d2e5e3b46863822eab08dff6a45bedc7a08914e0e5b133f40203 | No published package |
| Core draft TypeScript schema | Draft | modelcontextprotocol/modelcontextprotocol@c518f7a927cff918bce35d3522fcdb046d264d7c schema/draft/schema.ts | b2d3a00d4094e413a48628560fec60652169a3d2b427e8c629238e13f987723f | No published package |
| Core basic protocol | Stable, 2026-07-28 | modelcontextprotocol/modelcontextprotocol@c518f7a927cff918bce35d3522fcdb046d264d7c docs/specification/2026-07-28/basic/index.mdx | 03586b10e3214c55478293f1199fffb0bbf95bbef5df3d6a8378e860697bd63f | No published package |
| Core versioning | Stable, 2026-07-28 | modelcontextprotocol/modelcontextprotocol@c518f7a927cff918bce35d3522fcdb046d264d7c docs/specification/2026-07-28/basic/versioning.mdx | bc02f271700bdecd88034f2d7801eb09110a71d65876487378d94e48dfeb90dc | No published package |
| Streamable HTTP | Stable, 2026-07-28 | modelcontextprotocol/modelcontextprotocol@c518f7a927cff918bce35d3522fcdb046d264d7c docs/specification/2026-07-28/basic/transports/streamable-http.mdx | 22574bf11e004068493787203ce92be1162107cad717bcb805a15780d4fa69c9 | No published package |
| Cancellation | Stable, 2026-07-28 | modelcontextprotocol/modelcontextprotocol@c518f7a927cff918bce35d3522fcdb046d264d7c docs/specification/2026-07-28/basic/patterns/cancellation.mdx | 396030784a4af9b734a1c8d4faed13b31077e4a3a1f03c9c1f2048ec52794ba4 | No published package |
| Progress | Stable, 2026-07-28 | modelcontextprotocol/modelcontextprotocol@c518f7a927cff918bce35d3522fcdb046d264d7c docs/specification/2026-07-28/basic/patterns/progress.mdx | 9f55aca08920c633f3a2a35e0c77533db08d3fd19ced43918ea7c57aa5f85409 | No published package |
| Subscriptions | Stable, 2026-07-28 | modelcontextprotocol/modelcontextprotocol@c518f7a927cff918bce35d3522fcdb046d264d7c docs/specification/2026-07-28/basic/patterns/subscriptions.mdx | 8333cbc3280cad293e96b4a20c3200face8e185ebf58f1c4a51c35bb96654abd | No published package |
| Server discovery | Stable, 2026-07-28 | modelcontextprotocol/modelcontextprotocol@c518f7a927cff918bce35d3522fcdb046d264d7c docs/specification/2026-07-28/server/discover.mdx | 3fe1f5b5f1528014216b1e49cc3363b3c689c36bcb80a6957ddca6a04cea409c | No published package |
| Resources | Stable, 2026-07-28 | modelcontextprotocol/modelcontextprotocol@c518f7a927cff918bce35d3522fcdb046d264d7c docs/specification/2026-07-28/server/resources.mdx | 10538119019af5f49a2fbc55d5818725175863115dfb273e79ed7f65a18aaf0c | No published package |
| Prompts | Stable, 2026-07-28 | modelcontextprotocol/modelcontextprotocol@c518f7a927cff918bce35d3522fcdb046d264d7c docs/specification/2026-07-28/server/prompts.mdx | 85e550635bbbbaa90dff8738f98808c62987e8cfce1d75305b55ca43f3c546de | No published package |
| Completion | Stable, 2026-07-28 | modelcontextprotocol/modelcontextprotocol@c518f7a927cff918bce35d3522fcdb046d264d7c docs/specification/2026-07-28/server/utilities/completion.mdx | 1965c563aadb99e141131444caa81ff1860ed82bab314b286c40a0f0ba839f99 | No published package |
| Pagination | Stable, 2026-07-28 | modelcontextprotocol/modelcontextprotocol@c518f7a927cff918bce35d3522fcdb046d264d7c docs/specification/2026-07-28/server/utilities/pagination.mdx | c4c7b674ae9ce16c012b5da35559d35768f6b7a508ceb5d2d71393a9f46afd2b | No published package |
| Caching | Stable, 2026-07-28 | modelcontextprotocol/modelcontextprotocol@c518f7a927cff918bce35d3522fcdb046d264d7c docs/specification/2026-07-28/server/utilities/caching.mdx | ca416e94b40c067de638bb101541969f2b956b33e9695761032ddc06245d514d | No published package |
| Logging | Stable, 2026-07-28 | modelcontextprotocol/modelcontextprotocol@c518f7a927cff918bce35d3522fcdb046d264d7c docs/specification/2026-07-28/server/utilities/logging.mdx | 4e77ec3257e07ad69bfd6ed902771f14d6498b60fe6c9c325b8ff4bfc35647a6 | No published package |
| Roots | Stable, 2026-07-28 | modelcontextprotocol/modelcontextprotocol@c518f7a927cff918bce35d3522fcdb046d264d7c docs/specification/2026-07-28/client/roots.mdx | 016aea34d76ccce86a82509dbf2699833bb8547bde5b3f4a8eb086dfd26a9ba2 | No published package |
| Sampling | Stable, 2026-07-28 | modelcontextprotocol/modelcontextprotocol@c518f7a927cff918bce35d3522fcdb046d264d7c docs/specification/2026-07-28/client/sampling.mdx | 32fe2bb69f5a7caa85a6b9501f465cb1fb888d0c669cd13b23a071071a029df1 | No published package |
| Elicitation | Stable, 2026-07-28 | modelcontextprotocol/modelcontextprotocol@c518f7a927cff918bce35d3522fcdb046d264d7c docs/specification/2026-07-28/client/elicitation.mdx | 74351d1081681695536e59a55588a67ed66a76db6057846c263ce2f465fab4c2 | No published package |
| Tasks | Stable, 2026-07-28 | modelcontextprotocol/ext-tasks@93a4915aadf714f87ece5cd40c317bce24779cf5 specification/2026-07-28/tasks.md | ef2860ae4418d02f3b2bfd54fcd88b03a3c2c3aa6724d282cd4ca3a3699a2e27 | @modelcontextprotocol/ext-tasks@0.2.2 |
| Tasks | Draft | modelcontextprotocol/ext-tasks@93a4915aadf714f87ece5cd40c317bce24779cf5 specification/draft/tasks.md | 7fd574093a5c4e29da19a0d7683693af7b93a276f3ce37343664c9e12f4d039a | @modelcontextprotocol/ext-tasks@0.2.2 |
| Enterprise authorization | Stable, 2026-06-17 | modelcontextprotocol/ext-auth@fb374c7db2b34f18ca9183882e0beecdf661892b specification/stable/enterprise-managed-authorization.mdx | df4fe01daec0eac6069e17a293d4ed7e197ab20463038d806f71e63b22fd8986 | No published package |
| Client credentials | Draft | modelcontextprotocol/ext-auth@fb374c7db2b34f18ca9183882e0beecdf661892b specification/draft/oauth-client-credentials.mdx | 5db1ffb20f0f33ddbebd6e9747be20c1be3a395a1bd1faad3719334c35a70d3f | No published package |
| Apps | Stable, 2026-01-26 | modelcontextprotocol/ext-apps@82221c0c8ce7661efa6771c9d461511b1650495f specification/2026-01-26/apps.mdx | ee452a7d1b9b7fb900acfeb4d6932d3963375b0f3f37d196a4b93eb80312af0e | @modelcontextprotocol/ext-apps@2.0.3 |
| Apps | Draft | modelcontextprotocol/ext-apps@82221c0c8ce7661efa6771c9d461511b1650495f specification/draft/apps.mdx | 00e97500a71cd46f27a0c661a3c9ee4df60cf64ba7b069e41227ddf8d41b4269 | @modelcontextprotocol/ext-apps@2.0.3 |
| Skills | Stable | modelcontextprotocol/ext-skills@167da6c0d42c247a8f8470228a10ca711e3f6c45 specification/stable/skills.mdx | b8b4c2faf0ef38d72114b8ea2c4e29bbba1d30151b8dc3b476ca31f685de610c | No published package |
| Agent Skills format | Stable delegated format | agentskills/agentskills@69ef37e9424c0a7ea9dd2293b559e43ec8176379 docs/specification.mdx | b9079c0c10b7930e8c6a20ff2bc10cda2a3343c55185120e3f1116a1a529b220 | No published runtime package |
| Server cards | Final extension | modelcontextprotocol/modelcontextprotocol@c518f7a927cff918bce35d3522fcdb046d264d7c seps/2127-mcp-server-cards.md; schema remains pinned at modelcontextprotocol/ext-server-card@526201bbc80231daa40ffcdecfc9da4e54e5dc93 | b7691eee6daa21f0b556e48f83b73f9cc8e61e9ea2da17c1aaf3aa169b348461; schema 2c772b51edb367f154771d84ddbae87ddba00a624422c8e46f218a9ac03bf042 | No published package |
| Filesystems | Undefined experiment | modelcontextprotocol/experimental-ext-filesystems@52b61dc9d63ac697e627eae24b7924de7685db22 README.md | feed46abcbaaa9f53c1b70318cb9990343b7410a75dbca2f6c8046de85fb7993 | No wire contract or published package |
| Interceptors | Experimental draft | modelcontextprotocol/experimental-ext-interceptors@b60459844cc95f2170297ebe1c84b7de8b752953 docs/sep.md | 1ccbb25046161f10e631ff4fce20742a816dd5fa018e466a7551cb8675200a35 | No published package |
| Variants | Experimental draft | modelcontextprotocol/modelcontextprotocol@53448f2fab9ac0fddf602db441245625b598ca4e seps/2053-server-variants.md | acb459c128b2b26af772f878919c40d7a7a0c23d364c594c08cf01e733b95d15 | No published package |
| Variants implementation | Experimental draft | modelcontextprotocol/experimental-ext-variants@cfc05d6f5eb8829f9896d44a6d47360bd15c3b5c README.md | dca88077d719d5c8d55fa128234a05d013f9bff3775005bdf2478d2752f57af6 | No published package |
| Tool annotations | Experimental draft | modelcontextprotocol/experimental-ext-tool-annotations@fecace78a9552f70ba735d750fc3c4b190e20429 README.md | 914c302e762a20754ef1bb5a96fd060b01202f8a397815549c92e85ce59406cb | No published package |
| Triggers and events | Experimental draft | modelcontextprotocol/experimental-ext-triggers-events@6682596d65eec778fe0b8b1f43b4e89d2fe2c546 docs/design-sketch-proposal.md | a4ca4ea18b10e3fe53595c73e593a92d3445ae75897fd8ab15e88bf781efeb5a | No published package |
| Action metadata | Experimental draft | modelcontextprotocol/experimental-ext-tool-annotations@fecace78a9552f70ba735d750fc3c4b190e20429 specification/draft/action-metadata.mdx | 985a052969d9b8f67b98e46bb564b62960de47c1e43fdf8f8b9eb157bf50532f | No published package |
| Trust annotations | Experimental draft | modelcontextprotocol/experimental-ext-tool-annotations@fecace78a9552f70ba735d750fc3c4b190e20429 specification/draft/trust-annotations.mdx | 3cc0123157d3ea4489729d8498489e12787297dcfe1f09a5bb02a4a6b0f55b7d | No published package |
Action metadata and trust annotations define metadata semantics, not authorization. Their open-string enums remain preserved. Evidence references remain bounded and are never fetched. Content-block attachment behavior has no defined contract and remains unavailable.
Server requirement map
Each row names the final implementation, test, documentation, and runnable example evidence.
| Server behavior | Normative source anchor | Implementation | Test or fixture | Documentation and example |
|---|---|---|---|---|
| Modern and legacy negotiation, request envelopes, sessions, and errors | Core schemas, basic protocol, versioning, and transport | src/transport/protocol.ts, src/transport/json-rpc.ts | test/core-modern.test.ts, test/transport.test.ts, core schema fixture | Modern core and transportation guides; examples/core/ |
| Tools, resources, prompts, completion, pagination, caching, progress, cancellation, and subscriptions | Core server primitives and utilities | src/registry.ts, src/transport/core.ts, src/transport/json-rpc.ts, src/state.ts | test/core-modern.test.ts, test/adapter.test.ts, test/resources.test.ts | Modern core guide; examples/core/ |
| MRTR for tools, resources, and prompts, including elicitation, sampling, roots, continuation binding, and request state | Core MRTR and client-feature records | src/transport/core.ts, src/invoke/context.ts, src/types.ts | test/core-modern.test.ts, test/tasks.test.ts | Modern core guide; examples/core/ |
| Authorization, client credentials, and enterprise authorization | Core authorization and auth extensions | src/extensions/auth/ | test/auth.test.ts, both auth example suites | Authorization guides; examples/auth/ |
| Durable tasks, input, cancellation, ownership, recovery, and subscriptions | Tasks stable and draft records | src/extensions/tasks/ | test/tasks.test.ts, task draft fixture, both task provider suites | Tasks guides; examples/tasks/ |
| Apps resources, metadata, CSP, permissions, visibility, and v2 SDK integration | Apps stable and draft records | src/extensions/apps/ | test/apps.test.ts, test/apps-host-fixture.test.ts, both Apps suites | Apps guides; examples/apps-react/, examples/apps-vanilla/ |
| Skill discovery, exact-byte manifests, resources, pagination, directory boundaries, and authorization | Skills and Agent Skills records | src/extensions/skills/ | test/skills.test.ts, skills schema fixture | Skills guides; examples/skills/ |
| Server cards, interceptors, variants, action metadata, and trust annotations | Final server-card record and experimental records | matching modules under src/extensions/ | test/experimental-wp6a.test.ts, server-card schema fixture | Experimental guides; examples/experimental/ |
| Event discovery, polling, SSE, webhook delivery, replay, TTL, ownership, signing, and network defenses | Triggers/events and Standard Webhooks records | src/extensions/events/ | test/events.test.ts, test/events-network.test.ts, event schema and isolated TLS fixtures | Events guide; examples/events/ |
| Host approval, skill execution, consent, evidence retrieval, and external interceptor calls | Host-owned or undefined behavior | Unavailable as server automation | Server tests verify opt-in boundaries and metadata preservation | Security and limitation guides |
Host responsibilities and boundaries
Hosts approve tools, skills, elicitation, sampling, roots, UI resources, and external calls. Hosts own user consent, sandboxing, display policy, credential storage, callback policy, and whether annotations are trusted. Servers must not infer host approval from a capability advertisement.
Servers own authorization, principal isolation, request validation, resource authorization, task
retention, webhook verification, callback address validation, replay limits, and safe error mapping.
Route-backed operations continue through app.handle(new Request(...)), preserving Elysia hooks,
guards, parsing, validation, authentication, and response mapping.
The adapter will not automatically execute skills, retrieve evidence references, contact external interceptor services, or treat action and trust annotations as authorization. Those behaviors need a normative source and an explicit opt-in contract before implementation.
Drift and promotion rules
bun run extensions:check-drift walks both the compatibility manifest and the latest-reviewed
inventory. It verifies each recorded source byte-for-byte, discovers every public MCP extension repository
across paginated organization results, checks every reviewed repository default branch, and checks every package record that includes a package name and version. It reports drift without
rewriting aliases. Network failures and unavailable inventory records are explicit failures.
Promote a reviewed record only after the owning work product adds protocol fixtures, affected-path tests, documentation, examples, and a compatibility decision. Keep the old source record when a new alias is added so existing clients retain their selected implementation.