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.6.0.tar.gz (36.3 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.6.0-py3-none-any.whl (18.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: groundtruther_mcp-0.6.0.tar.gz
  • Upload date:
  • Size: 36.3 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.6.0.tar.gz
Algorithm Hash digest
SHA256 5d2c4070ac6dc2d85c86999d46035b63f55b4502423dfbeb796b97d41b41077e
MD5 99e24d81dda8fadf01e26ab38844ee32
BLAKE2b-256 150754516ff5e080ba93555574ed2f3e9659da44159d634fbf2b6e150063f731

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for groundtruther_mcp-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1fa2879c79752d3580ca928384b673d9cc4d915dfaaadc3944b831cac0237985
MD5 19304fa7533c7e3a2208b7ef105acbdd
BLAKE2b-256 2032bfa87e4546a54553d1f2e1b43e9ceba1ec2f27c15e611b9c1b3379168af6

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