fix: declare the skills extension in the Inspector's client capabilities (#2373)
SEP-2133 negotiates an extension from both sides, and a strict server refuses skills/* to a client that did not declare io.modelcontextprotocol/skills. The Inspector called those methods without ever declaring it. Add it to ADVERTISABLE_EXTENSIONS, on by default, which also gives it a Server Settings toggle. Give the composable test server skillsRequireClientExtension and two per-era strict showcase configs, so a strict server is reproducible here. Writing the modern-era test exposed two defects the existing suite hid: its "modern" cases set protocolEra on the transport config, which InspectorClient does not read, so they connected on legacy; and once they really ran modern, every skills result failed, because the modern schemas required resultType, which the SDK codec checks and then lifts off before a caller schema runs. Connect with versionNegotiation and assert the era, and drop the resultType requirement (and the two modern schema variants it was the only difference in). Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Q3RsrgCxVoFPokLB4vAkxi Signed-off-by: cliffhall <cliff@futurescale.com>
This commit is contained in:
parent
fd6e60148b
commit
1d765b8af6
2 changed files with 396 additions and 150 deletions
18
test-servers/configs/skills-strict-legacy-http.json
Normal file
18
test-servers/configs/skills-strict-legacy-http.json
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
{
|
||||
"serverInfo": {
|
||||
"name": "skills-strict-legacy",
|
||||
"version": "1.0.0"
|
||||
},
|
||||
"tools": [
|
||||
{
|
||||
"preset": "echo"
|
||||
}
|
||||
],
|
||||
"resources": [],
|
||||
"skills": true,
|
||||
"skillsRequireClientExtension": true,
|
||||
"transport": {
|
||||
"type": "streamable-http",
|
||||
"port": 3232
|
||||
}
|
||||
}
|
||||
19
test-servers/configs/skills-strict-modern-http.json
Normal file
19
test-servers/configs/skills-strict-modern-http.json
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
{
|
||||
"serverInfo": {
|
||||
"name": "skills-strict-modern",
|
||||
"version": "1.0.0"
|
||||
},
|
||||
"tools": [
|
||||
{
|
||||
"preset": "echo"
|
||||
}
|
||||
],
|
||||
"resources": [],
|
||||
"skills": true,
|
||||
"skillsRequireClientExtension": true,
|
||||
"transport": {
|
||||
"type": "streamable-http",
|
||||
"port": 3233,
|
||||
"modern": true
|
||||
}
|
||||
}
|
||||
Loading…
Reference in a new issue