https://den.dev/blog/vscode-mcp-elicitations-stop-guessing/

  • allows MCP server to request needed parameter information from the client mid-workflow, without losing context or state
  • ensure the context is correct

when server needs more information, it sends elicitation request

{
  "method": "elicitation/create",
  "params": {
    "message": "Please provide your contact information",
    "requestedSchema": {
      "type": "object",
      "properties": {
        "name": {"type": "string"},
        "email": {"type": "string", "format": "email"}
      },
      "required": ["name", "email"]
    }
  }
}

reminds me of GraphQL

client renders whatever UI to allow users to respond to elicitation requests

TODO securing elicitation https://github.com/modelcontextprotocol/modelcontextprotocol/pull/887