@leanmcp/elicitation
Structured user input collection for LeanMCP tools using the MCP elicitation protocol. The@Elicitation decorator automatically intercepts tool calls to request missing required parameters from users.
Features
@Elicitation Decorator
Automatically collect missing user inputs before tool execution
Fluent Builder API
Programmatic form creation with
ElicitationFormBuilderMultiple Strategies
Form and multi-step elicitation strategies
Built-in Validation
min/max, pattern matching, custom validators
Installation
Quick Start
Simple Form Elicitation
How It Works
- Client calls tool with missing required fields
- Decorator intercepts and checks for missing fields
- Elicitation request returned with form definition
- Client displays form to collect user input
- Client calls tool again with complete arguments
- Method executes normally
Fluent Builder API
For more complex forms, useElicitationFormBuilder:
Builder Methods
Conditional Elicitation
Only ask for inputs when needed:Multi-Step Elicitation
Break input collection into sequential steps:Field Types
Validation
Built-in Validation
Using ValidationBuilder
Elicitation Flow
Request/Response Cycle
First Call (Missing Fields):API Reference
ElicitationConfig
ElicitationField
FieldValidation
Best Practices
Use Conditional Elicitation
Use Conditional Elicitation
Only ask when truly needed using the
condition option:Provide Sensible Defaults
Provide Sensible Defaults
Reduce user input burden with
defaultValue:Use Builder for Complex Forms
Use Builder for Complex Forms
The fluent API is more maintainable:
Add Helpful Descriptions
Add Helpful Descriptions
Use
helpText and placeholder to guide users:Related Packages
- @leanmcp/core - Core decorators and server functionality
- @leanmcp/auth - Authentication decorators and providers
- @leanmcp/cli - CLI tool for creating new projects

