{"_id":"@agenticprimitives/mcp-protocol","_rev":"3-076259045ccb6932250f3c5d80c475a7","name":"@agenticprimitives/mcp-protocol","dist-tags":{"latest":"0.0.0-alpha.3"},"versions":{"0.0.0-alpha.1":{"name":"@agenticprimitives/mcp-protocol","version":"0.0.0-alpha.1","keywords":["agentic","primitives","mcp","model-context-protocol","json-rpc","conformance"],"license":"MIT","_id":"@agenticprimitives/mcp-protocol@0.0.0-alpha.1","maintainers":[{"name":"richcanvas","email":"richardpedersen3@gmail.com"}],"homepage":"https://github.com/agentictrustlabs/agenticprimitives/tree/master/packages/mcp-protocol","bugs":{"url":"https://github.com/agentictrustlabs/agenticprimitives/issues"},"dist":{"shasum":"6f913e32960fcae4db75668eb60622e57fefc23d","tarball":"https://registry.npmjs.org/@agenticprimitives/mcp-protocol/-/mcp-protocol-0.0.0-alpha.1.tgz","fileCount":32,"integrity":"sha512-aUw70fdANvP4txR+q1It9XaLq8QV2/2me14047KXN6NuqNC4AgYoqlB6dhRqvDG9L7HuXLzxhDhvzCad8R0zOA==","signatures":[{"sig":"MEQCIHWKI2fst3Z0ipIg0kLYNGeFBUkLP7kdW4vNiW+B6JtjAiBd7SxNQmp7THuio82DzHPQo4Ea6Mua0MtK53ZDQ+4n+Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":59112},"main":"./dist/index.js","type":"module","_from":"file:agenticprimitives-mcp-protocol-0.0.0-alpha.1.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","test:unit":"vitest run test/unit --passWithNoTests","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"vitest"},"_npmUser":{"name":"richcanvas","email":"richardpedersen3@gmail.com"},"_resolved":"/tmp/c12753a776ed3677d10204de69662ab9/agenticprimitives-mcp-protocol-0.0.0-alpha.1.tgz","_integrity":"sha512-aUw70fdANvP4txR+q1It9XaLq8QV2/2me14047KXN6NuqNC4AgYoqlB6dhRqvDG9L7HuXLzxhDhvzCad8R0zOA==","repository":{"url":"git+https://github.com/agentictrustlabs/agenticprimitives.git","type":"git","directory":"packages/mcp-protocol"},"_npmVersion":"11.16.0","description":"Conformant MCP protocol primitive (spec 293): stateless JSON-RPC lifecycle + protocol-version negotiation, Streamable-HTTP request integrity, result envelopes (CacheableResult, structured output), method dispatch + error mapping, and extensions-map negoti","directories":{},"_nodeVersion":"24.12.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.8"},"_npmOperationalInternal":{"tmp":"tmp/mcp-protocol_0.0.0-alpha.1_1782902645821_0.9000719218561029","host":"s3://npm-registry-packages-npm-production"}},"0.0.0-alpha.2":{"name":"@agenticprimitives/mcp-protocol","version":"0.0.0-alpha.2","keywords":["agentic","primitives","mcp","model-context-protocol","json-rpc","conformance"],"license":"MIT","_id":"@agenticprimitives/mcp-protocol@0.0.0-alpha.2","maintainers":[{"name":"richcanvas","email":"richardpedersen3@gmail.com"}],"homepage":"https://github.com/agentictrustlabs/agenticprimitives/tree/master/packages/mcp-protocol","bugs":{"url":"https://github.com/agentictrustlabs/agenticprimitives/issues"},"bin":{"mcp-conform":"bin/mcp-conform.mjs"},"dist":{"shasum":"913061c49ebf894abdabb996e8565ac7b76c2c6a","tarball":"https://registry.npmjs.org/@agenticprimitives/mcp-protocol/-/mcp-protocol-0.0.0-alpha.2.tgz","fileCount":37,"integrity":"sha512-yzA7Nhy6uKU31rCYx+gTYPStml5k3c0e+38A8sACC1OrE/5mOPClruX6BnwMmEUF8RNkLnJ+3mfBAo0e/NWp6w==","signatures":[{"sig":"MEUCIQCycT1GlSFR58eF4INBmr02RJgTEAPnMA6ORznT29ZF8gIgMy+PCoQbrI8SNGhEPjQs/0xHJqjnSBS2SYa9VKSqK78=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQC3EG+SayY5b44IWu0pbq9EGs9yRfNlmOa3iwcznzwqtwIhAP4y85W1hOLHWMWz+YxmHRwwYLr8MRxUwaRyOHNJvWxI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":100031},"main":"./dist/index.js","type":"module","_from":"file:agenticprimitives-mcp-protocol-0.0.0-alpha.2.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./conform":{"types":"./dist/conform/index.d.ts","import":"./dist/conform/index.js"}},"scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","test:unit":"vitest run test/unit --passWithNoTests","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e7403266-b8af-4878-9e0d-87baaa7a13c3"}},"_resolved":"/tmp/f098c2b8ebc641963cf78986e8448eb3/agenticprimitives-mcp-protocol-0.0.0-alpha.2.tgz","_integrity":"sha512-yzA7Nhy6uKU31rCYx+gTYPStml5k3c0e+38A8sACC1OrE/5mOPClruX6BnwMmEUF8RNkLnJ+3mfBAo0e/NWp6w==","repository":{"url":"git+https://github.com/agentictrustlabs/agenticprimitives.git","type":"git","directory":"packages/mcp-protocol"},"_npmVersion":"11.19.0","description":"Conformant MCP protocol primitive (spec 293): stateless JSON-RPC lifecycle + protocol-version negotiation, Streamable-HTTP request integrity, result envelopes (CacheableResult, structured output), method dispatch + error mapping, and extensions-map negoti","directories":{},"_nodeVersion":"24.20.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.8"},"_npmOperationalInternal":{"tmp":"tmp/mcp-protocol_0.0.0-alpha.2_1789164183728_0.28696937791261945","host":"s3://npm-registry-packages-npm-production"}},"0.0.0-alpha.3":{"_id":"@agenticprimitives/mcp-protocol@0.0.0-alpha.3","bin":{"mcp-conform":"bin/mcp-conform.mjs"},"bugs":{"url":"https://github.com/agentictrustlabs/agenticprimitives/issues"},"dist":{"shasum":"7fd17043abdce92aa33340aecb8cf099abfc3e3f","tarball":"https://registry.npmjs.org/@agenticprimitives/mcp-protocol/-/mcp-protocol-0.0.0-alpha.3.tgz","fileCount":37,"integrity":"sha512-KsGStVFMJBuZ4yQA9QyY9wVdtqrJ1r3cks+ZWj9hEWHvvwGNV9MQO7FiXwME98jW0NDh8+E6eQIH/dIisxsNvA==","signatures":[{"sig":"MEUCIEJHNKTQqyuSMwHEOEuBJ5eiLXWdrWeG88WKyqmQy987AiEA6uPUZ+mt1fo+w4J8zDK5w/fECuZjisJu8amjY+SBxxM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDnpGiAamn/JrU5NHpK9ynCmf1xMYfumQCodH0l8JvahwIgLD8Ccw1yv4pxG+Xu/kFabEexfwTrtClUax988VhHOOY="}],"unpackedSize":100031},"main":"./dist/index.js","name":"@agenticprimitives/mcp-protocol","type":"module","_from":"file:agenticprimitives-mcp-protocol-0.0.0-alpha.3.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./conform":{"types":"./dist/conform/index.d.ts","import":"./dist/conform/index.js"}},"license":"MIT","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","test:unit":"vitest run test/unit --passWithNoTests","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"vitest"},"version":"0.0.0-alpha.3","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e7403266-b8af-4878-9e0d-87baaa7a13c3"}},"homepage":"https://github.com/agentictrustlabs/agenticprimitives/tree/master/packages/mcp-protocol","keywords":["agentic","primitives","mcp","model-context-protocol","json-rpc","conformance"],"_resolved":"/tmp/ffcb32a33f6febf56bd181e16630afab/agenticprimitives-mcp-protocol-0.0.0-alpha.3.tgz","_integrity":"sha512-KsGStVFMJBuZ4yQA9QyY9wVdtqrJ1r3cks+ZWj9hEWHvvwGNV9MQO7FiXwME98jW0NDh8+E6eQIH/dIisxsNvA==","repository":{"url":"git+https://github.com/agentictrustlabs/agenticprimitives.git","type":"git","directory":"packages/mcp-protocol"},"_npmVersion":"11.19.0","description":"Conformant MCP protocol primitive (spec 293): stateless JSON-RPC lifecycle + protocol-version negotiation, Streamable-HTTP request integrity, result envelopes (CacheableResult, structured output), method dispatch + error mapping, and extensions-map negoti","directories":{},"maintainers":[{"name":"richcanvas","email":"richardpedersen3@gmail.com"}],"_nodeVersion":"24.20.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.8"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcp-protocol_0.0.0-alpha.3_1789230643513_0.18168601806778262"}}},"time":{"created":"2026-07-01T10:44:05.594Z","modified":"2026-09-12T16:30:43.776Z","0.0.0-alpha.1":"2026-07-01T10:44:05.960Z","0.0.0-alpha.2":"2026-09-11T22:03:03.814Z","0.0.0-alpha.3":"2026-09-12T16:30:43.585Z"},"bugs":{"url":"https://github.com/agentictrustlabs/agenticprimitives/issues"},"license":"MIT","homepage":"https://github.com/agentictrustlabs/agenticprimitives/tree/master/packages/mcp-protocol","keywords":["agentic","primitives","mcp","model-context-protocol","json-rpc","conformance"],"repository":{"url":"git+https://github.com/agentictrustlabs/agenticprimitives.git","type":"git","directory":"packages/mcp-protocol"},"description":"Conformant MCP protocol primitive (spec 293): stateless JSON-RPC lifecycle + protocol-version negotiation, Streamable-HTTP request integrity, result envelopes (CacheableResult, structured output), method dispatch + error mapping, and extensions-map negoti","maintainers":[{"name":"richcanvas","email":"richardpedersen3@gmail.com"}],"readme":"# @agenticprimitives/mcp-protocol\n\nThe conformant, **stateless MCP protocol** primitive (spec 293). It gives a server the wire-protocol\nsemantics of the MCP **2026-07-28** revision — JSON-RPC lifecycle + protocol-version negotiation, Streamable\nHTTP request integrity, result envelopes, method dispatch + error mapping, and extensions-map negotiation —\n**generated from primitives, not hand-rolled in an app.**\n\nWe conform to the published MCP spec everywhere **except one declared area: Authorization.** We do not run an\nOAuth 2.1 authorization server. Our authorization is the Web3 custodian + delegation model (ERC-4337 Smart\nAccounts, ERC-1271/6492 signatures, delegation tokens, invocation proof), advertised through the MCP\n**extensions framework** as `io.agentictrustlabs.authority`. That is a *spec-sanctioned* substitution, not a\ngap — and it is the differentiated advantage over OAuth-based servers: SA-bound, signature-verified,\non-chain-revocable delegation instead of an issuer-granted opaque scope.\n\n## Install\n\n```bash\npnpm add @agenticprimitives/mcp-protocol\n```\n\nRing-0, dependency-free core (the wire types are defined here; the official `@modelcontextprotocol/sdk` is the\nreference, not a build dependency — its 1.x types predate the stateless 2026-07-28 model).\n\n## What it does\n\n| Area | API |\n| --- | --- |\n| Version negotiation | `negotiateProtocolVersion(requested)` → the agreed version, or `null` (no overlap → reject) |\n| Per-request `_meta` | `parseRequestMeta(meta, headerProtocolVersion)` — stateless: version + clientInfo + caps + W3C trace |\n| Discovery | `buildServerDiscover({ serverInfo, capabilities, extensions })` — the `initialize`-less capability payload |\n| Request integrity | `checkRequestIntegrity(headers, body)` — `Mcp-Method`/`Mcp-Name` vs the body (SEP-2243) |\n| Dispatch | `new MethodRegistry().register(method, handler)`, `.dispatch(req, ctx)`; `parseJsonRpc(raw)` |\n| Errors | `RpcError(code, msg)` for explicit codes; any other throw → one generic `internal error` (no leak) |\n| Envelopes | `withCacheable` / `readCacheable` (SEP-2549), `structuredResult` (SEP-2106), `orderListItems` |\n| Extensions | `authorityExtensionEntry`, `negotiateExtensions`, `hasAuthorityExtension` |\n\n## The authority is injected — never imported\n\nThis package never imports `delegation`, `mcp-runtime`, `mcp-oauth`, or any chain/auth library. The app\nregisters method handlers that call its own authority pipeline (e.g. `mcp-runtime.withDelegation`). So the\nprotocol layer stays pure + conformant, and the Web3 authority stays the app's injected decision:\n\n```ts\nconst registry = new MethodRegistry({ onError: logInternal })\n  .register('server/discover', () => buildServerDiscover({ serverInfo, capabilities, extensions }))\n  .register('tools/call', async (params, ctx) => runToolWithDelegation(params, ctx)); // authority injected\n```\n\n## Conformance\n\nThe conformance target is the MCP **2026-07-28** revision, negotiating down to **2025-11-25**. The single\ndeclared exception (Authorization → the Web3 extension) is tracked in the conformance matrix\n(`docs/architecture/mcp-conformance-matrix.md`, W4). See [`specs/293-mcp-protocol-conformance.md`](../../specs/293-mcp-protocol-conformance.md).\n\n## License\n\nMIT.\n","readmeFilename":"README.md"}