gitextract_gh91i5xk/ ├── .changeset/ │ ├── README.md │ ├── add-hono-peer-dep.md │ ├── brave-lions-glow.md │ ├── busy-weeks-hang.md │ ├── config.json │ ├── cyan-cycles-pump.md │ ├── expose-auth-server-discovery.md │ ├── fix-task-session-isolation.md │ ├── fix-unknown-tool-protocol-error.md │ ├── funky-baths-attack.md │ ├── heavy-walls-swim.md │ ├── oauth-error-http200.md │ ├── quick-islands-occur.md │ ├── respect-capability-negotiation.md │ ├── rich-hounds-report.md │ ├── shy-times-learn.md │ ├── tender-snails-fold.md │ ├── twelve-dodos-taste.md │ └── use-scopes-supported-in-dcr.md ├── .git-blame-ignore-revs ├── .github/ │ ├── CODEOWNERS │ └── workflows/ │ ├── claude-code-review.yml │ ├── claude.yml │ ├── conformance.yml │ ├── deploy-docs.yml │ ├── main.yml │ ├── publish.yml │ ├── release.yml │ └── update-spec-types.yml ├── .gitignore ├── .npmrc ├── .prettierignore ├── .prettierrc.json ├── CLAUDE.md ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── SECURITY.md ├── common/ │ ├── eslint-config/ │ │ ├── eslint.config.mjs │ │ └── package.json │ ├── tsconfig/ │ │ ├── package.json │ │ └── tsconfig.json │ └── vitest-config/ │ ├── package.json │ ├── tsconfig.json │ └── vitest.config.js ├── docs/ │ ├── client-quickstart.md │ ├── client.md │ ├── documents.md │ ├── faq.md │ ├── migration-SKILL.md │ ├── migration.md │ ├── server-quickstart.md │ ├── server.md │ └── v2-banner.js ├── examples/ │ ├── client/ │ │ ├── README.md │ │ ├── eslint.config.mjs │ │ ├── package.json │ │ ├── src/ │ │ │ ├── clientGuide.examples.ts │ │ │ ├── elicitationUrlExample.ts │ │ │ ├── multipleClientsParallel.ts │ │ │ ├── parallelToolCallsClient.ts │ │ │ ├── simpleClientCredentials.ts │ │ │ ├── simpleOAuthClient.ts │ │ │ ├── simpleOAuthClientProvider.ts │ │ │ ├── simpleStreamableHttp.ts │ │ │ ├── simpleTaskInteractiveClient.ts │ │ │ ├── ssePollingClient.ts │ │ │ └── streamableHttpWithSseFallbackClient.ts │ │ ├── tsconfig.json │ │ ├── tsdown.config.ts │ │ └── vitest.config.js │ ├── client-quickstart/ │ │ ├── .gitignore │ │ ├── package.json │ │ ├── src/ │ │ │ └── index.ts │ │ └── tsconfig.json │ ├── server/ │ │ ├── README.md │ │ ├── eslint.config.mjs │ │ ├── package.json │ │ ├── src/ │ │ │ ├── README-simpleTaskInteractive.md │ │ │ ├── customProtocolVersion.ts │ │ │ ├── elicitationFormExample.ts │ │ │ ├── elicitationUrlExample.ts │ │ │ ├── honoWebStandardStreamableHttp.ts │ │ │ ├── inMemoryEventStore.ts │ │ │ ├── jsonResponseStreamableHttp.ts │ │ │ ├── mcpServerOutputSchema.ts │ │ │ ├── serverGuide.examples.ts │ │ │ ├── simpleStatelessStreamableHttp.ts │ │ │ ├── simpleStreamableHttp.ts │ │ │ ├── simpleTaskInteractive.ts │ │ │ ├── ssePollingExample.ts │ │ │ ├── standaloneSseWithGetStreamableHttp.ts │ │ │ └── toolWithSampleServer.ts │ │ ├── tsconfig.json │ │ ├── tsdown.config.ts │ │ └── vitest.config.js │ ├── server-quickstart/ │ │ ├── .gitignore │ │ ├── package.json │ │ ├── src/ │ │ │ └── index.ts │ │ └── tsconfig.json │ └── shared/ │ ├── eslint.config.mjs │ ├── package.json │ ├── src/ │ │ ├── auth.ts │ │ ├── authMiddleware.ts │ │ ├── authServer.ts │ │ └── index.ts │ ├── test/ │ │ └── demoInMemoryOAuthProvider.test.ts │ ├── tsconfig.json │ └── vitest.config.js ├── package.json ├── packages/ │ ├── client/ │ │ ├── eslint.config.mjs │ │ ├── package.json │ │ ├── src/ │ │ │ ├── client/ │ │ │ │ ├── auth.examples.ts │ │ │ │ ├── auth.ts │ │ │ │ ├── authExtensions.examples.ts │ │ │ │ ├── authExtensions.ts │ │ │ │ ├── client.examples.ts │ │ │ │ ├── client.ts │ │ │ │ ├── crossAppAccess.ts │ │ │ │ ├── middleware.examples.ts │ │ │ │ ├── middleware.ts │ │ │ │ ├── sse.ts │ │ │ │ ├── stdio.ts │ │ │ │ ├── streamableHttp.ts │ │ │ │ └── websocket.ts │ │ │ ├── experimental/ │ │ │ │ ├── index.ts │ │ │ │ └── tasks/ │ │ │ │ ├── client.examples.ts │ │ │ │ └── client.ts │ │ │ ├── index.ts │ │ │ ├── shimsNode.ts │ │ │ └── shimsWorkerd.ts │ │ ├── test/ │ │ │ └── client/ │ │ │ ├── auth.test.ts │ │ │ ├── authExtensions.test.ts │ │ │ ├── crossAppAccess.test.ts │ │ │ ├── crossSpawn.test.ts │ │ │ ├── middleware.test.ts │ │ │ ├── sse.test.ts │ │ │ ├── stdio.test.ts │ │ │ └── streamableHttp.test.ts │ │ ├── tsconfig.json │ │ ├── tsdown.config.ts │ │ ├── typedoc.json │ │ ├── vitest.config.js │ │ └── vitest.setup.js │ ├── core/ │ │ ├── eslint.config.mjs │ │ ├── package.json │ │ ├── src/ │ │ │ ├── auth/ │ │ │ │ └── errors.ts │ │ │ ├── errors/ │ │ │ │ ├── sdkErrors.examples.ts │ │ │ │ └── sdkErrors.ts │ │ │ ├── experimental/ │ │ │ │ ├── index.ts │ │ │ │ └── tasks/ │ │ │ │ ├── helpers.ts │ │ │ │ ├── interfaces.ts │ │ │ │ └── stores/ │ │ │ │ └── inMemory.ts │ │ │ ├── exports/ │ │ │ │ └── types/ │ │ │ │ └── index.ts │ │ │ ├── index.examples.ts │ │ │ ├── index.ts │ │ │ ├── shared/ │ │ │ │ ├── auth.ts │ │ │ │ ├── authUtils.ts │ │ │ │ ├── metadataUtils.ts │ │ │ │ ├── protocol.ts │ │ │ │ ├── responseMessage.ts │ │ │ │ ├── stdio.ts │ │ │ │ ├── toolNameValidation.ts │ │ │ │ ├── transport.ts │ │ │ │ └── uriTemplate.ts │ │ │ ├── types/ │ │ │ │ ├── spec.types.ts │ │ │ │ └── types.ts │ │ │ ├── util/ │ │ │ │ ├── inMemory.ts │ │ │ │ └── schema.ts │ │ │ └── validators/ │ │ │ ├── ajvProvider.examples.ts │ │ │ ├── ajvProvider.ts │ │ │ ├── cfWorkerProvider.examples.ts │ │ │ ├── cfWorkerProvider.ts │ │ │ ├── types.examples.ts │ │ │ └── types.ts │ │ ├── test/ │ │ │ ├── experimental/ │ │ │ │ └── inMemory.test.ts │ │ │ ├── inMemory.test.ts │ │ │ ├── shared/ │ │ │ │ ├── auth.test.ts │ │ │ │ ├── authUtils.test.ts │ │ │ │ ├── protocol.test.ts │ │ │ │ ├── protocolTransportHandling.test.ts │ │ │ │ ├── stdio.test.ts │ │ │ │ ├── toolNameValidation.test.ts │ │ │ │ └── uriTemplate.test.ts │ │ │ ├── spec.types.test.ts │ │ │ ├── types.capabilities.test.ts │ │ │ ├── types.test.ts │ │ │ └── validators/ │ │ │ └── validators.test.ts │ │ ├── tsconfig.json │ │ └── vitest.config.js │ ├── middleware/ │ │ ├── README.md │ │ ├── express/ │ │ │ ├── README.md │ │ │ ├── eslint.config.mjs │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── express.examples.ts │ │ │ │ ├── express.ts │ │ │ │ ├── index.ts │ │ │ │ └── middleware/ │ │ │ │ ├── hostHeaderValidation.examples.ts │ │ │ │ └── hostHeaderValidation.ts │ │ │ ├── test/ │ │ │ │ └── express.test.ts │ │ │ ├── tsconfig.json │ │ │ ├── tsdown.config.ts │ │ │ ├── typedoc.json │ │ │ └── vitest.config.js │ │ ├── hono/ │ │ │ ├── README.md │ │ │ ├── eslint.config.mjs │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── hono.ts │ │ │ │ ├── index.ts │ │ │ │ └── middleware/ │ │ │ │ └── hostHeaderValidation.ts │ │ │ ├── test/ │ │ │ │ └── hono.test.ts │ │ │ ├── tsconfig.json │ │ │ ├── tsdown.config.ts │ │ │ ├── typedoc.json │ │ │ └── vitest.config.js │ │ └── node/ │ │ ├── README.md │ │ ├── eslint.config.mjs │ │ ├── package.json │ │ ├── src/ │ │ │ ├── index.ts │ │ │ ├── streamableHttp.examples.ts │ │ │ └── streamableHttp.ts │ │ ├── test/ │ │ │ └── streamableHttp.test.ts │ │ ├── tsconfig.json │ │ ├── tsdown.config.ts │ │ ├── typedoc.json │ │ └── vitest.config.js │ └── server/ │ ├── eslint.config.mjs │ ├── package.json │ ├── src/ │ │ ├── experimental/ │ │ │ ├── index.ts │ │ │ └── tasks/ │ │ │ ├── index.ts │ │ │ ├── interfaces.ts │ │ │ ├── mcpServer.ts │ │ │ └── server.ts │ │ ├── index.ts │ │ ├── server/ │ │ │ ├── completable.examples.ts │ │ │ ├── completable.ts │ │ │ ├── mcp.examples.ts │ │ │ ├── mcp.ts │ │ │ ├── middleware/ │ │ │ │ ├── hostHeaderValidation.examples.ts │ │ │ │ └── hostHeaderValidation.ts │ │ │ ├── server.ts │ │ │ ├── stdio.examples.ts │ │ │ ├── stdio.ts │ │ │ ├── streamableHttp.examples.ts │ │ │ └── streamableHttp.ts │ │ ├── shimsNode.ts │ │ └── shimsWorkerd.ts │ ├── test/ │ │ └── server/ │ │ ├── completable.test.ts │ │ ├── stdio.test.ts │ │ └── streamableHttp.test.ts │ ├── tsconfig.json │ ├── tsdown.config.ts │ ├── typedoc.json │ └── vitest.config.js ├── pnpm-workspace.yaml ├── scripts/ │ ├── cli.ts │ ├── fetch-spec-types.ts │ ├── generate-multidoc.sh │ └── sync-snippets.ts ├── test/ │ ├── conformance/ │ │ ├── README.md │ │ ├── eslint.config.mjs │ │ ├── expected-failures.yaml │ │ ├── package.json │ │ ├── scripts/ │ │ │ └── run-server-conformance.sh │ │ ├── src/ │ │ │ ├── everythingClient.ts │ │ │ ├── everythingServer.ts │ │ │ └── helpers/ │ │ │ ├── conformanceOAuthProvider.ts │ │ │ ├── logger.ts │ │ │ └── withOAuthRetry.ts │ │ ├── tsconfig.json │ │ └── vitest.config.js │ ├── helpers/ │ │ ├── eslint.config.mjs │ │ ├── package.json │ │ ├── src/ │ │ │ ├── helpers/ │ │ │ │ ├── http.ts │ │ │ │ ├── oauth.ts │ │ │ │ └── tasks.ts │ │ │ └── index.ts │ │ ├── tsconfig.json │ │ └── vitest.config.js │ └── integration/ │ ├── eslint.config.mjs │ ├── package.json │ ├── test/ │ │ ├── __fixtures__/ │ │ │ ├── serverThatHangs.ts │ │ │ └── testServer.ts │ │ ├── client/ │ │ │ └── client.test.ts │ │ ├── experimental/ │ │ │ └── tasks/ │ │ │ ├── task.test.ts │ │ │ └── taskListing.test.ts │ │ ├── helpers/ │ │ │ └── mcp.ts │ │ ├── issues/ │ │ │ ├── test1277.zod.v4.description.test.ts │ │ │ ├── test400.optional-tool-params.test.ts │ │ │ └── test_1342OauthErrorHttp200.test.ts │ │ ├── processCleanup.test.ts │ │ ├── server/ │ │ │ ├── bun.test.ts │ │ │ ├── cloudflareWorkers.test.ts │ │ │ ├── deno.test.ts │ │ │ ├── elicitation.test.ts │ │ │ └── mcp.test.ts │ │ ├── server.test.ts │ │ ├── stateManagementStreamableHttp.test.ts │ │ ├── taskLifecycle.test.ts │ │ ├── taskResumability.test.ts │ │ └── title.test.ts │ ├── tsconfig.json │ └── vitest.config.js ├── typedoc.config.mjs └── vitest.workspace.js