You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We have a server that implements a task. When we run we set the status to input_required. The Inspector then goes into a status/list/status/list infinite loop. It never attempts to get the task result for the required input.
To Reproduce
Write a server tool that tries to send an ElicitRequest as a task input_required
Expected behavior
Inspector should try to get task result to get the ElicitRequest.
Screenshots
Environment (please complete the following information):
OS: MacOS
Browser Safari
Additional context
n/a
Version Consideration
Inspector V2 is under development to address architectural and UX improvements. During this time, V1 contributions should focus on bug fixes and MCP spec compliance. See CONTRIBUTING.md for more details.
I think there's a disconnect. Looks like you're running 0.19.0. The PR we're testing is on 0.20.0.
Maybe you're not running the PR branch I linked to.
If you are, then I think perhaps your tool should have execution.taskSupport === "forbidden" because the tool itself isn't going to be run as a task, it is going to start a task on the client.
The presence of the "Run as Task" button in your screenshot is a giveaway that either you're not on my branch OR your tool is not configured correctly.
The Everything server has a tool that starts a client side task called trigger-sampling-request-async. Let's test with it.
Try this
Run the Everything server npx @modelcontextprotocol/server-everything@latest streamableHttp
Let me see if I understand correctly. We have a tool, called "task" that wishes to run as a task on our server. So we set the execution.taskSupport to required. Am I not understanding how this works?
Ok, gotcha. We have an Everything server tool with a mode that is meant to test this use case, but it seems not to send the actual elicitation request. We'll get that sorted so we can more properly test the scenario. But are you certain that your server has sent the elicitation request? You said it sent a task status of input_required but didn't mention if elicitation request was sent.
You said it sent a task status of input_required but didn't mention if elicitation request was sent.
As I understand the protocol the ElicitRequest is returned when the client calls task/result which it is meant to do when the status becomes input_required. I’ve tested this with the pending Java client implementation and it works.
With the Inspector we never get the task/result call.
@Randgalt try with STDIO.
In trying the Everything Server's "Simulate Research Query" tool which tests elicitation request generated from a server task, I was seeing:
Getting into the code I found the note @olaservo had left about the gap. The Typescript SDK doesn't support this for anything but STDIO at the moment.
Ok. Our server is HTTP/SSE only. Will wait for that PR
I've pinged the TS SDK team about it. The PR has been outstanding since December. They're in the process of creating a V2 SDK and so V1 isn't getting quite as much attention as it was before. But this is a spec compliance matter, so I think it'll get tended.
Activity
cliffhall commentedon Feb 6, 2026
Hi @Randgalt
I think there's a disconnect. Looks like you're running 0.19.0. The PR we're testing is on 0.20.0.
Maybe you're not running the PR branch I linked to.
If you are, then I think perhaps your tool should have execution.taskSupport === "forbidden" because the tool itself isn't going to be run as a task, it is going to start a task on the client.
The presence of the "Run as Task" button in your screenshot is a giveaway that either you're not on my branch OR your tool is not configured correctly.
The Everything server has a tool that starts a client side task called
trigger-sampling-request-async. Let's test with it.Try this
npx @modelcontextprotocol/server-everything@latest streamableHttpWhat you should see
Screen.Recording.2026-02-06.at.6.06.43.PM.mov
Randgalt commentedon Feb 6, 2026
Let me see if I understand correctly. We have a tool, called "task" that wishes to run as a task on our server. So we set the execution.taskSupport to required. Am I not understanding how this works?
{ "name": "task", "description": "Test task with elicitation", "inputSchema": { "type": "object", "properties": {}, "required": [], "$schema": "https://json-schema.org/draft/2020-12/schema", "description": "Test task with elicitation" }, "annotations": {}, "execution": { "taskSupport": "required" } }Note this is what we return for the
tools/callresult:{ "content": [], "task": { "createdAt": "2026-02-06T23:30:47.576226Z", "lastUpdatedAt": "2026-02-06T23:30:47.576226Z", "pollInterval": 100, "status": "working", "taskId": "e14b50b5fe9c4072ba00f97c9629ceaa", "ttl": 3600000 } }cliffhall commentedon Feb 7, 2026
Ok, gotcha. We have an Everything server tool with a mode that is meant to test this use case, but it seems not to send the actual elicitation request. We'll get that sorted so we can more properly test the scenario. But are you certain that your server has sent the elicitation request? You said it sent a task status of
input_requiredbut didn't mention if elicitation request was sent.Randgalt commentedon Feb 7, 2026
As I understand the protocol the ElicitRequest is returned when the client calls task/result which it is meant to do when the status becomes input_required. I’ve tested this with the pending Java client implementation and it works.
With the Inspector we never get the task/result call.
cliffhall commentedon Feb 7, 2026
@Randgalt try with STDIO.
In trying the Everything Server's "Simulate Research Query" tool which tests elicitation request generated from a server task, I was seeing:
Getting into the code I found the note @olaservo had left about the gap. The Typescript SDK doesn't support this for anything but STDIO at the moment.
Tried it with STDIO and it works fine.
stdio-elicitation.mov
Randgalt commentedon Feb 7, 2026
Ok. Our server is HTTP/SSE only. Will wait for that PR
cliffhall commentedon Feb 7, 2026
I've pinged the TS SDK team about it. The PR has been outstanding since December. They're in the process of creating a V2 SDK and so V1 isn't getting quite as much attention as it was before. But this is a spec compliance matter, so I think it'll get tended.
galagaevdc commentedon Apr 3, 2026
I've prepared the fix for this issue in PR #1174