MeatSpace
Server Details
Human-in-the-loop for AI agents. Submit choices, get a human decision.
- Status
- Healthy
- Uptime
- 100.0% over 40 days
- Last Tested
- Transport
- Streamable HTTP ยท MCP 2024-11-05
- URL
- Repository
- zmarten/meatspace
- GitHub Stars
- 0
- Server Listing
- MeatSpace
TDQS
Scored across 3 tools
Each tool covers a distinct concern: ask_human performs the actual human interaction, get_service_status determines availability, and provision_api_key handles authentication setup. There is no overlap in their roles.
All tool names follow a consistent verb_noun snake_case pattern: ask_human, get_service_status, provision_api_key. The convention is uniform and predictable.
Three tools is appropriate for the narrow, well-defined purpose of enabling human-in-the-loop decisions. Each tool is necessary and the scope feels complete rather than thin.
The core workflow is covered: provision a key, check service status, and ask a human. Minor gaps like revoking keys or listing pending asks exist but do not block the primary use case.
Available Tools
3 toolsask_humanAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | Short title for the request (max 200 chars) | |
| run_id | No | Optional workflow run identifier | |
| choices | Yes | 2-4 choices for the human to pick from | |
| content | No | Content for the human to review (text, markdown, HTML, or image URL). Max 50KB. | |
| metadata | No | Optional metadata passed through to webhook | |
| trace_id | No | Optional trace identifier | |
| agent_name | Yes | Your agent/tool name (max 100 chars) | |
| confidence | No | Agent confidence between 0 and 1 | |
| callback_url | No | Optional HTTPS webhook URL for async notification | |
| content_type | No | How to render the content. Default: text | |
| decision_reason | No | Why the agent is escalating this to a human (max 500 chars) | |
| timeout_seconds | No | Request expiry in seconds (default 3600, max 86400) | |
| recommended_option | No | Optional choice id the agent currently recommends | |
| consequence_of_wrong_choice | No | Why a wrong choice matters (max 500 chars) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It does disclose a key behavior: 'The tool waits briefly for a result, then returns pending if the human has not responded yet.' This adds valuable context about asynchronous behavior. However, it does not explain how to retrieve the eventual result or what happens on timeout, leaving some gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is only two sentences, highly concise, and front-loaded with the main purpose. It then efficiently covers usage guidance and key behavior without wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (14 parameters, nested objects, no output schema), the description gives a solid high-level overview. It covers the primary action, use cases, and the pending behavior. However, it lacks details on return values or how to handle pending results, which would be more helpful given the absence of an output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters clearly. The description adds general context about choosing between options but does not elaborate on individual parameter meanings beyond what the schema provides. This matches the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Present content to a human and ask them to choose between options.' This is a specific verb+resource definition and distinguishes it from sibling tools like get_service_status and provision_api_key, which are not human-in-the-loop decision tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly provides when-to-use guidance: 'Use this for subjective judgment, approval, preference, or tie-breaks.' It also gives a clear when-not-to-use: 'Avoid using it for deterministic checks or reversible low-stakes choices.' However, it does not name alternative tools or specific alternatives, so it falls just short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_service_statusAInspect
Check whether MeatSpace is available and when to use a human. Call this when deciding whether to escalate a subjective or high-consequence choice.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses the core behavior (checking availability and escalation policy) but omits details like whether it performs network calls, auth requirements, or returns a structured result. The behavioral claim is consistent with the tool's name, but it is not very rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with two sentences, front-loading the primary purpose and then adding usage context. Every word adds value; no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (no params, no output schema, simple purpose), the description is almost complete. It explains what the tool does and when to use it. It lacks a note about the return format, but the context of a status check may be inferred.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema is empty, so the description cannot add parameter details. The provided description explains the tool's function, which is sufficient; the baseline for zero-parameter tools is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action: 'Check whether MeatSpace is available and when to use a human.' It specifies the resource (MeatSpace) and a distinct purpose (escalation guidance), differentiating it from siblings like ask_human and provision_api_key.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage context: 'Call this when deciding whether to escalate a subjective or high-consequence choice.' It does not list alternative tools or when-not-to-use conditions, but the guidance is clear enough for an agent to choose this tool over its siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
provision_api_keyAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Agent or tool name (max 100 chars) | |
| Yes | Owner email address |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses that no authentication is required, returns a Bearer token, and imposes a limit on active keys. This is meaningful behavioral context beyond the schema, though it does not cover failure modes or what happens when the limit is exceeded.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief, front-loaded with the action, and every sentence provides distinct value: purpose, auth requirement, return value, and a constraint. No unnecessary words or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter tool with no output schema, the description covers the return value (Bearer token), usage context (ask_human), and a crucial limit. This is fully sufficient for an agent to select and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear descriptions for both parameters (name, email). The description does not add any extra semantic detail beyond what the schema already provides, so it stays at the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states 'Create a MeatSpace API key instantly', using a strong verb and specific resource. It also clearly differentiates from siblings by noting the token is for use with the ask_human tool, distinguishing it from get_service_status and ask_human.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context by stating the key is for use with the ask_human tool and highlights a maximum of 5 active keys per email. However, it does not explicitly mention when to avoid using the tool or name alternative tools, which would push it to a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
- First observed
ask_human - First observed
get_service_status - First observed
provision_api_key
Related MCP Connectors
Give any AI agent a way to ask a person โ for approval, a decision, an answer or a review.
Get a real human to verify, decide, or improve an AI agent's work.
Human-as-a-Service for AI agents. Delegate tasks that need a real human, get results via API.
Human approvals, notifications, inbound webhooks, wake-ups for headless agents. Free trial: /try
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceProvides a human-in-the-loop dashboard for coordinating multiple AI agents, enabling real-time approval, feedback, and intervention on critical decisions.Mozilla Public 2.0
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to request human approvals with customizable forms, webhooks, and team features.38 npmMIT
- AlicenseAqualityDmaintenanceHuman-in-the-loop approval gate for AI agents. Your agent calls submit_approval before any irreversible action; a human reviews on a branded page; a signed webhook fires back with the decision.11MIT
- AlicenseAqualityAmaintenanceThe open-source review layer for AI agents. Work done for humans is decided by humans.1812 npm1AGPL 3.0
Glama MCP Gateway
Add one secure layer between your agents and this server.