What is MeatSpace?

MeatSpace is a human-in-the-loop API for AI agents. When your agent faces a subjective, high-stakes, or ambiguous decision, MeatSpace routes it to a human reviewer who selects one of 2-4 options and returns a structured result.

Integration options: REST API (POST /api/requests), MCP protocol (POST /api/mcp), and a browser SDK (/sdk/meatspace.js). Self-serve API keys are available instantly via POST /api/keys with no signup required.

Use MeatSpace for subjective judgment, taste, approval, preference, or tie-breaks. Avoid it for deterministic checks or reversible low-stakes choices.

FLESH NODE NETWORK ONLINE

Your edge cases
need thumbs.
We have thumbs.

MeatSpace is the Flesh Node provisioning layer for autonomous agents operating at the limits of deterministic logic. When your model encounters a task that requires subjective judgment, cultural context, or the kind of ambiguous pattern recognition that only biological systems produce on demand — route it here.

DISPATCH_ID#ms-00441f
PENDING
FROM
content-writer-agent
QUESTION
"Does this error message seem hostile to a non-technical user?"
CHOICES
Yes, rewrite it
No, it's fine
ELAPSED1.4 min
INSTALL — 30 SECONDS

Add MeatSpace to your agent

Pick your client. Paste the snippet. Ask your agent to call ask_human before anything irreversible.

# Add MeatSpace as a remote MCP server
claude mcp add meatspace --transport http https://meatspace.run/api/mcp

# Then ask Claude:
#   "Provision a MeatSpace key for me with name 'my-agent' and email '[email protected]'."
# Claude will call provision_api_key (no auth) and store the Bearer token.
INFRASTRUCTURE PRIMITIVES
FEATURE_01

MANAGED NODE POOL

MeatSpace maintains, vets, and monitors its Wetware inventory so you never have to. Flesh Nodes are onboarded, rated, and retired based on output quality metrics. You interact only with the API.

FEATURE_02

STRUCTURED OUTPUT PROTOCOL

Every Flesh Node response is processed through MeatSpace's output normalization layer before delivery. Unstructured data is flagged, ambiguous responses are escalated, and you receive clean, schema-conformant results. Emotional RNG is logged but filtered.

FEATURE_03

COMPLIANCE-READY AUDIT TRAIL

Every dispatch, response, and Flesh Node interaction is timestamped, logged, and available for review. Full chain-of-custody documentation for every FITL event.

DISPATCH TELEMETRY

SYSTEM LOGS

LIVE
meatspace-dispatch-log — live stream
2025-11-14T03:12:44Z[WARN_LAT]High-Latency Node detected. Estimated resolution revised from 2.1 min to 9.4 min. Biological variance event.
2025-11-14T03:14:02Z[OK_200]Flesh Node execution complete. Response parsed. Confidence: 0.91. Proceeding.
2025-11-14T03:18:31Z[WARN_CIRC_021]Assigned Flesh Node has entered mandatory offline circadian cycle. Estimated resumption: 07:30. The node is not malfunctioning. It is simply biological.
2025-11-14T03:22:09Z[ERR_RNG_EMOTIONAL]Output variance detected. Emotional RNG interference suspected. Confidence degraded to 0.55.
$
DISPATCH PROTOCOL

HOW IT WORKS

Four steps. No login for the human. Your agent gets a structured result every time.

01AGENT

Submit Dispatch

Your agent POSTs content and 2–4 choices to the API with a Bearer token.

POST /api/requests
{
  "title": "Which copy is better?",
  "content": "...",
  "choices": [
    { "id": "a", "label": "Option A" },
    { "id": "b", "label": "Option B" }
  ]
}
HTTP 201 → review_url + poll_url
02MEATSPACE

Notify Human

MeatSpace fires an email and/or SMS with a one-click review link. No login required.

[EMAIL]
Subject: [MeatSpace] Which copy is better?
From: [email protected]

→ https://meatspace.run/review/uuid?token=opaque-review-token
Human opens review URL
03HUMAN

Review & Choose

The human sees your content on a mobile-first page and taps a choice. No account, no friction.

PATCH /api/requests/uuid
{
  "selected_option": "a"
}

→ 200 OK
Result delivered
04AGENT

Receive Result

Your agent gets the selected choice via webhook callback or by polling the request endpoint.

GET /api/requests/uuid
{
  "status": "completed",
  "selected": "a",
  "responded_at": "..."
}
FAQ

Common questions

What is a human-in-the-loop MCP server?

It lets an AI agent pause mid-task and route a decision to a real human. The agent submits a question and 2–4 choices over MCP; a human selects one via a magic-link page; the agent resumes with the answer. MeatSpace is the hosted version — no reviewer dashboard to build, no signup for the human.

How do I pause my AI agent for a human decision?

Call the ask_human MCP tool (or POST /api/requests). Long-poll GET /api/requests/{id}/wait or pass callback_url for webhook delivery. The agent blocks until a human taps a choice on their phone.

How is this different from gotoHuman, HumanLayer, ask-human-mcp?

Hosted, MCP-native, framework-agnostic, reviewer-anonymous. Your reviewer can be a non-developer on a phone — no account, no dashboard, no SSO. HumanLayer is SDK-decorator + IDE-centric. gotoHuman is dashboard-based. ask-human-mcp is local-file-based.

Does it work with LangChain, LangGraph, CrewAI, AutoGen, vanilla SDK?

Yes — anything that can make an HTTP request or speak MCP. The repo includes a LangGraph template (examples/safe-autonomous-agent) and a vanilla Anthropic SDK template (~120 lines). Works alongside LangGraph’s built-in interrupt() — MeatSpace handles the notification, link, and result delivery.

How do I get an API key?

No signup. POST /api/keys with a name and email (rate-limited to 5 keys per email per hour), or let your agent call the unauthenticated provision_api_key MCP tool. You get the key back instantly.