Elicitly

Agent Skills · Rich presentation · Human-in-the-loop

Your AI has questions.Your users have answers.

Elicitly™ connects them. Give your prompts and Agent Skills rich displays and human approvals — show, confirm, choose, approve — without building an MCP server.

elicitly wants to ask

Send the renewal quote to Acme?

OK
Cancel
DismissSubmit
elicit_confirm · rendered natively by your MCP host

→ { "confirmed": true }

How it works

1 — your skill asks

One tool call

No UI code, no server to write.

elicit_confirm({ message: "Send the renewal quote to Acme?" })

2 — your user answers

A native dialog

Their MCP host renders it — the same host they're already working in.

3 — your skill continues

A typed result

Branch on the answer and carry on.

{ "confirmed": true }

Chat is text. Your work isn't.

A wall of text is slow to absorb. The same answer, laid out with pictures, reads at a glance — and elicit_display renders it inline, in the host your users already chat in.

Before · a text reply

Jupiter's four Galilean moons:

Jupiter's Galilean moons as a text table
MoonDiameterOrbitNotable for
Io3,643 km1.77 daysMost volcanic body in the Solar System
Europa3,122 km3.55 daysIce shell over a salty ocean
Ganymede5,268 km7.15 daysLargest moon — bigger than Mercury
Callisto4,821 km16.69 daysOne of the most cratered surfaces
After · elicit_display

Jupiter

Its four Galilean moons

  • Io

    3,643 km · 1.77 days

  • Europa

    3,122 km · 3.55 days

  • Ganymede

    5,268 km · 7.15 days

  • Callisto

    4,821 km · 16.69 days

Images: NASA; NASA/JPL-Caltech/SwRI/MSSS/Kevin M. Gill (CC BY 2.0); zelario12 (CC BY-SA 2.0) — via Wikimedia Commons. See the example →

Take your Agent Skills further

Show the context, then ask for the decision. Rich displays and human approvals come from Elicitly's tools, so your skill gets an MCP App without you building an MCP server. Browse the tools →

# SKILL.md — renewal discount (excerpt)

When a rep asks for more than 10% off a renewal:

1. Call elicit_approval for the sales manager:
     message: "Approve ${discount}% off ${account}?"
     displayTemplate: templates/deal.liquid
     context: { account, amount, discount, margin, rep }
     labels: { submit: "Approve" }

2. Apply the discount only when the decision is approved.
Elicitly review page

Approve 15% off Acme Corp?

Acme Corp — annual renewal

Rep: Mei Chen · West

Amount
$240K
Discount
15%
Margin after
31%
DeclineApprove
elicit_approval (Pro): one call — your template on the review page, and the manager decides on any device
# SKILL.md — supplier change (excerpt)

When a supplier sends new bank or address details:

1. Call elicit_proposal with the ERP record as
   Current and the supplier's letter as a Source.

2. Write back only the fields the reviewer includes.

Never change bank details without an approved proposal.
elicit_proposal · Northwind Supply
Proposed changes to the Northwind Supply record
FieldSupplier letterCurrentProposedInclude
Account number77310264 (differs from current)4028193777310264included
Remit-to address400 Congress Ave, Austin TX (differs from current)12 Elm St, Austin TX400 Congress Ave, Austin TXincluded
Payment termsNet 30Net 30Net 30not included
elicit_proposal (Pro): review field by field, then approve
# SKILL.md — deploy (excerpt)

Before deploying:

1. Call elicit_display with templates/release.liquid and
   context { version, changes }, so the user sees what ships.

2. Call elicit_confirm:
     message: "Deploy ${version} to production?"

Proceed only when the result is { "confirmed": true }.
elicit_display

Release v2.1.0

Changes in release v2.1.0
TypeChange
featOrg allowlist for template images
fixDark mode follows the host theme
docsDiagrams for the approval flows
elicitly wants to ask

Deploy v2.1.0 to production?

OK
Cancel
DismissSubmit
step 1 · elicit_display renders the release inline · step 2 · elicit_confirm asks in the host's native dialog

Advertised ≠ working

Claude.ai · HTTP — form not supported · url not supported · apps worksGoose CLI · HTTP — form works · url not supported · apps not supportedGoose Desktop · HTTP — form works · url not supported · apps brokenChatGPT Desktop · HTTP — form works · url works · apps worksChatGPT Desktop · stdio — form works · url advertised, not yet verified · apps advertised, not yet verifiedClaude Desktop · HTTP — form not supported · url not supported · apps worksClaude Desktop · stdio — form not supported · url not supported · apps worksClaude Code · stdio — form works · url not supported · apps not supportedClaude Code · HTTP — form works · url not supported · apps not supportedSee the Support Matrix →

This gap is why the Pro Edition exists: when the host can't render a dialog, Pro's hosted review page works anywhere — your skill makes the same calls either way. How Pro adapts →

Editions

Free is the dialog; Pro is the durable process — approvals that survive disconnects, reach any device, and leave an audit trail.

Free

$0

Runs entirely on your machine — no account, no service, no infrastructure.

npx -y elicitly

Pro

Free in Early Access

Hosted approvals with review pages, an audit trail, and TTL-bounded decisions that survive disconnects.

See pricing

Enterprise

Tell us more

Self-host in your cloud, SSO/SAML, compliance.

Contact us