ask-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ask-mcpAsk me to choose between Postgres and MySQL for the new schema"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
ask-mcp
An MCP tool that asks you questions — as real HTML forms in the browser. The agent calls ask, a form opens, and the call blocks until you answer. Approvals, choices, tables, markdown, short forms in; structured, validated answers out.
How it works
The agent calls
askwith a title, context blocks, and an input.A form opens in your browser. The tool call waits — minutes, not seconds.
You answer, cancel, or it times out. The agent gets validated structured data.
Built-in question tools (opencode's question, Claude Code's AskUserQuestion) render as inline chat chips: no room for context, loose free-text answers, nothing saved afterwards. ask-mcp gives every question a proper surface instead — with a live queue you can cancel from an admin panel, a history of every spec and response, and archived renders of exactly what you saw.
Related MCP server: Homespun
Screenshots
Choice cards — multi-select grid over the starfield background.

Free-text escape hatch — the Other option over the dot-grid background.

Plan approval — long-form context with the sticky action bar over contour lines.

Info blocks — headings, tables, callouts, and diffs on minimal.

Install
Recommended — the client spawns the server over stdio (no port to manage; form pages still open over loopback HTTP):
bunx @pylotlight/ask-mcp --stdio # Bun
npx -y @pylotlight/ask-mcp --stdio # npm / NodeOr install globally and run the same flag:
npm i -g @pylotlight/ask-mcp # → `ask-mcp --stdio`Requires Node ≥ 22 or Bun ≥ 1.2.
Connect your client
One command — detects opencode, Claude Code, and Claude Desktop, adds the ask server to each, and installs /ask-admin:
npx -y @pylotlight/ask-mcp installExisting entries are left alone unless --force; every touched file is backed up to .bak first.
--client opencode|claude-code|claude-desktop— target one client (default: all detected)--bun— launch viabunx --bun(Bun runtime; plainbunxuses the Node shebang)--force— overwrite an existingaskentry
The installer also sets opencode's experimental.mcp_timeout: blocking asks need a long tool timeout (client defaults ~30 s kill them — ten minutes is a good start; match it with --timeout-ms).
Other MCP clients: launch the package over stdio — command bunx, args ["@pylotlight/ask-mcp", "--stdio"] (or command npx, args ["-y", "@pylotlight/ask-mcp", "--stdio"]; bunx --bun … for the Bun runtime). A small loopback HTTP server serves the form pages (falls back to a free port if 8787 is busy).
Running the agent on a NAS / container / remote pod? Same binary, hosted flags: --host 0.0.0.0 --port <n> --base-url https://<public-origin> plus tokens — see docs/hosting.md.
Slash command (opencode / openchamber)
npx -y @pylotlight/ask-mcp install-commands # installs /ask-admin/ask-admin opens the admin panel in the browser. All ask flows stay agent-driven via the MCP tools. See docs/commands.md.
Admin panel
/admin just opens on the default localhost bind — no setup. Live asks with one-click cancel, the artifact history trail, a config editor (safe fields apply live), and template CRUD. A token (--admin-token, falling back to --auth-token) adds a sign-in gate for shared machines and network binds. See docs/admin.md.
Features
Five input kinds —
approve,single_choice,multi_choice,text,form, with type inference and server-side validation.Other escape hatch — choice prompts accept
other: { placeholder }: typing auto-selects it, empty blocks submit, the answer arrives asotherText.Info blocks — headings, paragraphs, markdown (safe subset), callouts, steps, option cards, tables, diffs, dividers.
Dry run —
dryRun: truevalidates, renders, and archives without blocking, opening, or prompting. Self-check a form before the real call.Artifacts — every ask persisted (
spec.json,response.json,render.html) under~/.config/ask-mcp/YYYY-MM-DD/<token>/, with retention pruning.Live pages — status tracked over SSE; after answering, a settle view shows what was recorded plus a permalink, with auto-close countdown + Close now / Stay open / Copy link (
--settle-view-ms, default 3 s;0stays open).Keyboard-first —
1–9to pick,Enterto confirm,⌘/Ctrl+Enterfrom text areas.Themes — four monochrome form backgrounds (
minimal,starfield,dots,contour) with tunable density and motion, per-install or live from the admin Config tab.HTTP twin —
POST /api/ask+GET /api/templatesgive scripts and CI the same pipeline as the MCP tool.Safe by construction — escaped rendering, strict schemas, per-ask 128-bit capability tokens, strict CSP, loopback-by-default binding.
Docs
docs/ask-tool.md — input kinds, inference rules, result shapes, templates
docs/admin.md — the admin panel
docs/commands.md — templates, HTTP API, slash command
docs/hosting.md — hosted / reverse-proxy mode (NAS, containers, OpenChamber)
docs/reference.md — CLI flags, security model, development, roadmap
This server cannot be deployed
Maintenance
Related MCP Connectors
Agent-Native form builder - create, edit, and manage forms
An AI concierge that turns static forms into adaptive AI conversations. From any MCP client.
Give any AI agent a way to ask a person — for approval, a decision, an answer or a review.
Poke your human for approvals and decisions during agent sessions — answered with one phone tap.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI clients to create multi-field forms, send approval requests via email, and retrieve structured human responses. It facilitates human-in-the-loop workflows by allowing agents to collect data and check form completion status.1,026 npmMIT
- AlicenseAqualityAmaintenanceHand a human a rich interactive UI by URL from any MCP client and get structured data back — forms, approvals, surveys, pickers, editable lists. Round-trip human-in-the-loop for agents.262 npm7MIT
- FlicenseNot gradedqualityBmaintenanceEnables AI agents to render native-looking floating dialogs and forms on the user's desktop, capturing user interactions like button clicks and form inputs.-
- AlicenseAqualityBmaintenanceHand a human a rich interactive UI by URL from any MCP client and get structured data back: forms, approvals, surveys, pickers, editable lists. Round-trip human-in-the-loop for agents.201MIT