Commit graph

1,336 commits

Author SHA1 Message Date
Paul Carleton
398dc70f64
fix: clear _timeoutInfo in _onclose() and scope .finally() abort controller cleanup (#1462)
Co-authored-by: Felix Weinberger <fweinberger@anthropic.com>
2026-03-23 16:39:42 +00:00
Tilak Dave
93640d33ab
fix: reject plain JSON Schema objects passed as inputSchema (#1596)
Co-authored-by: Matt <77928207+mattzcarey@users.noreply.github.com>
2026-03-23 14:45:17 +00:00
Paul Carleton
4cbcec0edb
[v1.x backport] Default to client_secret_basic when server omits token_endpoint_auth_methods_supported (#1611)
Co-authored-by: Basil Hosmer <basil@anthropic.com>
Co-authored-by: Matt <77928207+mattzcarey@users.noreply.github.com>
2026-03-02 11:46:30 +00:00
Anthony Giniers
c9b58d1986
feat: use scopes_supported from resource metadata by default (fixes #580) (#757)
Co-authored-by: Paul Carleton <paulc@anthropic.com>
2026-03-02 11:42:39 +00:00
Den Delimarsky
351e1246fc
docs: add links to hosted V1 and V2 API reference docs
🏠 Remote-Dev: homespace
2026-02-25 19:13:29 +00:00
Felix Weinberger
4faa8c899c
chore: bump version to 1.27.1 (#1581) v1.27.1 2026-02-24 21:53:52 +00:00
qing-ant
09a85a8043
fix: call onerror for silently swallowed transport errors (#1580)
Co-authored-by: Felix Weinberger <fweinberger@anthropic.com>
2026-02-24 21:46:12 +00:00
Max Isbey
e79d14ab6d
fix: prevent command injection in example URL opening (v1.x backport) (#1579) 2026-02-24 17:06:14 +00:00
Felix Weinberger
342ea394ca
docs: comprehensive feature documentation for SEP-1730 Tier 1 (#1548) 2026-02-17 16:22:16 +00:00
Felix Weinberger
2084a22074
docs: add governance documentation for SEP-1730 (#1547) 2026-02-17 16:21:23 +00:00
Felix Weinberger
f2d21458cc
feat: implement auth/pre-registration conformance scenario (#1545) 2026-02-16 19:27:46 +00:00
Felix Weinberger
8cbc658483
chore: bump version for v1.27.0 (#1541) v1.27.0 2026-02-16 16:39:03 +00:00
Luca Chang
5c16ae3339
[v1.x] feat(tasks): add streaming methods for elicitation and sampling (#1528)
Co-authored-by: Konstantin Konstantinov <KKonstantinov@users.noreply.github.com>
2026-02-15 15:02:27 +02:00
Valentin Beggi
97ab379e45
feat: add url property to RequestInfo interface (#1353)
Co-authored-by: Matt <77928207+mattzcarey@users.noreply.github.com>
2026-02-15 14:57:53 +02:00
Felix Weinberger
825e9ab803
feat: backport discoverOAuthServerInfo() and discovery caching to v1.x (#1533) 2026-02-13 18:20:54 +00:00
Felix Weinberger
b0cf83716b
feat: add conformance test infrastructure for v1.x (#1518)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: Paul Carleton <paulcarletonjr@gmail.com>
2026-02-11 11:18:45 +00:00
Paul Carleton
fe9c07b465
chore: bump version to 1.26.0 (#1479) v1.26.0 2026-02-04 19:00:12 +00:00
Paul Carleton
4f01e7e070
fix: add non-null assertions for optional setupServer fields in stateful test 2026-02-04 18:52:07 +00:00
Paul Carleton
a05be176ca
Merge commit from fork
* fix: add transport isolation guards to prevent cross-client data leaks

When a single McpServer or stateless transport is reused across multiple
client connections, responses can be routed to the wrong client due to
message ID collisions. This is a data leak vulnerability (CWE-362).

Two guards added:
- Protocol.connect() throws if already connected to a transport
- Stateless transport.handleRequest() throws if called more than once

Also fixes three examples that shared a single McpServer across sessions:
- standaloneSseWithGetStreamableHttp.ts
- ssePollingExample.ts
- elicitationFormExample.ts

Related: #820, #204, #243

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix: correct misleading test name and add per-request cleanup

- Rename 'should reject second SSE stream even in stateless mode' to
  'should allow multiple SSE streams in stateless mode with per-request
  transports' since the test now asserts both streams succeed (status 200)
- Add mcpServer.close() after per-request handling in
  stateManagementStreamableHttp.test.ts to prevent resource leaks,
  matching the pattern used in streamableHttp.test.ts
- Remove unused mcpServers array that collected but never cleaned up
  per-request server instances

* thread abort through sendRequest and notification to prevent crosstalk

* test: remove dummy objects from stateless setupServer return

In stateless mode, setupServer() was creating unused McpServer and
StreamableHTTPServerTransport instances solely to satisfy the return
type. Make mcpServer/serverTransport optional in the return type and
simplify the stateless beforeEach/afterEach to only track server and
baseUrl.

* fix: use McpError for sendRequest abort guard and fix Hono example reuse

- sendRequest abort guard now throws McpError(ErrorCode.ConnectionClosed)
  instead of plain Error for consistency with the rest of the codebase
- Hono example updated to create fresh transport and server per request,
  fixing breakage from the stateless transport reuse guard

* fix: use separate resolvers per protocol in transport isolation test

Address review feedback: each protocol handler now has its own resolver
returning distinct data (responseForA vs responseForB), so the test
properly demonstrates that responses route to the correct transport.
Uses explicit 'handler entered' promises for deterministic synchronization.

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-04 18:23:03 +00:00
Zwifi
50d9fa3cd1
Fix #1430: Client Credentials providers scopes support (backported) (#1442) 2026-02-02 15:53:49 +00:00
Samuele V
aa81a66556
fix(deps): resolve npm audit vulnerabilities and bump dependencies (v1.x backport) (#1382)
Co-authored-by: Konstantin Konstantinov <KKonstantinov@users.noreply.github.com>
2026-01-23 15:44:06 +00:00
Paul Carleton
6aba065965
chore: bump v1.25.3 for backport fixes (#1412) 2026-01-20 11:42:13 +00:00
Matt
6e8f7e1a43
fix: prevent Hono from overriding global Response object (v1.x) (#1411) 2026-01-20 11:17:15 +00:00
Ola Hungerford
12ae856cee
[v1.x backport] Use correct schema for client sampling validation when tools are present (#1407)
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-20 11:15:11 +00:00
Paul Carleton
b392f02ffc
fix: prevent ReDoS in UriTemplate regex patterns (v1.x backport) (#1365) v1.25.2 2026-01-07 14:37:11 +00:00
Anton Pidkuiko
a0c9b13484
fix: README badges links destinations (#907)
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Felix Weinberger <3823880+felixweinberger@users.noreply.github.com>
2025-12-19 16:47:16 +00:00
Felix Weinberger
6dd08ac608
ci: trigger workflow on v1.x branch (#1319) 2025-12-19 15:45:13 +02:00
Felix Weinberger
384311b9b8
chore: bump version for patch fix (#1307) 1.25.1 2025-12-16 16:10:07 +01:00
Konstantin Konstantinov
fb07af810b
spec types - backwards compatibility changes (#1306) 2025-12-16 15:15:39 +01:00
Felix Weinberger
2b20ca9573
chore: bump version for release (#1301) 1.25.0
simple version bump for release
2025-12-15 19:39:21 +01:00
Matt
67ba7adbb7
feat: fetch transport (#1209)
Co-authored-by: Felix Weinberger <3823880+felixweinberger@users.noreply.github.com>
2025-12-15 17:28:10 +00:00
Dale Seo
1d42547134
Add theme property to Icon schema (#1290)
Co-authored-by: Konstantin Konstantinov <KKonstantinov@users.noreply.github.com>
2025-12-15 18:03:03 +02:00
Henry Mao
54303b4f8c
Add optional description field to Implementation schema (#1295)
Co-authored-by: Konstantin Konstantinov <KKonstantinov@users.noreply.github.com>
Co-authored-by: Konstantin Konstantinov <konstantin@mach5technology.com>
2025-12-15 17:58:03 +02:00
Felix Weinberger
9941294df9
Fix Zod v4 schema description extraction (#1296) 2025-12-15 17:46:11 +02:00
Matt
34c9e165fe
Update TypeScript config to ES2020 to fix AJV imports (#1297) 2025-12-15 15:33:10 +00:00
Dale Seo
67d79d45ee
Update server examples and docs (#1285) 2025-12-11 11:58:47 +00:00
Felix Weinberger
06a4fd2332
Follow-up fixes for PR #1242 (#1274) 2025-12-09 14:21:02 +02:00
Konstantin Konstantinov
a606fb1790
SPEC COMPLIANCE: Remove loose/passthrough types not allowed/defined by MCP spec + Task types (#1242) 2025-12-09 11:52:23 +00:00
Konstantin Konstantinov
4d6c3b8284
Flaky test fix on Types.test.ts (#1244)
Co-authored-by: Felix Weinberger <3823880+felixweinberger@users.noreply.github.com>
2025-12-08 21:40:18 +00:00
Matt
fbf5fc9b02
Protocol date validation (#1247) 2025-12-08 17:46:34 +00:00
Dale Seo
cd7a055abc
fix a typo in examples README (#1246) 2025-12-08 11:52:20 +00:00
Konstantin Konstantinov
d0be5fa296
tsconfig - tests and build fix (#1243) 2025-12-07 14:45:49 +02:00
Konstantin Konstantinov
8d27021af9
Fix tsconfig: remove tests (#1240) 2025-12-07 12:53:02 +02:00
Konstantin Konstantinov
5a9de1c638
Relocate tests under /test (#1220) 2025-12-05 23:56:12 +00:00
Luca Chang
7655eeb51c
Remove type dependency on @cfworker/json-schema (#1229)
Co-authored-by: Matt Carey <mcarey@cloudflare.com>
Co-authored-by: Matt <77928207+mattzcarey@users.noreply.github.com>
2025-12-05 19:13:45 +02:00
V
316906aeb8
fix: Support updating output schema (#1048)
Co-authored-by: Konstantin Konstantinov <konstantin@mach5technology.com>
2025-12-05 11:20:29 +02:00
Cliff Hall
a57303c335
No automatic completion support unless needed - Revisited yet again (#1237) 2025-12-05 06:12:16 +02:00
Paul Carleton
d5dba5484c
fix: use versioned npm tag for non-main branch releases (#1236)
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Felix Weinberger <3823880+felixweinberger@users.noreply.github.com>
2025-12-04 19:24:26 +00:00
Konstantin Konstantinov
e7ab32f9b5
Role - moved from inline to reusable type (#1221) 2025-12-04 21:21:46 +02:00
Matt
b0aac584fb
list changed handlers on client constructor (#1206)
Co-authored-by: ChipGPT <chip@ignission.io>
Co-authored-by: Konstantin Konstantinov <KKonstantinov@users.noreply.github.com>
2025-12-04 21:08:36 +02:00