Repository navigation
Description
Bug description
Built an HTTP MCP Server using Spring AI. Works fine in Streamable mode locally though would prefer Stateless in order to be able to deploy to the cloud.
Environment
Please provide as many details as possible: Spring AI version, Java version, which vector store you use if any, etc
Spring Boot 3.5.9, Java 21, Spring AI 1.1.2 Maven project.
VSCode Version: 1.107.1 (Universal)
Commit: 994fd12f8d3a5aa16f17d42c041e5809167e845a
Date: 2025-12-17T14:15:14.850Z (4 days ago)
Electron: 39.2.3
ElectronBuildId: 12895514
Chromium: 142.0.7444.175
Node.js: 22.21.1
V8: 14.2.231.21-electron.0
OS: Darwin arm64 25.2.0
Steps to reproduce
Run the MCP Server locally.
Connect to VSCode (Cmd + P) -> MCP: Add Server -> Enter URL Add: http://localhost:8080/mcp
Hit Start in mcp.json
Expected behavior
A clear and concise description of what you expected to happen.
Minimal Complete Reproducible example
Fails with:
Fails with error:
2025-12-21 12:27:57.295 [info] Connection state: Starting
2025-12-21 12:27:57.312 [info] Starting server from LocalProcess extension host
2025-12-21 12:27:57.312 [info] Connection state: Running
2025-12-21 12:27:57.408 [error] Error: MPC -32603: Unrecognized field "form" (class io.modelcontextprotocol.spec.McpSchema$ClientCapabilities$Elicitation), not marked as ignorable (0 known properties: ])
at [Source: UNKNOWN; byte offset: #UNKNOWN] (through reference chain: io.modelcontextprotocol.spec.McpSchema$InitializeRequest["capabilities"]->io.modelcontextprotocol.spec.McpSchema$ClientCapabilities["elicitation"]->io.modelcontextprotocol.spec.McpSchema$ClientCapabilities$Elicitation["form"])
at O8i.O (vscode-file://vscode-app/Applications/Visual%20Studio%20Code.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:2265:35574)
at O8i.L (vscode-file://vscode-app/Applications/Visual%20Studio%20Code.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:2265:35369)
at Sce.value (vscode-file://vscode-app/Applications/Visual%20Studio%20Code.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:2265:34358)
at E.C (vscode-file://vscode-app/Applications/Visual%20Studio%20Code.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:29:2349)
at E.fire (vscode-file://vscode-app/Applications/Visual%20Studio%20Code.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:29:2568)
at bMs.pushMessage (vscode-file://vscode-app/Applications/Visual%20Studio%20Code.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:604:55563)
at gli.$onDidReceiveMessage (vscode-file://vscode-app/Applications/Visual%20Studio%20Code.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:604:52099)
at YRt.S (vscode-file://vscode-app/Applications/Visual%20Studio%20Code.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:3894:40815)
at YRt.Q (vscode-file://vscode-app/Applications/Visual%20Studio%20Code.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:3894:40593)
at YRt.M (vscode-file://vscode-app/Applications/Visual%20Studio%20Code.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:3894:39681)
Activity
[-]HTTP MCP Server does not work with VSCode/Claude Code as an MCP Client in Stateless mode[/-][+]HTTP MCP Server does not work with VSCode as an MCP Client in Stateless mode[/+]hocinehacherouf commentedon Dec 22, 2025
Hello, I am confirming this issue. Since the VS Code update (1.107), I am unable to connect to my MCP stateless server. I've tested this on Spring AI 1.1.0 and 1.1.2 with the same result.
Environment:
Error Log from VS Code:
VS Code Details:
flopevel commentedon Dec 30, 2025
Hi, We are experiencing the same problem:
2025-12-30 15:52:00.279 [error] Error: MPC -32603: Unrecognized field "form" (class io.modelcontextprotocol.spec.McpSchema$ClientCapabilities$Elicitation), not marked as ignorable (0 known properties: ])
We have a reactive MCP server with type: ASYNC y protocol: STATELESS
devxb commentedon Jan 8, 2026
I resolved this issue by using a filter.
I registered a filter at the servlet level, and when an MCP request comes in, the filter removes elicitation.form from the request payload before it is processed.
There is already a related PR that addresses this issue, and I think it should be merged:
modelcontextprotocol/java-sdk#725
feat: change MCP server protocol from streamable to stateless
Upgrade MCP SDK to 0.17.1
Upgrade MCP SDK to 0.17.2
Upgrade MCP SDK to 0.17.2
Upgrade MCP SDK to 0.17.2