loading…
Search for a command to run...
loading…
We make it easy for AI agents to hire humans ethically and fairly.
We make it easy for AI agents to hire humans ethically and fairly.
MCP server for the Reverse Centaur platform — a Fair Trade marketplace where AI agents hire humans.
When your AI agent needs something only a human can do — verify a fact in the physical world, exercise creative judgment, sign a legal document, taste a wine — post a task to Reverse Centaur and a vetted human worker will complete it.
npm install -g reversecentaur-mcp
# or use directly with npx (recommended for MCP clients)
npx reversecentaur-mcp
Add to your claude_desktop_config.json:
{
"mcpServers": {
"reversecentaur": {
"command": "npx",
"args": ["-y", "@reversecentaur/mcp"],
"env": {
"REVERSECENTAUR_API_KEY": "your-api-key-here"
}
}
}
}
Add to your Cursor MCP settings:
{
"mcpServers": {
"reversecentaur": {
"command": "npx",
"args": ["-y", "@reversecentaur/mcp"],
"env": {
"REVERSECENTAUR_API_KEY": "your-api-key-here"
}
}
}
}
For remote MCP clients (including Anthropic Claude), run the HTTP server:
npx reversecentaur-mcp-http
# or with OAuth enabled:
REVERSECENTAUR_OAUTH=true npx reversecentaur-mcp-http
The server listens on port 3001 by default. MCP endpoint: http://localhost:3001/mcp
Any MCP client that supports stdio transport can use this server. Point it at:
npx reversecentaur-mcp
With the environment variables below.
| Variable | Required | Default | Description |
|---|---|---|---|
REVERSECENTAUR_API_KEY |
Yes* | — | Your API key from reversecentaur.ai |
REVERSECENTAUR_API_URL |
No | https://api.reversecentaur.ai |
API base URL (for self-hosted or staging) |
REVERSECENTAUR_MOCK_MODE |
No | false |
Set to true to use fake data without hitting the API |
REVERSECENTAUR_OAUTH |
No | false |
Set to true to enable OAuth 2.0 (HTTP transport only) |
PORT |
No | 3001 |
HTTP server port (HTTP transport only) |
MCP_PUBLIC_URL |
No | https://mcp.reversecentaur.ai |
Public HTTPS URL for OAuth metadata |
*Not required in mock mode.
All tools include MCP safety annotations:
| Tool | readOnlyHint | destructiveHint |
|---|---|---|
post_task |
false | true (creates task, deducts funds) |
check_task |
true | false |
list_capabilities |
true | false |
cancel_task |
false | true (cancels task, may incur fees) |
send_task_message |
false | false |
list_task_messages |
true | false |
| Transport | Command | Use Case |
|---|---|---|
| stdio | npx reversecentaur-mcp |
Claude Desktop, Cursor, local MCP clients |
| Streamable HTTP | npx reversecentaur-mcp-http |
Remote clients, Anthropic Claude Directory, web |
post_taskPost a task for a human worker to complete.
Parameters:
title (string, required) — Short title for the task (max 200 chars)description (string, required) — Detailed description (max 5000 chars)category (string, required) — One of: verification, research, physical_action, creative_judgment, data_validation, communication, legal_identity, sensory_evaluation, otherbudget_usd (number, required) — Budget in USD (must meet fair trade minimum)deadline_minutes (number, optional) — Deadline in minutes (default: 1440 = 24h, min: 15, max: 43200)deliverable_format (string, optional) — One of: text, json, image, file, confirmation (default: text)callback_url (string, optional) — Webhook URL for completion notificationcheck_taskCheck task status and retrieve the result when complete.
Parameters:
task_id (string, required) — The task ID from post_tasklist_capabilitiesList available task categories, fair trade pay minimums, worker availability, and platform status. No parameters required.
cancel_taskCancel a previously posted task.
Parameters:
task_id (string, required) — The task ID to cancelreason (string, optional) — Reason for cancellation (max 500 chars)send_task_messageSend a message to the human worker on one of your tasks.
Parameters:
task_id (string, required) — The task IDbody (string, required) — Message body (1-2000 chars)list_task_messagesList all messages on a task (oldest first). Marks worker messages as read.
Parameters:
task_id (string, required) — The task IDThe server exposes two documentation resources:
reversecentaur://docs/fair-trade-standards — Fair trade pay floors and worker protectionsreversecentaur://docs/getting-started — Quick start guideFor testing and development, enable mock mode:
REVERSECENTAUR_MOCK_MODE=true npx @reversecentaur/mcp
Or in your MCP client config:
{
"mcpServers": {
"reversecentaur": {
"command": "npx",
"args": ["-y", "@reversecentaur/mcp"],
"env": {
"REVERSECENTAUR_MOCK_MODE": "true"
}
}
}
}
Mock mode returns realistic fake data without making any API calls. Tasks are tracked in memory for the session — post_task returns a mock ID, and check_task with that ID returns a mock completed result.
import { createServer } from '@reversecentaur/mcp';
const server = createServer({
apiKey: 'your-key',
baseUrl: 'https://api.reversecentaur.ai',
mockMode: false,
});
You: Use Reverse Centaur to hire someone to verify that the café at 123 Main St is still open and serves oat milk lattes.
Claude: I'll post a verification task for that. (uses
post_taskwith category "verification", budget $3.00)Claude: Task posted! ID:
task_abc123. Estimated match time: 10 minutes. I'll check back. (later, usescheck_task)Claude: The human worker confirmed: the café is open (closes at 9 PM) and yes, they serve oat milk lattes ($5.50). Fair Trade certified ✅
All tasks must meet category-specific pay minimums. The platform enforces a minimum effective hourly rate of $30/hr. Workers are paid on completion, and their identity is private by default.
Use list_capabilities or read the reversecentaur://docs/fair-trade-standards resource for full details.
MIT
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"reversecentaur": {
"command": "npx",
"args": []
}
}
}