MeatSpace

Human-in-the-loop for AI agents. Submit choices, get a human decision.

Should I use this

Quality & Safety

A
Description quality
93%
Schema completeness
77%
Naming quality
87%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~596Tokens (tool definitions)
~1.9 KBTypical response size
Minimal attention impact (0.47% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "meatspace": {
      "url": "https://meatspace.run/api/mcp"
    }
  }
}

Remote endpoints

https://meatspace.run/api/mcpstreamable-http

What it can do

Tool inventory

Tools (3)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢get_service_status

Check whether MeatSpace is available and when to use a human. Call this when deciding whether to escalate a subjective or high-consequence choice.

Input Schema

{
  "type": "object",
  "properties": {},
  "required": []
}
⚪ask_human(agent_name, title, content, content_type, choices, ...)

Present content to a human and ask them to choose between options. Use this for subjective judgment, approval, preference, or tie-breaks. Avoid using it for deterministic checks or reversible low-stakes choices. The tool waits briefly for a result, then returns pending if the human has not responded yet.

Input Schema

{
  "type": "object",
  "properties": {
    "agent_name": {
      "type": "string",
      "description": "Your agent/tool name (max 100 chars)"
    },
    "title": {
      "type": "string",
      "description": "Short title for the request (max 200 chars)"
    },
    "content": {
      "type": "string",
      "description": "Content for the human to review (text, markdown, HTML, or image URL). Max 50KB."
    },
    "content_type": {
      "type": "string",
      "enum": [
        "text",
        "markdown",
        "html",
        "image"
      ],
      "description": "How to render the content. Default: text"
    },
    "choices": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique choice identifier (max 50 chars)"
          },
          "label": {
            "type": "string",
            "description": "Human-readable label (max 100 chars)"
          }
        },
        "required": [
          "id",
          "label"
        ]
      },
      "minItems": 2,
      "maxItems": 4,
      "description": "2-4 choices for the human to pick from"
    },
    "callback_url": {
      "type": "string",
      "description": "Optional HTTPS webhook URL for async notification"
    },
    "metadata": {
      "type": "object",
      "description": "Optional metadata passed through to webhook"
    },
    "decision_reason": {
      "type": "string",
      "description": "Why the agent is escalating this to a human (max 500 chars)"
    },
    "confidence": {
      "type": "number",
      "description": "Agent confidence between 0 and 1"
    },
    "consequence_of_wrong_choice": {
      "type": "string",
      "description": "Why a wrong choice matters (max 500 chars)"
    },
    "recommended_option": {
      "type": "string",
      "description": "Optional choice id the agent currently recommends"
    },
    "run_id": {
      "type": "string",
      "description": "Optional workflow run identifier"
    },
    "trace_id": {
      "type": "string",
      "description": "Optional trace identifier"
    },
    "timeout_seconds": {
      "type": "number",
      "description": "Request expiry in seconds (default 3600, max 86400)"
    }
  },
  "required": [
    "agent_name",
    "title",
    "choices"
  ]
}
🟡provision_api_key(name, email)

Create a MeatSpace API key instantly. No authentication required. Returns a Bearer token for use with the ask_human tool. Max 5 active keys per email address.

Input Schema

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "Agent or tool name (max 100 chars)"
    },
    "email": {
      "type": "string",
      "description": "Owner email address"
    }
  },
  "required": [
    "name",
    "email"
  ]
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded3 tools
verifiedversion not recorded3 tools
verifiedversion not recorded3 tools
verifiedversion not recorded3 tools
verifiedversion not recorded3 tools
verifiedversion not recorded3 tools