From 6649827552af2fe44c70ab872927f7771d65cf43 Mon Sep 17 00:00:00 2001 From: Matthew Podwysocki Date: Mon, 26 Oct 2026 10:18:47 -0400 Subject: [PATCH 1/2] chore: bump MCP TypeScript SDK to 2.4.0 Co-Authored-By: Claude Opus 5.5 --- CHANGELOG.md | 1 + package-lock.json | 40 ++++++++++++++++++++-------------------- package.json | 8 ++++---- 3 files changed, 25 insertions(+), 24 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2605d6e..928d96c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -27,6 +27,7 @@ ### Maintenance +- **MCP TypeScript SDK 2.4.0 (#PR).** Bumps `@modelcontextprotocol/server`, `/core` and `/client` from 2.3.1 to 2.4.0 and `/node` to 2.1.2. 2.4.0 adds the SDK's Skills extension (`@modelcontextprotocol/server/ext/skills`, SEP-2640), which #295 can use instead of its own `skills/list` and `skills/get` handlers. Its patch changes don't affect our tools: none of our schemas use `$id`, a `$ref` root or `x-mcp-header`. - **Removed build output committed under `src/` (#297).** `src/utils/versionUtils-cjs.cjs`, `.d.cts` and their source maps were compiled output from a `tsc` run that wrote next to the sources, committed back in #96. Only `versionUtils-cjs.cts` is source: tshy swaps it in for `versionUtils.ts` in the CommonJS build. `.gitignore` now keeps `.js`, `.cjs`, `.mjs`, `.d.*ts` and `.map` files out of `src/` and `test/`. ## 0.16.1-dev - 2026-10-16 diff --git a/package-lock.json b/package-lock.json index 28a61d1..a28bf37 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,9 +10,9 @@ "hasInstallScript": true, "license": "MIT", "dependencies": { - "@modelcontextprotocol/core": "^2.3.1", + "@modelcontextprotocol/core": "^2.4.0", "@modelcontextprotocol/ext-apps": "^2.0.3", - "@modelcontextprotocol/server": "^2.3.1", + "@modelcontextprotocol/server": "^2.4.0", "@opentelemetry/api": "^1.9.1", "@opentelemetry/auto-instrumentations-node": "^0.74.0", "@opentelemetry/exporter-trace-otlp-http": "^0.216.0", @@ -32,8 +32,8 @@ "devDependencies": { "@anthropic-ai/sdk": "^0.133.0", "@eslint/js": "^9.27.0", - "@modelcontextprotocol/client": "^2.3.1", - "@modelcontextprotocol/node": "^2.1.1", + "@modelcontextprotocol/client": "^2.4.0", + "@modelcontextprotocol/node": "^2.1.2", "@types/node": "^22.0.0", "@typescript-eslint/eslint-plugin": "^8.58.2", "@typescript-eslint/parser": "^8.58.2", @@ -1918,12 +1918,12 @@ } }, "node_modules/@modelcontextprotocol/client": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/@modelcontextprotocol/client/-/client-2.3.1.tgz", - "integrity": "sha512-mIGZXpHsjnZ6lD+gD/WCMpR5k8yVQQ8nNFH1N0Srf7AvnwTUMYD6pvTY8ng2+He5FfV7YMZLmrjL7cLa/cc3dQ==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@modelcontextprotocol/client/-/client-2.4.0.tgz", + "integrity": "sha512-LgrD2OphHuG12vfKFKz6SOnq7bKHQmhGJIAYdD+MZBn2npHEyry6uD8zvktodtl5CQM85MO0anUyD9JwmUmxww==", "license": "Apache-2.0", "dependencies": { - "@modelcontextprotocol/core": "2.3.1", + "@modelcontextprotocol/core": "2.4.0", "cross-spawn": "^7.0.5", "eventsource": "^3.0.2", "eventsource-parser": "^3.0.8", @@ -1936,9 +1936,9 @@ } }, "node_modules/@modelcontextprotocol/core": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/@modelcontextprotocol/core/-/core-2.3.1.tgz", - "integrity": "sha512-laVmIhPGpWi7rG9q+0UigblRN0Hws/Yjlb6qLFtVqryXVLkc4h+yN8z731POD2LnAGQlFe7/tXhUm7Bi0YB91g==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@modelcontextprotocol/core/-/core-2.4.0.tgz", + "integrity": "sha512-z8QBKqdfXLPzkLQuG4xp8hrVEMm1PZ1IgxMN2sMbJiFiAKOWXnAzogXn2W4aqIBlP1ea6U5yiqVquvUNM1Cj6Q==", "license": "Apache-2.0", "dependencies": { "zod": "^4.2.0" @@ -1982,29 +1982,29 @@ } }, "node_modules/@modelcontextprotocol/node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@modelcontextprotocol/node/-/node-2.1.1.tgz", - "integrity": "sha512-EY92OAXN2xYL7tNS/MVsWJW1v8VHAPwl9B4Ca3pCrjmvqyC+S1C/6UHsMxF2GoFPraS5Yyg56vFz9brVpFojMA==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@modelcontextprotocol/node/-/node-2.1.2.tgz", + "integrity": "sha512-IIcIqBpr6NCQQs5DgJTgvbSOAw+3iaR/uquqg+e0nXCdudfjPg/80x0TseUnQx14AUAtE4fsJCEpJKPyb6WPVA==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@hono/node-server": "^1.19.9", + "@hono/node-server": "^1.19.9 || ^2.1.3", "hono": "^4.11.4" }, "engines": { "node": ">=20" }, "peerDependencies": { - "@modelcontextprotocol/server": "^2.3.0" + "@modelcontextprotocol/server": "^2.4.0" } }, "node_modules/@modelcontextprotocol/server": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/@modelcontextprotocol/server/-/server-2.3.1.tgz", - "integrity": "sha512-e59MfWuSssj6DoQ96JCTqdW1AXT5/XtnTl0WWd6MU1Ka434fFUGGosCLJbGNySDhHGvxQWoRWK137FXYFkYNWw==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@modelcontextprotocol/server/-/server-2.4.0.tgz", + "integrity": "sha512-rgR9yxSaAJ+bcsi/XroT/S2AfPiIWloXAnrdfYSCms9ivVju0ishu/wW0J21Ho6+ZOR1r7RyeRbjiRuF87ix5Q==", "license": "Apache-2.0", "dependencies": { - "@modelcontextprotocol/core": "2.3.1", + "@modelcontextprotocol/core": "2.4.0", "zod": "^4.2.0" }, "engines": { diff --git a/package.json b/package.json index 7d953a1..3cae385 100644 --- a/package.json +++ b/package.json @@ -42,8 +42,8 @@ "devDependencies": { "@anthropic-ai/sdk": "^0.133.0", "@eslint/js": "^9.27.0", - "@modelcontextprotocol/client": "^2.3.1", - "@modelcontextprotocol/node": "^2.1.1", + "@modelcontextprotocol/client": "^2.4.0", + "@modelcontextprotocol/node": "^2.1.2", "@types/node": "^22.0.0", "@typescript-eslint/eslint-plugin": "^8.58.2", "@typescript-eslint/parser": "^8.58.2", @@ -87,9 +87,9 @@ "mcp" ], "dependencies": { - "@modelcontextprotocol/core": "^2.3.1", + "@modelcontextprotocol/core": "^2.4.0", "@modelcontextprotocol/ext-apps": "^2.0.3", - "@modelcontextprotocol/server": "^2.3.1", + "@modelcontextprotocol/server": "^2.4.0", "@opentelemetry/api": "^1.9.1", "@opentelemetry/auto-instrumentations-node": "^0.74.0", "@opentelemetry/exporter-trace-otlp-http": "^0.216.0", From 85129be2478e958c526cce6f5c8625521964a8ce Mon Sep 17 00:00:00 2001 From: Matthew Podwysocki Date: Mon, 26 Oct 2026 10:18:58 -0400 Subject: [PATCH 2/2] docs: add PR number to CHANGELOG Co-Authored-By: Claude Opus 5.5 --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 928d96c..06df40f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -27,7 +27,7 @@ ### Maintenance -- **MCP TypeScript SDK 2.4.0 (#PR).** Bumps `@modelcontextprotocol/server`, `/core` and `/client` from 2.3.1 to 2.4.0 and `/node` to 2.1.2. 2.4.0 adds the SDK's Skills extension (`@modelcontextprotocol/server/ext/skills`, SEP-2640), which #295 can use instead of its own `skills/list` and `skills/get` handlers. Its patch changes don't affect our tools: none of our schemas use `$id`, a `$ref` root or `x-mcp-header`. +- **MCP TypeScript SDK 2.4.0 (#303).** Bumps `@modelcontextprotocol/server`, `/core` and `/client` from 2.3.1 to 2.4.0 and `/node` to 2.1.2. 2.4.0 adds the SDK's Skills extension (`@modelcontextprotocol/server/ext/skills`, SEP-2640), which #295 can use instead of its own `skills/list` and `skills/get` handlers. Its patch changes don't affect our tools: none of our schemas use `$id`, a `$ref` root or `x-mcp-header`. - **Removed build output committed under `src/` (#297).** `src/utils/versionUtils-cjs.cjs`, `.d.cts` and their source maps were compiled output from a `tsc` run that wrote next to the sources, committed back in #96. Only `versionUtils-cjs.cts` is source: tshy swaps it in for `versionUtils.ts` in the CommonJS build. `.gitignore` now keeps `.js`, `.cjs`, `.mjs`, `.d.*ts` and `.map` files out of `src/` and `test/`. ## 0.16.1-dev - 2026-10-16