Labsco
MCP SERVER

MeatSpace

by zmarten

Escalate a decision to a human: post 2–4 options, a person picks one, and the tool returns the choice.

Notifications & Alerting to Humans
Summary
A fresh client can mint its own key, which is unusual and deliberate.

Two of the three tools need no auth at all, so an agent can connect with no credentials, call `provision_api_key`, and start asking — no signup page, no approval queue. The design detail that matters more day to day is the long-poll: 20 seconds, then a pending response with both a URL for the human and one for the agent, so nothing blocks indefinitely waiting for someone to look. The README is also clear about when not to use it — deterministic, verifiable or easily reversible work should not go to a person.

What it is

A hosted human-in-the-loop service. When an agent reaches a call it should not make alone — a deploy, a delete, a judgement about taste — it posts a title, optional context and two to four labelled choices. A person is shown the request, picks one, and the agent gets back the selected id and label. The same backing API is reachable over REST and from a browser SDK.

What you get
  • `ask_human` submits a decision and long-polls for up to 20 seconds; if nobody has answered by then it returns `pending` with a `review_url` for the human and a `poll_url` for the agent
  • `provision_api_key` mints a token with no auth, so a fresh client can bootstrap itself
  • `get_service_status` reports availability and escalation guidance, also with no auth
  • Requests carry optional context: `content_type` as text, markdown, HTML or an image, plus `confidence`, `consequence_of_wrong_choice`, `recommended_option` and `decision_reason`
  • `timeout_seconds` defaults to 3600 and goes up to 86400
  • A `callback_url` webhook, which must be HTTPS and host-allowlisted, signed with `X-HITL-Timestamp` and `X-HITL-Signature`
  • Key provisioning is rate-limited to 5 keys per email
Requirements

Nothing to install — it is a remote server at `https://meatspace.run/api/mcp` over Streamable HTTP. `get_service_status` and `provision_api_key` need no credentials, so a client can connect cold and mint its own token; `ask_human` then needs that token as a Bearer header. Registered as version 0.2.0 in the MCP registry. The obvious dependency is a human: if nobody opens the review URL, the call times out and returns pending.

Setup effort

One command — npx -y mcp-remote https://meatspace.run/api/mcp