feat: Add MCP elicitation for create project and branch tools
Summary
Implements MCP elicitation for the apply_migration tool to request user confirmation before applying database migrations.
Implementation
Uses a try-catch pattern to gracefully fallback when clients don't support elicitation:
- Supporting clients: Show confirmation dialog with migration details and SQL preview
- Non-supporting clients: Proceed with migration without confirmation (existing behavior)
Client Support
Currently supported: VS Code Copilot, Cursor, Postman, VT Code, fast-agent, mcp-use, MCPJam
Not yet supported: Claude Desktop, Claude.ai, GitHub Copilot coding agent
Related
@mattrossman I've implemented elicitation on apply_migration as a POC. Would love to discuss the implementation and testing approach before rolling it out to the other high-priority tools (execute_sql, merge_branch, etc.).
@mattrossman Added elicitation request to create_project and create_branch tools and hide the confirm_cost tool when the client supports elicitations.
You can check that the tool confirm_cost is not listed on a client that supports elicitation (VS Code) and is there for Claude Code (doesn't support elicitation.
VS Code Copilot (Supports Elicitation)
Claude Code (doesn't support elicitation)
Tested in Cursor and Claude Code, the flow feels good in both.