Skip to main content
Glama

Invoke Human Tool

Server Details

Ask a person on an Apple device or in a browser, then read their answer.

Ownership verified
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

A3.9/5.0

Scored across 16 tools

Disambiguation4/5

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.

Naming Consistency5/5

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.

Tool Count4/5

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.

Completeness4/5

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 tools
delegate_handoffForward a handoffA
Destructive
Inspect

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 historyA
Read-onlyIdempotent
Inspect

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 answerA
Read-onlyIdempotent
Inspect

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 handoffA
Read-onlyIdempotent
Inspect

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 statusA
Read-onlyIdempotent
Inspect

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 blocksB
Read-onlyIdempotent
Inspect

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 revisionA
Read-onlyIdempotent
Inspect

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 handoffA
Destructive
Inspect

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 formA
Destructive
Inspect

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 formA
Destructive
Inspect

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.

share_handoffInvite someoneA
Destructive
Inspect

Invite more people to a handoff you own. Each recipient is one of user_id, email, handle, group, team, or group_id. They must accept before they can read the pages. This sends an invite and cannot be silently undone. It does not delete the handoff or drop your own duty to answer. Calling it again sends another invite.

Inputs: id (required), recipients (required).

upload_imageUpload an imageA
Idempotent
Inspect

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 alt. An https or data URL is rejected. This does not send a handoff.

Inputs: data_base64 (required), alt.

upload_videoUpload a videoA
Idempotent
Inspect

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 formA
Read-onlyIdempotent
Inspect

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 answerA
Read-onlyIdempotent
Inspect

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

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables AI agents to ask questions to users asynchronously via a local macOS app, allowing users to respond by text or voice.
      1
      MIT
    • A
      license
      Not graded
      quality
      C
      maintenance
      Enables 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 npm
      2
      MIT
    • A
      license
      Not graded
      quality
      C
      maintenance
      Enables 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
    • A
      license
      Not graded
      quality
      C
      maintenance
      Lets 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 npm
      MIT
    Try in Browser

    Glama MCP Gateway

    Add one secure layer between your agents and this server.