Skip to main content

@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 ElicitationFormBuilder

Multiple 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

  1. Client calls tool with missing required fields
  2. Decorator intercepts and checks for missing fields
  3. Elicitation request returned with form definition
  4. Client displays form to collect user input
  5. Client calls tool again with complete arguments
  6. Method executes normally

Fluent Builder API

For more complex forms, use ElicitationFormBuilder:

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):
Second Call (Complete Fields):

API Reference

ElicitationConfig

ElicitationField

FieldValidation


Best Practices

Only ask when truly needed using the condition option:
Reduce user input burden with defaultValue:
The fluent API is more maintainable:
Use helpText and placeholder to guide users: