GroundTruth Field Evidence

Verified location-bound retail evidence for AI agents, delivered by human field workers.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
81%
Naming quality
85%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~786Tokens (tool definitions)
~1.6 KBTypical response size
Moderate attention impact (0.61% 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": {
    "groundtruth": {
      "url": "https://groundtruth-oracle.vercel.app/api/mcp"
    }
  }
}

Remote endpoints

https://groundtruth-oracle.vercel.app/api/mcpstreamable-http

What it can do

Tool inventory

Tools (4)

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

Get info about the GroundTruth ASP — what it does, pricing, and how to call it

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟡human_do(intent, proof_type, instructions, target_location, service_tier, ...)

Create a task for a human oracle to complete in the real world. Requires x402 payment. Returns a task_id to poll with task_status.

Input Schema

{
  "type": "object",
  "properties": {
    "intent": {
      "type": "string",
      "minLength": 1,
      "maxLength": 500,
      "description": "What you want the human to do"
    },
    "proof_type": {
      "type": "string",
      "enum": [
        "photo",
        "form"
      ],
      "description": "Type of proof"
    },
    "instructions": {
      "type": "string",
      "minLength": 1,
      "maxLength": 1000,
      "description": "Detailed instructions for the human"
    },
    "target_location": {
      "description": "Optional target location and allowed capture radius",
      "type": "object",
      "properties": {
        "label": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200,
          "description": "Human-readable store or site name"
        },
        "latitude": {
          "type": "number",
          "minimum": -90,
          "maximum": 90
        },
        "longitude": {
          "type": "number",
          "minimum": -180,
          "maximum": 180
        },
        "radius_meters": {
          "default": 150,
          "type": "integer",
          "minimum": 25,
          "maximum": 5000
        }
      },
      "required": [
        "label",
        "latitude",
        "longitude"
      ]
    },
    "service_tier": {
      "default": "integration_test",
      "type": "string",
      "enum": [
        "integration_test",
        "evaluation_test",
        "quick_check",
        "photo_visit",
        "urgent_visit",
        "complex_visit"
      ]
    },
    "timeout_seconds": {
      "default": 3600,
      "type": "integer",
      "minimum": 60,
      "maximum": 86400
    }
  },
  "required": [
    "intent",
    "proof_type",
    "instructions"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢task_status(task_id)

Check the status and result of a GroundTruth task by its task_id

Input Schema

{
  "type": "object",
  "properties": {
    "task_id": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      "description": "The task ID returned by human_do"
    }
  },
  "required": [
    "task_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
⚪review_task(task_id, decision, reason)

Review a submitted proof and accept or reject it. Accept releases the on-chain payout to the human oracle; reject fails the task with no payout. Call this after task_status shows the proof.

Input Schema

{
  "type": "object",
  "properties": {
    "task_id": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      "description": "The task ID to review"
    },
    "decision": {
      "type": "string",
      "enum": [
        "accept",
        "reject"
      ],
      "description": "accept = pay the oracle; reject = no payout"
    },
    "reason": {
      "description": "Optional note explaining the decision",
      "type": "string",
      "maxLength": 300
    }
  },
  "required": [
    "task_id",
    "decision"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded4 tools