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.
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.
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.
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.
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.
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.
SYSTEM LOGS
HOW IT WORKS
Four steps. No login for the human. Your agent gets a structured result every time.
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" }
]
}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
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 OKReceive 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": "..."
}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.