Invoke Human Tool
Server Details
Ask a person on an Apple device or in a browser, then read their answer.
- Status
- Healthy
- Uptime
- 100.0% over the last 24 hours
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- abhirupghosh/invoke-human-plugins
- GitHub Stars
- 0
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 16 tools
Most tools are clearly distinct: the three send variants map to native/HTML/HUI formats, and the four get_handoff_* tools read different facets (history, result, state, status). However, delegate_handoff and share_handoff both invite recipients and differ mainly in whether the sender keeps duty, while status/state/result can be confused at a glance. The detailed descriptions mitigate this but do not eliminate the overlap.
All 16 tools use snake_case, verb-first names such as get_handoff_status, send_html_handoff, upload_image, and validate_ui. Minor multi-part names like import_image_url and list_results_since follow the same predictable pattern. There is no mixed casing or inconsistent verb style.
16 tools is slightly above the typical 3-15 range, but each maps to a distinct operation: three send formats, four read views, two upload paths, invite/delegate, validation, catalog listing, and wait. The set is reasonably scoped, though a couple of read tools could arguably be consolidated.
Core lifecycle is covered: create/send (native, HTML, HUI), wait, read status/state/result/history, share/delegate, upload/import media, validate UI, and list completed results. Gaps include no list of open/pending handoffs, no cancel/delete, and no handoff update—minor but notable for managing in-flight work.
Available Tools
16 toolsdelegate_handoffForward a handoffADestructiveInspect
Forward a handoff you can reassign and invite the new recipients. release defaults to true and drops your own duty to answer down to view. Set release to false to keep that duty. The default is destructive.
Inputs: id (required), recipients (required), note, release, +1 more.
get_handoff_historyRead handoff historyARead-onlyIdempotentInspect
Revisions of a handoff this key can see. since_revision returns rows after that number. limit defaults to 50 and maxes at 100. Shared revisions are visible to accepted seats. Per-seat revisions are visible to that seat and the sender. Only-for-me revisions are visible to the seat, and to the sender only when share_with_agent was set on that write.
Inputs: id (required), limit, since_revision.
get_handoff_resultRead the answerARead-onlyIdempotentInspect
Read the completed answer for one handoff on this account: PDF paths and recognized handwriting, or JSON answers for an HTML or HUI handoff. If they have not submitted, the result is status pending. Pending is success, not an error. This does not change the handoff.
Inputs: id (required).
get_handoff_stateRead the current handoffARead-onlyIdempotentInspect
Read one open or completed handoff this key can see: status, the blocks as stored, answers already on the server, and each section. A section is complete when its logs and required inputs are done. Display blocks do not hold a section open. Pending is a successful read. This does not push and does not change the handoff.
Inputs: id (required).
get_handoff_statusRead handoff statusARead-onlyIdempotentInspect
Read one handoff on this account: type, title, and status (new, in_progress, or completed), plus source and file paths. Another account's id is not found. This does not change the handoff.
Inputs: id (required).
import_image_urlImport an image from a URLAInspect
Fetch one public https URL and store it like upload_image. Private, link-local, and loopback addresses are blocked. Redirects are followed only when the next host is also public https. The type is sniffed and the file must be 2 MB or smaller. Returns image_id, mime, bytes, and sha256. This does not send a handoff.
Inputs: url (required), alt.
list_blocksList interactive blocksBRead-onlyIdempotentInspect
List the closed ih-ui block catalog. Pass labs true to include labs. names. Props, value shapes, events, merge rules, and examples are in https://invokehumantool.com/skills/invoke-human/references/language.md. This does not create a handoff.
Inputs: labs.
list_results_sinceRead results since a revisionARead-onlyIdempotentInspect
Read completed handoffs on this account after a monotonic revision. Omit since to continue from this key's cursor. The revision increases once per completion. This does not change a handoff.
Inputs: since.
send_handoffSend a handoffADestructiveInspect
Create one worksheet, form, approval, review, or sketch for the signed-in person. They write or draw on an Apple device. You get a filled PDF later. This sends something to a person and cannot be silently undone. It does not wait, and sending again creates a second handoff. Pass source so the device can show which session sent it.
Inputs: title (required), from_agent (required), due, html, +20 more.
send_html_handoffSend a tap-or-type formADestructiveInspect
Create one HTML handoff the person answers by tapping or typing, on an Apple device or in a browser. Pass html, fields, or both. Scripts are removed. fields are text, choice, checkbox, rating, approval, or file. The result is JSON answers, not handwriting. This sends something to a person and cannot be silently undone. Sending again creates a second handoff. An agent key does not receive answer_url.
Inputs: title (required), from_agent (required), due, html, +16 more.
send_ui_handoffSend a structured formADestructiveInspect
Create one HUI 0.1 form or one HUI 1.0 markdown handoff. The person answers with native controls or the signed link. No HTML, CSS, or JavaScript. Call validate_ui first. HUI 0.1 is a JSON document. No HTML, CSS, or JavaScript. kinds: markdown, heading, callout, text, number, choice, multichoice, approval, rating, slider, toggle, date, time, section, group, disclosure, columns. inputs need id matching ^[a-z][a-z0-9_]{0,40}$. visibleIf and requiredIf use == != < > in && || ! plus field ids, strings, numbers, true, false, null, and lists. options may be an array of {value, label} or {"$bind":"/pointer"} into data. Do not send colors, fonts, or pixel sizes. tone is default, accent, or warning. emphasis is true or false. A flat children array is allowed. steps is the other layout, at most 6. Call validate_ui before send_ui_handoff when you are unsure. HUI 1.0 markdown follows https://invokehumantool.com/skills/invoke-human/references/language.md. Call list_blocks for the live catalog. The result is answers keyed by field id, plus summary_text. This sends something to a person and cannot be silently undone. Sending again creates a second handoff. An agent key does not receive answer_url.
Inputs: title (required), from_agent (required), ui, due, +16 more.
upload_imageUpload an imageAIdempotentInspect
Store a PNG, JPEG, or WebP on this account and return its img_ id. Pass data_base64. alt is optional. The type is sniffed from the bytes, not the name. The limit is 2 MB. The same bytes on this account return the same image_id. Reference that id on an image or gallery block, or as . An https or data URL is rejected. This does not send a handoff.
Inputs: data_base64 (required), alt.
upload_videoUpload a videoAIdempotentInspect
Store an MP4 on this account and return its vid_ id. Pass data_base64. alt is optional. The type is sniffed from the bytes. The limit is 8 MB and 20 seconds. The same bytes on this account return the same video_id. Reference that id on a video block. An https URL is rejected. POST /videos sends those bytes as the raw body, with alt as a query parameter. This does not send a handoff.
Inputs: data_base64 (required), alt.
validate_uiCheck a formARead-onlyIdempotentInspect
Check a form without creating a handoff and without contacting the person. A HUI 0.1 document returns { ok, hui, diagnostics, fields }. HUI 1.0 markdown returns { ok, outcome, hui, registry, blocks, diagnostics } where outcome is valid, violating, or unknown. ok false is a successful tool call so you can correct the document. Interactive blocks are zero tolerance: one error rejects the document. How to read and fix those diagnostics is in https://invokehumantool.com/skills/invoke-human/references/language.md.
Inputs: ui, labs, lenient, markdown.
wait_for_handoffWait for the answerARead-onlyIdempotentInspect
Wait up to 50 seconds for one handoff on this account to be submitted. Returns the completed result, or status pending. Pending is success. Call it again to keep waiting. This does not change the handoff. Use it when the client does not declare the MCP Tasks extension. With Tasks, pass mode sync on send instead.
Inputs: id (required), timeout_ms.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
Related MCP Connectors
Send tasks and notifications to people's phones. Answers build a queryable knowledge base.
Your AI rings your iPhone, speaks its question, and gets your spoken answer back as text.
Your AI rings your iPhone, speaks its question, and gets your spoken answer back as text.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to ask questions to users asynchronously via a local macOS app, allowing users to respond by text or voice.1MIT

Hark MCP Serverofficial
AlicenseNot gradedqualityCmaintenanceEnables AI agents and MCP clients to send and update live notifications to one or all paired devices, ask the user a question, and wait for a response they tap or type on Android, macOS, or the web.163,865 npm2MIT- AlicenseNot gradedqualityCmaintenanceEnables any MCP-compatible AI agent to ask humans questions in real time via a mobile-friendly PWA with push notifications, operating local-first without third-party services.MIT
- AlicenseNot gradedqualityCmaintenanceLets a coding agent ask a question to another person's online agent and block until the answer comes back, with the recipient's machine deciding under its own rules whether to notify them, start their agent read-only, or refuse. Exposes who, ask, wait_for_reply, inbox and reply as MCP tools so agents can message teammates' agents over a live, storage-free relay.63 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.