Skip to content

Add elicitation support to server-everything #2269

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

cliffhall
Copy link
Contributor

@cliffhall cliffhall commented Jul 3, 2025

In everything.ts

  • import ElicitRequest and ElicitResultSchema from SDK
  • refactor/rename GetTinyImageSchema to NoArgSchema, which will also be used for elicitation
  • add ELICITATION to ToolName enum
  • add elicitUserInput function that sends an ElicitRequest and returns the result
  • in ListToolsRequest handler
    • add ToolName.ELICITATION entry
  • In CallToolRequest handler
    • add ToolName.ELICITATION handler which calls elicitUserInput returns the formatted result message
    • In GET_TINY_IMAGE handler, remove GetTinyImageSchema.parse(args) since it has no args (like elicitation tool, and doesn't need to be parsed)
  • In package.json

    • bump modelcontextprotocol/sdk to ^1.14.0
  • Updated package-lock.json

Description

Added a tool called elicitationRequest which elicits input from the user via the new elicitation functionality in the spec and SDK.

Server Details

  • Server: everything
  • Changes to: tools

Motivation and Context

New feature of the spec, now available in the SDK, which needs to be demonstrated.

How Has This Been Tested?

Using the currently pending PR in the Inspector project for supporting Elicitation.

Screenshot 2025-07-03 at 2 13 11 PM Screenshot 2025-07-03 at 1 55 33 PM Screenshot 2025-07-03 at 1 55 44 PM Screenshot 2025-07-03 at 1 55 13 PM

Breaking Changes

Nope.

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

  - import ElicitRequest and ElicitResultSchema from SDK
  - refactor/rename GetTinyImageSchema to NoArgSchema
  - add ELICITATION to ToolName enum
  - add elicitUserInput function that sends an ElicitRequest and returns the result
  - in ListToolsRequest handler
    - add ToolName.ELICITATION entry
  - In CallToolRequest handler
    - add ToolName.ELICITATION handler which calls elicitUserInput returns the formatted result message
    - In GET_TINY_IMAGE handler, remove GetTinyImageSchema.parse(args) since it has no args (like elicitation tool, and doesn't need to be parsed)

 * In package.json
   - bump modelcontextprotocol/sdk to ^1.14.0
@olaservo
Copy link
Member

olaservo commented Jul 4, 2025

Hi @cliffhall , there is also a PR that @dend opened here: https://github.com/modelcontextprotocol/servers/pull/2215/files

@cliffhall
Copy link
Contributor Author

cliffhall commented Jul 4, 2025

Hi @cliffhall , there is also a PR that @dend opened here: https://github.com/modelcontextprotocol/servers/pull/2215/files

Woops. I didn't notice that one, it was buried in a sea README updates. Shall I close this one then?

@olaservo olaservo added server-everything Reference implementation for the Everything MCP server - src/everything enhancement New feature or request duplicate This issue or pull request already exists labels Jul 7, 2025
@olaservo
Copy link
Member

olaservo commented Jul 7, 2025

Hi @cliffhall , there is also a PR that @dend opened here: https://github.com/modelcontextprotocol/servers/pull/2215/files

Woops. I didn't notice that one, it was buried in a sea README updates. Shall I close this one then?

@cliffhall yes I think so, unless we have any strong feelings about one demo example being better than the other. :) I also added you as a reviewer there to get more 👀 before merging.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
duplicate This issue or pull request already exists enhancement New feature or request server-everything Reference implementation for the Everything MCP server - src/everything
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants