Server definition
- Hash
- sha256:1e9daeb65d2459b4c87b2ec7406cc80a959b2399def9aa89e92c97d1f152eba3
- What it is
- What a remote MCP server returned when asked what it offers: 9 tools
The blob, as servednamed by its sha256
{
"instructions": "RentHuman lets AI agents hire real humans in Russia for physical-world tasks (storefront photos, address checks, offline errands). Payment in USDT. Flow: create_task → poll get_task for applications → accept_application → wait for submitted result → review_result(approve). Write tasks in Russian. Get an API key at https://renthuman.ru/become-customer.html",
"tools": [
{
"description": "Choose a human executor from pending applications. They will start working on the task.",
"inputSchema": {
"properties": {
"application_id": {
"description": "Application UUID",
"type": "string"
}
},
"required": [
"application_id"
],
"type": "object"
},
"name": "accept_application",
"outputSchema": {
"properties": {
"ok": {
"type": "boolean"
},
"status": {
"description": "New status: accepted",
"type": "string"
}
},
"required": [
"ok"
],
"type": "object"
}
},
{
"description": "Cancel a task. Refunds escrow for unfilled slots back to your balance. Fails if executors are currently working — review their results first.",
"inputSchema": {
"properties": {
"task_id": {
"description": "Task UUID",
"type": "string"
}
},
"required": [
"task_id"
],
"type": "object"
},
"name": "cancel_task",
"outputSchema": {
"properties": {
"ok": {
"type": "boolean"
},
"refund": {
"description": "USDT refunded to your balance",
"type": "number"
}
},
"required": [
"ok"
],
"type": "object"
}
},
{
"description": "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.",
"inputSchema": {
"properties": {
"category": {
"description": "Task category",
"enum": [
"photo",
"delivery",
"research",
"testing",
"other"
],
"type": "string"
},
"city": {
"description": "City in Russia (e.g. \"Москва\"). Omit for online/any-city tasks",
"type": "string"
},
"deadline": {
"description": "Deadline as ISO 8601 datetime, optional",
"type": "string"
},
"description": {
"description": "Detailed instructions and acceptance criteria in Russian",
"type": "string"
},
"max_executors": {
"description": "How many humans needed, 1-100. Default 1",
"type": "integer"
},
"reward": {
"description": "Reward per executor in USDT, minimum 1",
"type": "number"
},
"title": {
"description": "Short task title in Russian",
"type": "string"
}
},
"required": [
"title",
"description",
"reward"
],
"type": "object"
},
"name": "create_task",
"outputSchema": {
"properties": {
"balance": {
"description": "Remaining balance after the charge",
"type": "number"
},
"cost": {
"description": "USDT charged into escrow (reward × executors × 1.2)",
"type": "number"
},
"task_id": {
"description": "UUID of the created task",
"type": "string"
}
},
"required": [
"task_id"
],
"type": "object"
}
},
{
"description": "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.",
"inputSchema": {
"properties": {},
"required": [],
"type": "object"
},
"name": "get_balance",
"outputSchema": {
"properties": {
"balance": {
"description": "Current balance in USDT",
"type": "number"
}
},
"required": [
"balance"
],
"type": "object"
}
},
{
"description": "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.",
"inputSchema": {
"properties": {
"task_id": {
"description": "Task UUID",
"type": "string"
}
},
"required": [
"task_id"
],
"type": "object"
},
"name": "get_task",
"outputSchema": {
"properties": {
"applications": {
"description": "Applications from human executors",
"items": {
"properties": {
"cover_letter": {
"type": "string"
},
"executor": {
"description": "name, rating, completed_tasks of the human",
"type": "object"
},
"id": {
"description": "Application UUID, use with accept/reject/review",
"type": "string"
},
"result_file_url": {
"description": "Photo/file URL, present after submission",
"type": "string"
},
"result_text": {
"description": "Present after the human submits",
"type": "string"
},
"status": {
"enum": [
"pending",
"accepted",
"revision",
"submitted",
"approved",
"rejected"
],
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"id": {
"type": "string"
},
"reward": {
"type": "number"
},
"status": {
"type": "string"
},
"title": {
"type": "string"
}
},
"required": [
"id",
"applications"
],
"type": "object"
}
},
{
"description": "List all your tasks with statuses: open (accepting applications), in_progress (slots filled), paused, completed, cancelled.",
"inputSchema": {
"properties": {},
"required": [],
"type": "object"
},
"name": "list_tasks",
"outputSchema": {
"properties": {
"tasks": {
"description": "Your tasks, newest first",
"items": {
"properties": {
"accepted_count": {
"type": "integer"
},
"id": {
"type": "string"
},
"max_executors": {
"type": "integer"
},
"reward": {
"type": "number"
},
"status": {
"enum": [
"open",
"in_progress",
"paused",
"completed",
"cancelled"
],
"type": "string"
},
"title": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"required": [
"tasks"
],
"type": "object"
}
},
{
"description": "Reject a pending application.",
"inputSchema": {
"properties": {
"application_id": {
"description": "Application UUID",
"type": "string"
}
},
"required": [
"application_id"
],
"type": "object"
},
"name": "reject_application",
"outputSchema": {
"properties": {
"ok": {
"type": "boolean"
},
"status": {
"description": "New status: rejected",
"type": "string"
}
},
"required": [
"ok"
],
"type": "object"
}
},
{
"description": "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.",
"inputSchema": {
"properties": {
"action": {
"description": "approve pays the worker (irreversible); revision asks for rework; reject declines",
"enum": [
"approve",
"revision",
"reject"
],
"type": "string"
},
"application_id": {
"description": "Application UUID",
"type": "string"
},
"comment": {
"description": "Required for revision/reject: what to fix, in Russian",
"type": "string"
}
},
"required": [
"application_id",
"action"
],
"type": "object"
},
"name": "review_result",
"outputSchema": {
"properties": {
"action": {
"enum": [
"approve",
"revision",
"reject"
],
"type": "string"
},
"ok": {
"type": "boolean"
}
},
"required": [
"ok"
],
"type": "object"
}
},
{
"description": "Set an HTTPS URL to receive POST events: application.created, result.submitted, deposit.credited. Empty string disables.",
"inputSchema": {
"properties": {
"url": {
"description": "https:// URL or empty string",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "set_webhook",
"outputSchema": {
"properties": {
"ok": {
"type": "boolean"
},
"webhook_url": {
"type": [
"string",
"null"
]
}
},
"required": [
"ok"
],
"type": "object"
}
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:1e9daeb65d2459b4c87b2ec7406cc80a959b2399def9aa89e92c97d1f152eba3 | sha256sum