mcpField
E
Elicitation MCP Server

Elicitation MCP Server

Local
github.com/blizzy78AI & Agents2Updated 64w ago

About Elicitation MCP Server

Elicitation MCP Server lets agents request information from users during a task. It supports free text and several structured input types, returning an answer or a cancellation notice.

Key features

  1. 01Collect free-form text
  2. 02Offer selectable options
  3. 03Ask for booleans and numbers
  4. 04Collect dates, email, and URIs

Use cases

  1. 01Fill in information needed for a task
  2. 02Let users choose from alternatives
  3. 03Collect numbers within defined limits

MCP support

It exposes elicitation tools to MCP clients for requesting text, options, booleans, numbers, dates or times, email addresses, and URIs. Cancellations are also reported.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"elicit": {
"command": "npx",
"args": [
"-y",
"@blizzy/mcp-elicit"
]
}
}
}
Run commandnpx -y @blizzy/mcp-elicit

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npm@blizzy/mcp-elicit

Tools

7

Saved tool list · updated 2w ago

ParameterTypeRequiredDescription
requestedInformationTitlestringYesA concise title for the requested information.
requestedInformationDescriptionstringNoAn optional concise description for the requested information.

Details

From the project README

Elicitation MCP Server

This MCP server allows agents to request information directly from the user, such as text, numbers, etc.

Tools

  1. elicit_information

    • A tool to request information directly from the user, as a free-form text input
    • Inputs:
      • requestedInformationTitle (string): A concise title for the requested information
      • requestedInformationDescription (string, optional): An optional concise description for the requested information
    • Returns: Text content with user's response ("User answered with: {answer}"), or notification if user declined/canceled
  2. elicit_options

    • A tool to prompt the user to select from a list of options
    • Inputs:
      • requestedInformationTitle (string): A concise title for the requested information
      • requestedInformationDescription (string, optional): An optional concise description for the requested information
      • options (array of strings): An array of option values to choose from
      • optionNames (array of strings, optional): An optional array of human-readable names for the options. Must match the length and order of options if provided
    • Returns: Text content with user's selected option ("User answered with: {selection}"), or notification if user declined/canceled
  3. elicit_boolean

    • A tool to prompt the user for a Boolean response (yes/no, true/false, on/off etc.)
    • Inputs:
      • question (string): A concise question that can be answered with a Boolean response
      • questionDescription (string, optional): An optional concise description for the requested information
    • Returns: Text content with user's boolean response ("User answered with: true/false"), or notification if user declined/canceled
  4. elicit_number

    • A tool to prompt the user for a number input
    • Inputs:
      • requestedNumberTitle (string): A concise title for the requested number
      • requestedNumberDescription (string, optional): An optional concise description for the requested information
      • minimum (number, optional): An optional minimum value constraint
      • maximum (number, optional): An optional maximum value constraint
    • Returns: Text content with user's number input ("User answered with: {number}"), or notification if user declined/canceled
  5. elicit_date_time

    • A tool to prompt the user for a date or date-time input
    • Inputs:
      • requestedDateTimeTitle (string): A concise title for the requested date/time
      • requestedDateTimeDescription (string, optional): An optional concise description for the requested information
      • format (enum: "date" | "date-time", default: "date"): The format for the date/time input. 'date' for date only, 'date-time' for date and time
    • Returns: Text content with user's date/time input ("User answered with: {date}"), or notification if user declined/canceled
  6. elicit_email

    • A tool to prompt the user for an email address input
    • Inputs:
      • requestedEmailTitle (string): A concise title for the requested email
      • requestedEmailDescription (string, optional): An optional concise description for the requested information
    • Returns: Text content with user's email input ("User answered with: {email}"), or notification if user declined/canceled
  7. elicit_uri

    • A tool to prompt the user for a URI input
    • Inputs:
      • requestedUriTitle (string): A concise title for the requested URI
      • requestedUriDescription (string, optional): An optional concise description for the requested information
    • Returns: Text content with user's URI input ("User answered with: {uri}"), or notification if user declined/canceled

Usage with Claude Desktop (uses stdio Transport)

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "elicit": {
      "command": "npx",
      "args": [
        "-y",
        "@blizzy/mcp-elicit"
      ]
    }
  }
}

Usage with VS Code

For quick installation, use of of the one-click install buttons below.

Install with NPX in VS Code Install with NPX in VS Code Insiders

For manual installation, add the following JSON block to your User Settings (JSON) file in VS Code. You can do this by pressing Ctrl + Shift + P and typing Preferences: Open User Settings (JSON).

Optionally, you can add it to a file called .vscode/mcp.json in your workspace. This will allow you to share the configuration with others.

Note that the mcp key is not needed in the .vscode/mcp.json file.

NPX
{
  "mcp": {
    "servers": {
      "elicit": {
        "command": "npx",
        "args": ["-y", "@blizzy/mcp-elicit"]
      }
    }
  }
}

Running from source with HTTP+SSE Transport (deprecated as of 2025-03-26)

pnpm install
pnpm run start:sse

Run from source with Streamable HTTP Transport

pnpm install
pnpm run start:streamableHttp

Running as an installed package

Install
npm install -g @blizzy/mcp-elicit@latest
Run the default (stdio) server
npx @blizzy/mcp-elicit
Or specify stdio explicitly
npx @blizzy/mcp-elicit stdio
Run the SSE server
npx @blizzy/mcp-elicit sse
Run the streamable HTTP server
npx @blizzy/mcp-elicit streamableHttp

License

This package is licensed under the MIT license.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.