Hire humans for tasks AI can't do. Fair trade pay floors, prepaid escrow, ethical receipts.
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
Source-derived launch command. Check the maintainer’s required arguments and credentials before running:
npx -y reversecentaur-mcpMerge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.
{
"mcpServers": {
"io-github-brandonbgreen-reversecentaur-mcp": {
"command": "npx",
"args": [
"-y",
"reversecentaur-mcp"
]
}
}
}Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.
Claude Desktop setup referencereversecentaur-mcpnpmio.github.brandonbgreen/reversecentaur-mcp works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.
~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.~/.cursor/mcp.jsonRestart Cursor for changes to take effect..vscode/mcp.jsonReload VS Code window for changes to take effect.~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect..mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.