Update to MCP conformance tests version 0.1.13 (#1249)

This commit is contained in:
Stephen Toub 2026-02-05 21:18:47 -05:00 • committed by GitHub
commit 0114de746e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 98 additions and 30 deletions

73
package-lock.json generated
View file

@ -1,12 +1,11 @@
{ {
"name": "csharp-sdk", "name": "mcp",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"dependencies": { "dependencies": {
"@modelcontextprotocol/conformance": "0.1.10", "@modelcontextprotocol/conformance": "0.1.13",
"@modelcontextprotocol/sdk": "1.25.3",
"@modelcontextprotocol/server-everything": "2025.12.18", "@modelcontextprotocol/server-everything": "2025.12.18",
"@modelcontextprotocol/server-memory": "2026.1.26" "@modelcontextprotocol/server-memory": "2026.1.26"
} }
@ -24,16 +23,18 @@
} }
}, },
"node_modules/@modelcontextprotocol/conformance": { "node_modules/@modelcontextprotocol/conformance": {
"version": "0.1.10", "version": "0.1.13",
"resolved": "https://registry.npmjs.org/@modelcontextprotocol/conformance/-/conformance-0.1.10.tgz", "resolved": "https://registry.npmjs.org/@modelcontextprotocol/conformance/-/conformance-0.1.13.tgz",
"integrity": "sha512-efzLxW3sNiC48ARADxNkSNSZREdjtQNJ+12MJHCUDSnHZMbiFa7v5SivB2Aja4LCE0ZiWgnG5I5PSNMBrp1xKg==", "integrity": "sha512-J9cC7Dsi7hTn7sxorvxDZ+wC8OlHAkOmVxVm1/IBQ8HEpYJu8r0eAUEw68vTmjBPP5WcU8Jld4RZ3cOFp/Ih1g==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@modelcontextprotocol/sdk": "^1.25.2", "@modelcontextprotocol/sdk": "^1.26.0",
"commander": "^14.0.2", "commander": "^14.0.2",
"eventsource-parser": "^3.0.6", "eventsource-parser": "^3.0.6",
"express": "^5.1.0", "express": "^5.1.0",
"jose": "^6.1.2", "jose": "^6.1.2",
"undici": "^7.19.0",
"yaml": "^2.8.2",
"zod": "^3.25.76" "zod": "^3.25.76"
}, },
"bin": { "bin": {
@ -41,9 +42,9 @@
} }
}, },
"node_modules/@modelcontextprotocol/sdk": { "node_modules/@modelcontextprotocol/sdk": {
"version": "1.25.3", "version": "1.26.0",
"resolved": "https://registry.npmjs.org/@modelcontextprotocol/sdk/-/sdk-1.25.3.tgz", "resolved": "https://registry.npmjs.org/@modelcontextprotocol/sdk/-/sdk-1.26.0.tgz",
"integrity": "sha512-vsAMBMERybvYgKbg/l4L1rhS7VXV1c0CtyJg72vwxONVX0l4ZfKVAnZEWTQixJGTzKnELjQ59e4NbdFDALRiAQ==", "integrity": "sha512-Y5RmPncpiDtTXDbLKswIJzTqu2hyBKxTNsgKqKclDbhIgg1wgtf1fRuvxgTnRfcnxtvvgbIEcqUOzZrJ6iSReg==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@hono/node-server": "^1.19.9", "@hono/node-server": "^1.19.9",
@ -54,14 +55,15 @@
"cross-spawn": "^7.0.5", "cross-spawn": "^7.0.5",
"eventsource": "^3.0.2", "eventsource": "^3.0.2",
"eventsource-parser": "^3.0.0", "eventsource-parser": "^3.0.0",
"express": "^5.0.1", "express": "^5.2.1",
"express-rate-limit": "^7.5.0", "express-rate-limit": "^8.2.1",
"jose": "^6.1.1", "hono": "^4.11.4",
"jose": "^6.1.3",
"json-schema-typed": "^8.0.2", "json-schema-typed": "^8.0.2",
"pkce-challenge": "^5.0.0", "pkce-challenge": "^5.0.0",
"raw-body": "^3.0.0", "raw-body": "^3.0.0",
"zod": "^3.25 || ^4.0", "zod": "^3.25 || ^4.0",
"zod-to-json-schema": "^3.25.0" "zod-to-json-schema": "^3.25.1"
}, },
"engines": { "engines": {
"node": ">=18" "node": ">=18"
@ -467,10 +469,13 @@
} }
}, },
"node_modules/express-rate-limit": { "node_modules/express-rate-limit": {
"version": "7.5.1", "version": "8.2.1",
"resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-7.5.1.tgz", "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-8.2.1.tgz",
"integrity": "sha512-7iN8iPMDzOMHPUYllBEsQdWVB6fPDMPqwjBaFrgr4Jgr/+okjvzAy+UHlYYL/Vs0OsOrMkwS6PJDkFlJwoxUnw==", "integrity": "sha512-PCZEIEIxqwhzw4KF0n7QF4QqruVTcF73O5kFKUnGOyjbCCgizBBiFaYpd/fnBLUMPw/BWw9OsiN7GgrNYr7j6g==",
"license": "MIT", "license": "MIT",
"dependencies": {
"ip-address": "10.0.1"
},
"engines": { "engines": {
"node": ">= 16" "node": ">= 16"
}, },
@ -629,7 +634,6 @@
"resolved": "https://registry.npmjs.org/hono/-/hono-4.11.7.tgz", "resolved": "https://registry.npmjs.org/hono/-/hono-4.11.7.tgz",
"integrity": "sha512-l7qMiNee7t82bH3SeyUCt9UF15EVmaBvsppY2zQtrbIhl/yzBTny+YUxsVjSjQ6gaqaeVtZmGocom8TzBlA4Yw==", "integrity": "sha512-l7qMiNee7t82bH3SeyUCt9UF15EVmaBvsppY2zQtrbIhl/yzBTny+YUxsVjSjQ6gaqaeVtZmGocom8TzBlA4Yw==",
"license": "MIT", "license": "MIT",
"peer": true,
"engines": { "engines": {
"node": ">=16.9.0" "node": ">=16.9.0"
} }
@ -682,6 +686,15 @@
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
"license": "ISC" "license": "ISC"
}, },
"node_modules/ip-address": {
"version": "10.0.1",
"resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.0.1.tgz",
"integrity": "sha512-NWv9YLW4PoW2B7xtzaS3NCot75m6nK7Icdv0o3lfMceJVRfSoQwqD4wEH5rLwoKJwUiZ/rfpiVBhnaF0FK4HoA==",
"license": "MIT",
"engines": {
"node": ">= 12"
}
},
"node_modules/ipaddr.js": { "node_modules/ipaddr.js": {
"version": "1.9.1", "version": "1.9.1",
"resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
@ -1207,6 +1220,15 @@
"node": ">= 0.6" "node": ">= 0.6"
} }
}, },
"node_modules/undici": {
"version": "7.20.0",
"resolved": "https://registry.npmjs.org/undici/-/undici-7.20.0.tgz",
"integrity": "sha512-MJZrkjyd7DeC+uPZh+5/YaMDxFiiEEaDgbUSVMXayofAkDWF1088CDo+2RPg7B1BuS1qf1vgNE7xqwPxE0DuSQ==",
"license": "MIT",
"engines": {
"node": ">=20.18.1"
}
},
"node_modules/unpipe": { "node_modules/unpipe": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
@ -1252,6 +1274,21 @@
"integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
"license": "ISC" "license": "ISC"
}, },
"node_modules/yaml": {
"version": "2.8.2",
"resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.2.tgz",
"integrity": "sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==",
"license": "ISC",
"bin": {
"yaml": "bin.mjs"
},
"engines": {
"node": ">= 14.6"
},
"funding": {
"url": "https://github.com/sponsors/eemeli"
}
},
"node_modules/zod": { "node_modules/zod": {
"version": "3.25.76", "version": "3.25.76",
"resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz", "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz",

View file

@ -2,8 +2,7 @@
"private": true, "private": true,
"description": "Pinned npm dependencies for MCP C# SDK integration and conformance tests", "description": "Pinned npm dependencies for MCP C# SDK integration and conformance tests",
"dependencies": { "dependencies": {
"@modelcontextprotocol/conformance": "0.1.10", "@modelcontextprotocol/conformance": "0.1.13",
"@modelcontextprotocol/sdk": "1.25.3",
"@modelcontextprotocol/server-everything": "2025.12.18", "@modelcontextprotocol/server-everything": "2025.12.18",
"@modelcontextprotocol/server-memory": "2026.1.26" "@modelcontextprotocol/server-memory": "2026.1.26"
} }

View file

@ -332,16 +332,49 @@ public class ConformanceTools
{ {
Properties = Properties =
{ {
["color"] = new ElicitRequestParams.UntitledSingleSelectEnumSchema() ["untitledSingle"] = new ElicitRequestParams.UntitledSingleSelectEnumSchema()
{ {
Description = "Choose a color", Description = "Choose an option",
Enum = ["red", "green", "blue"] Enum = ["option1", "option2", "option3"]
}, },
["size"] = new ElicitRequestParams.UntitledSingleSelectEnumSchema() ["titledSingle"] = new ElicitRequestParams.TitledSingleSelectEnumSchema()
{ {
Description = "Choose a size", Description = "Choose a titled option",
Enum = ["small", "medium", "large"], OneOf =
Default = "medium" [
new() { Const = "value1", Title = "First Option" },
new() { Const = "value2", Title = "Second Option" },
new() { Const = "value3", Title = "Third Option" }
]
},
#pragma warning disable MCP9001
["legacyEnum"] = new ElicitRequestParams.LegacyTitledEnumSchema()
{
Description = "Choose a legacy option",
Enum = ["opt1", "opt2", "opt3"],
EnumNames = ["Option One", "Option Two", "Option Three"]
},
#pragma warning restore MCP9001
["untitledMulti"] = new ElicitRequestParams.UntitledMultiSelectEnumSchema()
{
Description = "Choose multiple options",
Items = new ElicitRequestParams.UntitledEnumItemsSchema
{
Enum = ["option1", "option2", "option3"]
}
},
["titledMulti"] = new ElicitRequestParams.TitledMultiSelectEnumSchema()
{
Description = "Choose multiple titled options",
Items = new ElicitRequestParams.TitledEnumItemsSchema
{
AnyOf =
[
new() { Const = "value1", Title = "First Choice" },
new() { Const = "value2", Title = "Second Choice" },
new() { Const = "value3", Title = "Third Choice" }
]
}
} }
} }
}; };
@ -354,8 +387,7 @@ public class ConformanceTools
if (result.Action == "accept" && result.Content != null) if (result.Action == "accept" && result.Content != null)
{ {
return $"Accepted with values: color={result.Content["color"].GetString()}, " + return $"Elicitation completed: action={result.Action}, content={result.Content}";
$"size={result.Content["size"].GetString()}";
} }
else else
{ {

View file

@ -5,5 +5,5 @@
"Microsoft.AspNetCore": "Warning" "Microsoft.AspNetCore": "Warning"
} }
}, },
"AllowedHosts": "*" "AllowedHosts": "localhost;127.0.0.1;[::1]"
} }