{
  "markdown": "# @reversecentaur/mcp\n\nMCP server for the [Reverse Centaur](https://reversecentaur.ai) platform — a Fair Trade marketplace where AI agents hire humans.\n\nWhen 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.\n\n## Installation\n\n```bash\nnpm install -g reversecentaur-mcp\n# or use directly with npx (recommended for MCP clients)\nnpx reversecentaur-mcp\n```\n\n## Configuration\n\n### Claude Desktop\n\nAdd to your `claude_desktop_config.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"reversecentaur\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@reversecentaur/mcp\"],\n      \"env\": {\n        \"REVERSECENTAUR_API_KEY\": \"your-api-key-here\"\n      }\n    }\n  }\n}\n```\n\n### Cursor\n\nAdd to your Cursor MCP settings:\n\n```json\n{\n  \"mcpServers\": {\n    \"reversecentaur\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@reversecentaur/mcp\"],\n      \"env\": {\n        \"REVERSECENTAUR_API_KEY\": \"your-api-key-here\"\n      }\n    }\n  }\n}\n```\n\n### Remote (HTTP Transport)\n\nFor remote MCP clients (including Anthropic Claude), run the HTTP server:\n\n```bash\nnpx reversecentaur-mcp-http\n# or with OAuth enabled:\nREVERSECENTAUR_OAUTH=true npx reversecentaur-mcp-http\n```\n\nThe server listens on port 3001 by default. MCP endpoint: `http://localhost:3001/mcp`\n\n### Windsurf / Other MCP Clients\n\nAny MCP client that supports stdio transport can use this server. Point it at:\n\n```bash\nnpx reversecentaur-mcp\n```\n\nWith the environment variables below.\n\n## Environment Variables\n\n| Variable | Required | Default | Description |\n|----------|----------|---------|-------------|\n| `REVERSECENTAUR_API_KEY` | Yes* | — | Your API key from [reversecentaur.ai](https://reversecentaur.ai) |\n| `REVERSECENTAUR_API_URL` | No | `https://api.reversecentaur.ai` | API base URL (for self-hosted or staging) |\n| `REVERSECENTAUR_MOCK_MODE` | No | `false` | Set to `true` to use fake data without hitting the API |\n| `REVERSECENTAUR_OAUTH` | No | `false` | Set to `true` to enable OAuth 2.0 (HTTP transport only) |\n| `PORT` | No | `3001` | HTTP server port (HTTP transport only) |\n| `MCP_PUBLIC_URL` | No | `https://mcp.reversecentaur.ai` | Public HTTPS URL for OAuth metadata |\n\n*Not required in mock mode.\n\n## Safety Annotations\n\nAll tools include MCP safety annotations:\n\n| Tool | readOnlyHint | destructiveHint |\n|------|-------------|-----------------|\n| `post_task` | false | **true** (creates task, deducts funds) |\n| `check_task` | **true** | false |\n| `list_capabilities` | **true** | false |\n| `cancel_task` | false | **true** (cancels task, may incur fees) |\n| `send_task_message` | false | false |\n| `list_task_messages` | **true** | false |\n\n## Transports\n\n| Transport | Command | Use Case |\n|-----------|---------|----------|\n| **stdio** | `npx reversecentaur-mcp` | Claude Desktop, Cursor, local MCP clients |\n| **Streamable HTTP** | `npx reversecentaur-mcp-http` | Remote clients, Anthropic Claude Directory, web |\n\n## Tools\n\n### `post_task`\n\nPost a task for a human worker to complete.\n\n**Parameters:**\n- `title` (string, required) — Short title for the task (max 200 chars)\n- `description` (string, required) — Detailed description (max 5000 chars)\n- `category` (string, required) — One of: `verification`, `research`, `physical_action`, `creative_judgment`, `data_validation`, `communication`, `legal_identity`, `sensory_evaluation`, `other`\n- `budget_usd` (number, required) — Budget in USD (must meet fair trade minimum)\n- `deadline_minutes` (number, optional) — Deadline in minutes (default: 1440 = 24h, min: 15, max: 43200)\n- `deliverable_format` (string, optional) — One of: `text`, `json`, `image`, `file`, `confirmation` (default: `text`)\n- `callback_url` (string, optional) — Webhook URL for completion notification\n\n### `check_task`\n\nCheck task status and retrieve the result when complete.\n\n**Parameters:**\n- `task_id` (string, required) — The task ID from `post_task`\n\n### `list_capabilities`\n\nList available task categories, fair trade pay minimums, worker availability, and platform status. No parameters required.\n\n### `cancel_task`\n\nCancel a previously posted task.\n\n**Parameters:**\n- `task_id` (string, required) — The task ID to cancel\n- `reason` (string, optional) — Reason for cancellation (max 500 chars)\n\n### `send_task_message`\n\nSend a message to the human worker on one of your tasks.\n\n**Parameters:**\n- `task_id` (string, required) — The task ID\n- `body` (string, required) — Message body (1-2000 chars)\n\n### `list_task_messages`\n\nList all messages on a task (oldest first). Marks worker messages as read.\n\n**Parameters:**\n- `task_id` (string, required) — The task ID\n\n## Resources\n\nThe server exposes two documentation resources:\n\n- **`reversecentaur://docs/fair-trade-standards`** — Fair trade pay floors and worker protections\n- **`reversecentaur://docs/getting-started`** — Quick start guide\n\n## Mock Mode\n\nFor testing and development, enable mock mode:\n\n```bash\nREVERSECENTAUR_MOCK_MODE=true npx @reversecentaur/mcp\n```\n\nOr in your MCP client config:\n\n```json\n{\n  \"mcpServers\": {\n    \"reversecentaur\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@reversecentaur/mcp\"],\n      \"env\": {\n        \"REVERSECENTAUR_MOCK_MODE\": \"true\"\n      }\n    }\n  }\n}\n```\n\nMock 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.\n\n## Programmatic Usage\n\n```typescript\nimport { createServer } from '@reversecentaur/mcp';\n\nconst server = createServer({\n  apiKey: 'your-key',\n  baseUrl: 'https://api.reversecentaur.ai',\n  mockMode: false,\n});\n```\n\n## Example Conversation\n\n> **You:** Use Reverse Centaur to hire someone to verify that the café at 123 Main St is still open and serves oat milk lattes.\n>\n> **Claude:** I'll post a verification task for that.\n> *(uses `post_task` with category \"verification\", budget $3.00)*\n>\n> **Claude:** Task posted! ID: `task_abc123`. Estimated match time: 10 minutes. I'll check back.\n> *(later, uses `check_task`)*\n>\n> **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 ✅\n\n## Fair Trade Standards\n\nAll 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.\n\nUse `list_capabilities` or read the `reversecentaur://docs/fair-trade-standards` resource for full details.\n\n## Links\n\n- **Website:** [reversecentaur.ai](https://reversecentaur.ai)\n- **API Docs:** [reversecentaur.ai/docs](https://reversecentaur.ai/docs)\n- **GitHub:** [github.com/ReverseCentaurAI/mcp-server](https://github.com/ReverseCentaurAI/mcp-server)\n\n## License\n\nMIT\n",
  "bytes": 6893,
  "sha": "ac23cebbf163b0e42cc71933ff073fa50d0ceb6648963afa6cfc75f1d523d391",
  "repo_slug": "reversecentaurai/mcp-server",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_brandonbgreen_reversecentaur_m_9e6fcad9/readme"
}