elicitly — the Free Edition local MCP server
A local (stdio) MCP server that makes MCP elicitation easy to use from any
prompt or Agent Skill — and its cross-host support visible.
Tools
- elicit_confirm — an OK/Cancel confirmation modeled on JavaScript's
confirm(); override labels.ok/labels.cancel to relabel or localize
(e.g. Aceptar/Cancelar).
- elicit_form — fire a form elicitation with your own JSON schema
(
requestedSchema subset);
returns the raw {action, content}.
- elicit_doctor — reports the connected host's support for the
client features
(elicitation form vs url mode, sampling, roots), and with
probeElicitation: true runs one live elicitation round-trip and classifies
the result (working, advertised_but_autocanceled, user_declined,
advertised_but_unanswered, unsupported).
Run it
npx -y elicitly
Register it with any MCP host as a stdio server. In Claude Code:
claude mcp add elicitly -- npx -y elicitly
or in a host config file (.mcp.json or client settings):
{
"mcpServers": {
"elicitly": { "command": "npx", "args": ["-y", "elicitly"] }
}
}
Claude Desktop (one-click)
Download elicitly.mcpb from the
latest release and
open it in Claude Desktop (or Settings → Extensions → Install extension).
The bundle is self-contained — no Node.js or npm setup of your own; it runs
on Claude Desktop's managed runtime. Build it from source with
pnpm --filter elicitly build:mcpb.
Claude Desktop and dialogs: current Claude Desktop builds don't
advertise elicitation to local MCP servers (config-file and extension
installs alike — measured, not assumed), so elicit_confirm and
elicit_form return their graceful no-answer contract there rather than
raising a dialog. elicit_doctor still reports the host truthfully — that
report is the point. See the
Elicitation Support Matrix
for hosts where dialogs work, and the
Pro Edition for approvals that reach a
browser-based review page when the host has no native dialog.
Exercise it
- elicit_doctor — passive capability report, no user prompt. Check
support.elicitationForm / support.elicitationUrl.
- elicit_doctor with
probeElicitation: true — one real elicitation
round-trip; read probes.elicitationForm.verdict.
- elicit_confirm — an OK/Cancel prompt (e.g.
message: "Ship it?").
- elicit_form — your own JSON schema; inspect the raw
{action, content}.
Full docs: elicitly.ai/docs
From source
pnpm install
pnpm --filter elicitly build # produces packages/elicitly/dist/cli.mjs
claude mcp add elicitly -- node /absolute/path/to/packages/elicitly/dist/cli.mjs
Privacy
The server runs entirely on your machine: tool calls and elicitation answers
stay between your MCP host and the local process, and nothing is sent
anywhere. The contribute-fingerprint prompt only prepares a GitHub issue
link — you review and submit it yourself. Project privacy policy:
https://www.elicitly.ai/privacy/
License
Apache-2.0