Feature Request: Add support for MCP Elicitation
Title: Feature Request: Add support for MCP Elicitation
Labels: feature-request, enhancement, mcp
Is your feature request related to a problem? Please describe.
Currently, when an agentic tool needs specific input from a user to proceed, the workflow can be clunky and error-prone. The agent must ask the user in natural language, the user responds in text, and the agent then has to parse that free-form response. This can lead to failed tool executions or incorrect actions if the user's response is ambiguous.
For example, if a user asks Claude to "delete an unused project," a tool might need to ask the user to specify which project to delete from a list. The current method of handling this interactive step is not robust and breaks the smooth flow of the agentic task.
Describe the solution you'd like
I propose that Claude Code implements support for MCP Elicitation, a powerful feature in the Model Context Protocol (MCP) specification designed to solve this exact problem.
MCP Elicitation allows MCP servers to formally request structured input from the user during a tool's execution. Here's how it works:
- Structured Requests: The server sends an
elicitation/createrequest with a message for the user and a JSON schema defining the required input. - UI Generation: The client (Claude Code) would render an interactive form based on this schema (e.g., text fields, dropdowns for
enum, checkboxes forboolean). - Validated Responses: The user fills out the form, and the client sends the validated data back to the server. This ensures the server gets exactly the information it needs in the correct format.
- User Control: This mechanism keeps the user in the loop for critical decisions and data sharing, while enabling more complex and interactive agentic workflows.
Example Use Case: Deleting a Project
A competitor, Cursor, has recently implemented this feature, and their demonstration perfectly illustrates its value.
User Prompt: delete unused project
- Agent Action: The agent determines it needs to call a
delete-projecttool. - Tool Elicitation: The
delete-projectMCP server is called. It realizes it doesn't know which project to delete. Instead of failing, it queries for available projects and sends an elicitation request back to the client with a schema defining a dropdown list (enum). - User Interaction: The client UI displays a form asking "Which project would you like to delete?" with a dropdown containing the available project names.
- User Selection: The user selects a project from the list and clicks "Submit".
- Tool Execution: The tool receives the user's validated selection and proceeds to delete the correct project.
- Agent Confirmation: The agent confirms the successful deletion to the user.
Describe alternatives you've considered
The main alternative is the current method:
- The tool fails or returns a message saying it needs more information.
- The agent communicates this to the user in the chat.
- The user replies in plain text.
- The agent has to re-invoke the tool with the new information, hoping it parsed the user's text correctly.
This is less efficient, more prone to errors, and provides a worse user experience compared to the structured and validated input provided by elicitation.
Additional context
This feature is part of the official Model Context Protocol specification and represents a key step forward for creating more sophisticated and reliable AI agents. Implementing it would ensure Claude Code remains at the forefront of agentic tooling and maintains compatibility with the growing ecosystem of MCP servers.
This would unlock many powerful workflows, such as:
- Prompting for a commit message or PR title.
- Asking the user to choose between multiple implementation strategies suggested by the agent.
- Requesting credentials or API keys when they aren't found in the environment.
- Asking for confirmation on destructive operations with a clear "type 'project-name' to confirm" text field.
Thank you for considering this important feature. It would be a massive improvement for tool interactivity and reliability.
Found 1 possible duplicate issue:
- https://github.com/anthropics/claude-code/issues/2799
This issue will be automatically closed as a duplicate in 3 days.
- If your issue is a duplicate, please close it and 👍 the existing issue instead
- To prevent auto-closure, add a comment or 👎 this comment
🤖 Generated with Claude Code
And the rest of the MCP spec please. It's your spec, why would you expect other people to use it if you don't.
+1 and #2799
+1
This issue has been inactive for 30 days. If the issue is still occurring, please comment to let us know. Otherwise, this issue will be automatically closed in 30 days for housekeeping purposes.
Duh, yes it is active!