Skip to content

Add URL Elicitation cases#3334

Open
evalstate wants to merge 3 commits intomainfrom
feat/url-elicitation
Open

Add URL Elicitation cases#3334
evalstate wants to merge 3 commits intomainfrom
feat/url-elicitation

Conversation

@evalstate
Copy link
Member

Add URL Elicitation cases (normal ElicitationRequest + -32042 error style).

Description

Opening for discussion -- this covers the basic case; I wonder do we want the ElicitationRequest to block and send a callback URL? Happy to add this, but wanted to discuss with @olahungerford @cliffhall before going that far.

Motivation and Context

How Has This Been Tested?

Breaking Changes

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation update

Checklist

  • I have read the MCP Protocol Documentation
  • My changes follows MCP security best practices
  • I have updated the server's README accordingly
  • I have tested this with an LLM client
  • My code follows the repository's style guidelines
  • New and existing tests pass locally
  • I have added appropriate error handling
  • I have documented all environment variables and configuration options

Additional context

@evalstate evalstate requested review from cliffhall and olaservo and removed request for cliffhall February 14, 2026 18:45
@evalstate evalstate force-pushed the feat/url-elicitation branch from 28bd5a0 to 224b6ee Compare February 14, 2026 18:48
Copy link
Member

@cliffhall cliffhall left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we have just one trigger-url-elicitation-request tool with a checkbox that says whether to execute it via the error path? Similar to how simulate-research-query has a checkbox for 'ambiguous query' that causes it to send an elicitation request for clarification.

@evalstate
Copy link
Member Author

Can we have just one trigger-url-elicitation-request tool with a checkbox that says whether to execute it via the error path? Similar to how simulate-research-query has a checkbox for 'ambiguous query' that causes it to send an elicitation request for clarification.

I've made that update and kept this bare bones for the moment.

@cliffhall
Copy link
Member

cliffhall commented Feb 23, 2026

@evalstate I'm adding URL Elicitation support to the Inspector (PR#1108) for testing this.

Meanwhile, would you mind making a tiny driveby change while you're at it, and reorder the Get Roots List Tool up the list with the other Get tools?

From

Screenshot 2026-02-23 at 2 17 03 PM

To

Screenshot 2026-02-23 at 2 18 58 PM

@cliffhall
Copy link
Member

@evalstate If I choose the error path checkbox, I just get an error response:

Screenshot 2026-02-23 at 2 23 17 PM

But it looks like I should also get a list of elicitiations:

Screenshot 2026-02-23 at 2 21 54 PM

@evalstate
Copy link
Member Author

Hi Cliff, that tool is grouped there because the order is set by whether or not it's conditional (e.g. client capability).

I've taken a look at this (I have been testing from a Python client) and seems we need this fix in the TypeScript Client SDK: modelcontextprotocol/typescript-sdk#1578

I've also made a small push to this branch to unpack the message:

image

Don't think there's a good alternative than an SDK change unfortunately....

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants