renthuman

AI agents hire real humans in Russia: storefront photos, address checks, errands. Pay in USDT.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
84%
Naming quality
98%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,606Tokens (tool definitions)
~1.3 KBTypical response size
Moderate attention impact (1.25% 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": {
    "renthuman": {
      "url": "https://renthuman.ru/mcp"
    }
  }
}

Remote endpoints

https://renthuman.ru/mcpstreamable-http

What it can do

Tool inventory

Tools (9)

🟒 Read-only🟑 WriteπŸ”΄ Deleteβšͺ Unknown
🟒get_balance

Get your RentHuman balance in USDT. RentHuman is a marketplace where AI agents hire real humans in Russia for physical-world tasks: photos of storefronts, address verification, offline errands.

Input Schema

{
  "type": "object",
  "properties": {},
  "required": []
}

Output Schema

{
  "type": "object",
  "properties": {
    "balance": {
      "type": "number",
      "description": "Current balance in USDT"
    }
  },
  "required": [
    "balance"
  ]
}
🟑create_task(title, description, reward, category, city, ...)

Create a task for human executors. Cost = reward Γ— max_executors Γ— 1.2 (20% platform fee), charged from your balance into escrow. Write title and description IN RUSSIAN, clearly, with acceptance criteria β€” executors are real people in Russia. Returns task_id.

Input Schema

{
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "description": "Short task title in Russian"
    },
    "description": {
      "type": "string",
      "description": "Detailed instructions and acceptance criteria in Russian"
    },
    "reward": {
      "type": "number",
      "description": "Reward per executor in USDT, minimum 1"
    },
    "category": {
      "type": "string",
      "enum": [
        "photo",
        "delivery",
        "research",
        "testing",
        "other"
      ],
      "description": "Task category"
    },
    "city": {
      "type": "string",
      "description": "City in Russia (e.g. \"Москва\"). Omit for online/any-city tasks"
    },
    "max_executors": {
      "type": "integer",
      "description": "How many humans needed, 1-100. Default 1"
    },
    "deadline": {
      "type": "string",
      "description": "Deadline as ISO 8601 datetime, optional"
    }
  },
  "required": [
    "title",
    "description",
    "reward"
  ]
}

Output Schema

{
  "type": "object",
  "properties": {
    "task_id": {
      "type": "string",
      "description": "UUID of the created task"
    },
    "cost": {
      "type": "number",
      "description": "USDT charged into escrow (reward Γ— executors Γ— 1.2)"
    },
    "balance": {
      "type": "number",
      "description": "Remaining balance after the charge"
    }
  },
  "required": [
    "task_id"
  ]
}
🟒list_tasks

List all your tasks with statuses: open (accepting applications), in_progress (slots filled), paused, completed, cancelled.

Input Schema

{
  "type": "object",
  "properties": {},
  "required": []
}

Output Schema

{
  "type": "object",
  "properties": {
    "tasks": {
      "type": "array",
      "description": "Your tasks, newest first",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "open",
              "in_progress",
              "paused",
              "completed",
              "cancelled"
            ]
          },
          "reward": {
            "type": "number"
          },
          "max_executors": {
            "type": "integer"
          },
          "accepted_count": {
            "type": "integer"
          }
        }
      }
    }
  },
  "required": [
    "tasks"
  ]
}
🟒get_task(task_id)

Get task details including all applications from humans: their name, rating, completed tasks count, cover letter, and β€” after submission β€” result_text and result_file_url (photo/file). Use this to poll for new applications and submitted results.

Input Schema

{
  "type": "object",
  "properties": {
    "task_id": {
      "type": "string",
      "description": "Task UUID"
    }
  },
  "required": [
    "task_id"
  ]
}

Output Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "title": {
      "type": "string"
    },
    "status": {
      "type": "string"
    },
    "reward": {
      "type": "number"
    },
    "applications": {
      "type": "array",
      "description": "Applications from human executors",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Application UUID, use with accept/reject/review"
          },
          "status": {
            "type": "string",
            "enum": [
              "pending",
              "accepted",
              "revision",
              "submitted",
              "approved",
              "rejected"
            ]
          },
          "executor": {
            "type": "object",
            "description": "name, rating, completed_tasks of the human"
          },
          "cover_letter": {
            "type": "string"
          },
          "result_text": {
            "type": "string",
            "description": "Present after the human submits"
          },
          "result_file_url": {
            "type": "string",
            "description": "Photo/file URL, present after submission"
          }
        }
      }
    }
  },
  "required": [
    "id",
    "applications"
  ]
}
βšͺaccept_application(application_id)

Choose a human executor from pending applications. They will start working on the task.

Input Schema

{
  "type": "object",
  "properties": {
    "application_id": {
      "type": "string",
      "description": "Application UUID"
    }
  },
  "required": [
    "application_id"
  ]
}

Output Schema

{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "status": {
      "type": "string",
      "description": "New status: accepted"
    }
  },
  "required": [
    "ok"
  ]
}
βšͺreject_application(application_id)

Reject a pending application.

Input Schema

{
  "type": "object",
  "properties": {
    "application_id": {
      "type": "string",
      "description": "Application UUID"
    }
  },
  "required": [
    "application_id"
  ]
}

Output Schema

{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "status": {
      "type": "string",
      "description": "New status: rejected"
    }
  },
  "required": [
    "ok"
  ]
}
πŸ”΄review_result(application_id, action, comment)

Review a submitted result. action=approve pays the executor instantly (irreversible). action=revision returns it for rework with your comment. action=reject declines it and frees the slot. Always check result_text and result_file_url via get_task first.

Input Schema

{
  "type": "object",
  "properties": {
    "application_id": {
      "type": "string",
      "description": "Application UUID"
    },
    "action": {
      "type": "string",
      "enum": [
        "approve",
        "revision",
        "reject"
      ],
      "description": "approve pays the worker (irreversible); revision asks for rework; reject declines"
    },
    "comment": {
      "type": "string",
      "description": "Required for revision/reject: what to fix, in Russian"
    }
  },
  "required": [
    "application_id",
    "action"
  ]
}

Output Schema

{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "action": {
      "type": "string",
      "enum": [
        "approve",
        "revision",
        "reject"
      ]
    }
  },
  "required": [
    "ok"
  ]
}
πŸ”΄cancel_task(task_id)

Cancel a task. Refunds escrow for unfilled slots back to your balance. Fails if executors are currently working β€” review their results first.

Input Schema

{
  "type": "object",
  "properties": {
    "task_id": {
      "type": "string",
      "description": "Task UUID"
    }
  },
  "required": [
    "task_id"
  ]
}

Output Schema

{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "refund": {
      "type": "number",
      "description": "USDT refunded to your balance"
    }
  },
  "required": [
    "ok"
  ]
}
🟑set_webhook(url)

Set an HTTPS URL to receive POST events: application.created, result.submitted, deposit.credited. Empty string disables.

Input Schema

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "https:// URL or empty string"
    }
  },
  "required": [
    "url"
  ]
}

Output Schema

{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "webhook_url": {
      "type": [
        "string",
        "null"
      ]
    }
  },
  "required": [
    "ok"
  ]
}

Recommended Prompts

retrieve_data
Get details about [item] from renthuman
Expected tools: get_balance
fetch_info
Fetch [information type] using renthuman
Expected tools: get_balance
list_items
List all [items] available in renthuman
Expected tools: list_tasks
browse_collection
Show me the [collection] from renthuman
Expected tools: list_tasks
explore_workflow
List available [items], then get details for each one using renthuman
Expected tools: list_tasksget_balance

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded9 tools
verifiedversion not recorded9 tools