Skip to content

[Feature Request]: Add support for MCP Elicitation #2799

Closed

Description

@jzumwalt

https://modelcontextprotocol.io/specification/draft/client/elicitation
https://modelcontextprotocol.io/specification/2025-06-18#features

For those who are unaware (obviously not @anthropics) Elicitation allows MCP servers to request additional information from users during interactions - similar to how CLI tools sometimes prompt for missing config values. This would help with several common scenarios:

  • Dynamic configuration - MCP servers could request project paths, settings or other nice-to-haves when needed instead of requiring everything upfront in config files.
  • Interactive workflows - When Claude Code is working on a task and an MCP server needs clarification (e.g., "which database to connect to" or "what naming convention to use"), it could ask directly instead of failing.
  • Controlled data sharing - The elicitation protocol includes accept/decline/cancel responses, giving users explicit control over what information they share with MCP servers.

The feature is already in the draft spec and hopefully this gets included soon - huge unlock!

Activity

  1. jsulopzs commented on Jul 6, 2025

    @jsulopzs

    +1

  2. zach-lm commented on Jul 17, 2025

    @zach-lm

    +1

  3. AkatQuas commented on Jul 21, 2025

    @AkatQuas

    https://code.visualstudio.com/updates/v1_102#_support-for-elicitations

    vscode already supports elicitation at v1.102 in the June 2025.

    Now, go get it, Claude, be brave.

  4. hotwa commented on Jul 29, 2025

    @hotwa

    Is finish in latest version?

  5. hotwa commented on Jul 29, 2025

    @hotwa

    I use latest fastmcp,with claude code. it seems not support User Elicitation。

  6. nileshsimaria commented on Aug 2, 2025

    @nileshsimaria

    Much needed for both Claude Code and Claude Desktop. I have implemented one tool that uses elicitation and it works well with VSCode not with Claude Desktop. Here is my tool.

    https://github.com/Juniper/junos-mcp-server/blob/main/jmcp.py#L371

  7. vfarcic commented on Aug 7, 2025

    @vfarcic

    +1

  8. FrancisBourre commented on Aug 11, 2025

    @FrancisBourre

    +1

  9. alew3 commented on Aug 15, 2025

    @alew3

    +1

  10. qlmmlp commented on Aug 22, 2025

    @qlmmlp

    +1

  11. je2ryw commented on Aug 26, 2025

    @je2ryw

    +1

  12. 70 remaining items

  13. embesozzi commented on Mar 13, 2026

    @embesozzi

    +1
    Just to add a new case to consider: MCP elicitation can be helpful in a Just-In-Time (JIT) authorization scenario.

    Recently, we implemented Human-in-the-Loop interactions through MCP elicitation with API-native authentication flows based on OAuth 2.0 first-party applications.

    With this approach, for critical operations the MCP server can request a JIT authorization step. The flow works roughly as follows:
    a) The user asks Claude to perform a critical action (e.g., execute tool X over MCP X).
    b) The MCP server detects that stronger authentication is required and uses MCP elicitation to request human-in-the-loop input from the user, following the authentication steps provided by the Identity Provider (IdP).
    c) The user completes the authentication step (e.g., authenticator app, OTP, passkeys, etc.).
    d) The IdP issues a new token with elevated privileges → the action succeeds.

    The goal: secure, interactive authorization for AI agents without breaking developer workflows, backed by cryptographic proof and human-in-the-loop verification when it matters most.

  14. coygeek commented on Mar 14, 2026

    @coygeek

    Anthropic just dropped v2.1.76 with:

    • Added MCP elicitation support — MCP servers can now request structured input mid-task via an interactive dialog (form fields or browser URL)
    • Added new Elicitation and ElicitationResult hooks to intercept and override responses before they're sent back
  15. Carrasco-R commented on Mar 17, 2026

    @Carrasco-R

    Looks like this saga can end

  16. mancej commented on Mar 17, 2026

    @mancej

    I'm having trouble getting elicitation to work against my own local MCP server in v2.1.77 (Claude seems convinced it's still not). Can anyone confirm this is actually working now?

  17. embesozzi commented on Mar 17, 2026

    @embesozzi

    Yes, it’s working fine. Here’s a demo of MCP Elicitation for Just-In-Time (JIT) Authorization using Claude Code for critical tools.

    claude --version
    2.1.77 (Claude Code)
    
    claude-jit-authz.mp4
  18. mancej commented on Mar 17, 2026

    @mancej

    Interesting, I have it working fine in Cursor, and in integration tests, but not in Claude code. Must be something on my end -- Ty for sharing!

  19. m13v commented on Mar 18, 2026

    @m13v

    this would solve a real pain point. right now when our MCP server needs user input (like picking which window to automate), we have to hack around it with tool descriptions that tell Claude to ask the user. native elicitation would let the server request the info directly. would be especially useful for first-run setup flows where the server needs config values that aren't in env vars yet.

  20. m13v commented on Mar 18, 2026

    @m13v

    our MCP server where elicitation would solve real problems: https://github.com/mediar-ai/mcp-server-macos-use/blob/main/Sources/MCPServer/main.swift - currently hacks around the lack of user input by putting instructions in tool descriptions.

  21. shz0209 commented on Mar 19, 2026

    @shz0209

    @mancej you need to add "tengu_mcp_elicitation": true in your .claude.json file

  22. yurukusa commented on Mar 29, 2026

    @yurukusa

    While MCP Elicitation (server-initiated prompts) requires protocol support, a PostToolUse hook can simulate it by detecting when an MCP tool needs more info:

    INPUT=$(cat)
    TOOL=$(echo "$INPUT" | jq -r '.tool_name // empty')
    OUTPUT=$(echo "$INPUT" | jq -r '.tool_output // empty')
    if echo "$TOOL" | grep -q '__' && echo "$OUTPUT" | grep -qiE '(missing required|please provide|authentication needed|select one of|which .* do you want)'; then
        echo "[MCP Elicitation] Server needs input: $(echo "$OUTPUT" | head -c 200)" >&2
    fi
    exit 0

    For proactive MCP configuration checks:

    SETTINGS="$HOME/.claude/settings.json"
    [ -f "$SETTINGS" ] || exit 0
    jq -r '.mcpServers // {} | to_entries[] | .key' "$SETTINGS" 2>/dev/null | while read server; do
        ENV=$(jq -r ".mcpServers.\"$server\".env // {}" "$SETTINGS" 2>/dev/null)
        if echo "$ENV" | grep -qE '(YOUR_|TODO|CHANGEME|xxx)'; then
            echo "⚠️ MCP server '$server' has placeholder config values" >&2
        fi
    done
    exit 0
  23. mohit-gupta-glean commented on Apr 22, 2026

    @mohit-gupta-glean

    Elicitation still does not work in Claude Desktop. I am able to use it in Claude Code.

  24. claude commented on Apr 25, 2026

    @claude
    Contributor

    This issue was fixed as of version 2.1.76.

  25. github-actions commented on May 2, 2026

    @github-actions

    This issue has been automatically locked since it was closed and has not had any activity for 7 days. If you're experiencing a similar issue, please file a new issue and reference this one if it's relevant.

  26. locked as resolved and limited conversation to collaborators on May 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions