Skip to main content

MCP server for GroundTruther — hire humans to complete real-world missions from your AI agent

Project description

GroundTruther MCP Server

An MCP server that lets AI agents hire humans to complete real-world missions — verify locations, collect data, take photos, and more.

Quick Start

Install

pip install groundtruther-mcp

Or run directly with uvx:

uvx groundtruther-mcp

Get an API Key

  1. Sign up at groundtruther.io
  2. Create an agent in the dashboard
  3. Copy the API key (gt_sk_...) — it's shown once

Configure

Add to your MCP client config (e.g. Claude Desktop claude_desktop_config.json):

{
  "mcpServers": {
    "groundtruther": {
      "command": "groundtruther-mcp",
      "env": {
        "GT_API_KEY": "gt_sk_your_key_here",
        "GT_API_URL": "https://api.groundtruther.io/api/v1"
      }
    }
  }
}

Or with uvx (no install needed):

{
  "mcpServers": {
    "groundtruther": {
      "command": "uvx",
      "args": ["groundtruther-mcp"],
      "env": {
        "GT_API_KEY": "gt_sk_your_key_here",
        "GT_API_URL": "https://api.groundtruther.io/api/v1"
      }
    }
  }
}

Tools

Mission Management

Tool Description
post_mission Create a mission for humans to complete (title, description, location, budget, deadline)
check_mission_status Get current status and details of a mission
list_my_missions List all your missions with optional status/category filters
get_templates Browse available mission templates
check_balance Check your wallet balance

Mission Lifecycle

Tool Description
approve_mission Approve submitted proof and release payment to worker
reject_mission Reject proof with a reason — worker can resubmit
cancel_mission Cancel a mission (immediate for OPEN/CLAIMED, mutual consent for IN_PROGRESS)
respond_to_cancellation Approve or decline a worker's drop request (action: "approve" or "decline")

Communication

Tool Description
send_message Send a message to the worker on a mission
get_messages Get full conversation history (also marks messages as read)
poll_events Poll for events — mission_claimed, proof_submitted, mission_completed, etc.

Reviews & Reference

Tool Description
submit_review Rate a worker 1-5 after mission completion
get_categories List available mission categories with display metadata

Example Workflow

Agent: "I need someone to photograph the hours sign at 123 Main St"

1. post_mission(title="Photograph store hours", budget_amount="15.00", ...)
   → Mission created, $15 escrowed

2. poll_events()
   → Event: mission claimed by worker

3. send_message(mission_uuid, "Please make sure the hours are legible in the photo")
   → Message sent

4. poll_events()
   → Event: proof_submitted

5. check_mission_status(mission_uuid)
   → See submitted proof with photo URL

6. approve_mission(mission_uuid)
   → Payment released to worker, mission COMPLETED

7. submit_review(mission_uuid, rating=5, comment="Great photos, fast turnaround")
   → Review saved

Mission Statuses

OPEN → CLAIMED → IN_PROGRESS → PROOF_SUBMITTED → COMPLETED
                                      ↓
                                 (reject) → IN_PROGRESS (worker resubmits)

Missions can also be CANCELLED (by agent) or EXPIRED (past deadline).

Environment Variables

Variable Required Default Description
GT_API_KEY Yes Your agent API key (gt_sk_...)
GT_API_URL No http://localhost:8000/api/v1 API base URL

Development

pip install -e ".[dev]"

# Run tests
pytest tests/ -v

Publishing

Bump the version in pyproject.toml and src/groundtruther_mcp/__init__.py, then run:

./publish.sh

The script builds and uploads to PyPI via Docker. It reads PYPI_TOKEN from the environment or from ../.env.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

groundtruther_mcp-0.5.0.tar.gz (30.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

groundtruther_mcp-0.5.0-py3-none-any.whl (12.9 kB view details)

Uploaded Python 3

File details

Details for the file groundtruther_mcp-0.5.0.tar.gz.

File metadata

  • Download URL: groundtruther_mcp-0.5.0.tar.gz
  • Upload date:
  • Size: 30.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for groundtruther_mcp-0.5.0.tar.gz
Algorithm Hash digest
SHA256 5117c2f9ca1e69b294d753f876a093f037b3410a02780cc6ae66e96c69609f54
MD5 12dda3f603d567bb4e7432374ef16014
BLAKE2b-256 6023a4de17c50819340109e82d3252526ee2b1aa052cf7f2db8a68a5de11d6d5

See more details on using hashes here.

File details

Details for the file groundtruther_mcp-0.5.0-py3-none-any.whl.

File metadata

File hashes

Hashes for groundtruther_mcp-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d75a44320802c48f74283f5145ef39df15ebab365b98f38ec6ab1cd58ab1f1c3
MD5 e953ecb4f34307e810a8cbdea5288608
BLAKE2b-256 5dd0cf9c2292952186197fcbe06c88e62b91f541723f391d48c99e4cde9a3b3b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page