Invoke Human

Claude MCP setup: connect Invoke Human

Claude on the web connects from Anthropic's cloud. Claude Code connects from your machine. Same URL either way.

Updated October 17, 2026

  1. Add a custom connector. In Claude, open Customize, Connectors, Add custom connector, and paste https://invokehumantool.com/mcp. On Team and Enterprise, an Owner adds it first.
  2. Register automatically. Choose sign-in, and under OAuth client choose Register automatically. The server publishes dynamic client registration.
  3. Or add Claude Code. Run claude mcp add --transport http invoke-human https://invokehumantool.com/mcp so Claude Code connects from your machine.
  4. Answer in the app. Enable the connector in a conversation, let the agent call a handoff tool, and answer on iPhone, iPad, or Mac.

There are two Claudes for this, and they do not share a config file.

The custom connector is for Claude on the web, Claude Desktop, Cowork, and the mobile apps. Anthropic’s custom connector article says that connection is made from Anthropic’s cloud, not from your laptop, even when the app is local. Free, Pro, Max, Team, and Enterprise can add one. Free plans are limited to one custom connector.

Claude Code is the terminal (and its desktop). It connects from the machine running claude. The reference is Connect Claude Code to tools via MCP.

Both want the same URL: https://invokehumantool.com/mcp.

Custom connector

Pro and Max. Customize, then Connectors. Choose Add, then Add custom connector. Name it Invoke Human. Paste the URL. Continue.

Team and Enterprise. An Owner adds it under Organization settings, Connectors, Add, Custom, Web. Same name and URL. After that, each person opens Customize, Connectors, finds the custom connector, and chooses Connect. Until an Owner adds it, members do not get a URL field.

On the authentication step:

Enable it per conversation from the plus button, then Connectors.

Claude Code

HTTP is the transport Anthropic recommends for a remote server:

claude mcp add --transport http invoke-human https://invokehumantool.com/mcp

That registers it for you, in the current project. For every project, add --scope user. To commit it for a repository, add --scope project, which writes .mcp.json. If you write that file by hand, type is required:

{
  "mcpServers": {
    "invoke-human": {
      "type": "http",
      "url": "https://invokehumantool.com/mcp"
    }
  }
}

Claude Code reads a url without type as a stdio server and skips it. streamable-http is accepted as an alias of http. You do not pass --client-id unless you are on a server that refuses dynamic registration. This one publishes it.

Local stdio config in claude_desktop_config.json is a third mechanism, for a process on your computer. You do not need it for Invoke Human.

Use it

Ask Claude to call one of these. send_handoff sends a handoff to the signed-in person, or to other people. send_ui_handoff sends a structured form the person answers on a device or a signed link. send_html_handoff sends an HTML handoff the person answers by tapping or typing. validate_ui checks a UI document before it is sent. share_handoff invites more people to a handoff, or forwards it. delegate_handoff forwards a handoff to new recipients. get_handoff_status reads the type, title, and status of one handoff. get_handoff_result fetches the answer, or the current status if it is not finished. wait_for_handoff waits until the person finishes that handoff. Parameter names come from the tool list the server returns after OAuth. The short install is on Support.

Claude may also ask, in its own UI, before it uses a tool. That is the client’s permission check. The thing you answer in the Invoke Human app is the handoff: the question, the approval, or the worksheet. The human-in-the-loop page is the distinction in more detail.

You answer on iPhone, iPad (iOS 17 or later, TestFlight from the home page), or Mac. The answer goes back to the Claude conversation that asked, with attribution.

When it fails

A connector that never gets past “could not connect” on a private URL is the cloud path doing what Anthropic documents: it cannot see your VPN. This URL is public, so that is not the case here. A 401 after the connector is added means OAuth did not finish. On Claude Code, a skipped server in the startup log is almost always a missing type.

Same server, other clients: Cursor, Codex, ChatGPT.

Questions

Does the connector connect from my laptop?

No. Anthropic's help center says a custom remote connector is reached from Anthropic's cloud, including when you are in Claude Desktop, Cowork, or the mobile apps. Invoke Human is a public URL, so that is fine. A server on localhost would not be.

Why can't I add a connector on a Team plan?

Anthropic says only Owners and Primary Owners can add custom connectors on Team plans, and only Owners, Primary Owners, and roles with Manage access to Libraries can add them on Enterprise. Members then open Customize, Connectors, and choose Connect.

Claude Code says the server has a url but no type. What now?

Claude Code treats a JSON entry with a url and no type as a broken stdio server. The entry needs type http. The claude mcp add --transport http command writes that for you.