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>
18 lines
285 B
JSON
18 lines
285 B
JSON
{
|
|
"serverInfo": {
|
|
"name": "skills-strict-legacy",
|
|
"version": "1.0.0"
|
|
},
|
|
"tools": [
|
|
{
|
|
"preset": "echo"
|
|
}
|
|
],
|
|
"resources": [],
|
|
"skills": true,
|
|
"skillsRequireClientExtension": true,
|
|
"transport": {
|
|
"type": "streamable-http",
|
|
"port": 3232
|
|
}
|
|
}
|