Skip to main content
Glama
ReverseCentaurAI

ReverseCentaur

Official

@reversecentaur/mcp

Reverse Centaurプラットフォーム用のMCPサーバーです。これは、AIエージェントが人間を雇用するためのフェアトレード・マーケットプレイスです。

AIエージェントが「物理世界での事実確認」「創造的な判断」「法的文書への署名」「ワインのテイスティング」など、人間にしかできないことを必要とする場合、Reverse Centaurにタスクを投稿すれば、審査済みの人間がそれを完了させます。

インストール

npm install -g reversecentaur-mcp
# or use directly with npx (recommended for MCP clients)
npx reversecentaur-mcp

Related MCP server: humanrail-mcp-server

設定

Claude Desktop

claude_desktop_config.json に以下を追加してください:

{
  "mcpServers": {
    "reversecentaur": {
      "command": "npx",
      "args": ["-y", "@reversecentaur/mcp"],
      "env": {
        "REVERSECENTAUR_API_KEY": "your-api-key-here"
      }
    }
  }
}

Cursor

CursorのMCP設定に以下を追加してください:

{
  "mcpServers": {
    "reversecentaur": {
      "command": "npx",
      "args": ["-y", "@reversecentaur/mcp"],
      "env": {
        "REVERSECENTAUR_API_KEY": "your-api-key-here"
      }
    }
  }
}

リモート (HTTPトランスポート)

リモートのMCPクライアント(Anthropic Claudeを含む)の場合は、HTTPサーバーを実行してください:

npx reversecentaur-mcp-http
# or with OAuth enabled:
REVERSECENTAUR_OAUTH=true npx reversecentaur-mcp-http

サーバーはデフォルトでポート3001でリッスンします。MCPエンドポイント: http://localhost:3001/mcp

Windsurf / その他のMCPクライアント

stdioトランスポートをサポートするすべてのMCPクライアントでこのサーバーを使用できます。以下を指定してください:

npx reversecentaur-mcp

以下の環境変数と共に使用します。

環境変数

変数

必須

デフォルト

説明

REVERSECENTAUR_API_KEY

はい*

reversecentaur.ai から取得したAPIキー

REVERSECENTAUR_API_URL

いいえ

https://api.reversecentaur.ai

APIベースURL(セルフホストまたはステージング用)

REVERSECENTAUR_MOCK_MODE

いいえ

false

APIを呼び出さずに偽のデータを使用するには true に設定

REVERSECENTAUR_OAUTH

いいえ

false

OAuth 2.0を有効にするには true に設定(HTTPトランスポートのみ)

PORT

いいえ

3001

HTTPサーバーのポート(HTTPトランスポートのみ)

MCP_PUBLIC_URL

いいえ

https://mcp.reversecentaur.ai

OAuthメタデータ用の公開HTTPS URL

*モックモードでは不要です。

安全性アノテーション

すべてのツールにはMCP安全性アノテーションが含まれています:

ツール

readOnlyHint

destructiveHint

post_task

false

true (タスクを作成し、資金を差し引く)

check_task

true

false

list_capabilities

true

false

cancel_task

false

true (タスクをキャンセルし、手数料が発生する場合がある)

send_task_message

false

false

list_task_messages

true

false

トランスポート

トランスポート

コマンド

ユースケース

stdio

npx reversecentaur-mcp

Claude Desktop, Cursor, ローカルMCPクライアント

Streamable HTTP

npx reversecentaur-mcp-http

リモートクライアント, Anthropic Claude Directory, Web

ツール

post_task

人間の作業者が完了するためのタスクを投稿します。

パラメータ:

  • title (string, 必須) — タスクの短いタイトル(最大200文字)

  • description (string, 必須) — 詳細な説明(最大5000文字)

  • category (string, 必須) — 次のいずれか: verification, research, physical_action, creative_judgment, data_validation, communication, legal_identity, sensory_evaluation, other

  • budget_usd (number, 必須) — 米ドルでの予算(フェアトレードの最低額を満たす必要があります)

  • deadline_minutes (number, オプション) — 期限(分単位、デフォルト: 1440 = 24時間、最小: 15、最大: 43200)

  • deliverable_format (string, オプション) — 次のいずれか: text, json, image, file, confirmation (デフォルト: text)

  • callback_url (string, オプション) — 完了通知用のWebhook URL

check_task

タスクのステータスを確認し、完了時に結果を取得します。

パラメータ:

  • task_id (string, 必須) — post_task からのタスクID

list_capabilities

利用可能なタスクカテゴリ、フェアトレードの最低賃金、作業者の空き状況、プラットフォームのステータスを一覧表示します。パラメータは不要です。

cancel_task

以前に投稿したタスクをキャンセルします。

パラメータ:

  • task_id (string, 必須) — キャンセルするタスクID

  • reason (string, オプション) — キャンセルの理由(最大500文字)

send_task_message

タスクを担当する作業者にメッセージを送信します。

パラメータ:

  • task_id (string, 必須) — タスクID

  • body (string, 必須) — メッセージ本文(1〜2000文字)

list_task_messages

タスクに関するすべてのメッセージを一覧表示します(古い順)。作業者からのメッセージを既読にします。

パラメータ:

  • task_id (string, 必須) — タスクID

リソース

サーバーは2つのドキュメントリソースを公開しています:

  • reversecentaur://docs/fair-trade-standards — フェアトレードの最低賃金と作業者の保護

  • reversecentaur://docs/getting-started — クイックスタートガイド

モックモード

テストおよび開発用に、モックモードを有効にできます:

REVERSECENTAUR_MOCK_MODE=true npx @reversecentaur/mcp

または、MCPクライアントの設定で:

{
  "mcpServers": {
    "reversecentaur": {
      "command": "npx",
      "args": ["-y", "@reversecentaur/mcp"],
      "env": {
        "REVERSECENTAUR_MOCK_MODE": "true"
      }
    }
  }
}

モックモードは、APIを呼び出さずに現実的な偽のデータを返します。タスクはセッションのメモリ内で追跡されます。post_task はモックIDを返し、そのIDで check_task を実行するとモックの完了結果が返されます。

プログラムによる使用

import { createServer } from '@reversecentaur/mcp';

const server = createServer({
  apiKey: 'your-key',
  baseUrl: 'https://api.reversecentaur.ai',
  mockMode: false,
});

会話例

あなた: Reverse Centaurを使って、123 Main Stのカフェがまだ営業していて、オーツミルクのラテを提供しているか確認してくれる人を探して。

Claude: そのための確認タスクを投稿します。 (カテゴリ「verification」、予算$3.00で post_task を使用)

Claude: タスクを投稿しました!ID: task_abc123。推定マッチング時間: 10分。後で確認します。 (後ほど、check_task を使用)

Claude: 作業者からの確認が取れました:カフェは営業中で(午後9時閉店)、オーツミルクのラテも提供しているとのことです($5.50)。フェアトレード認証済み ✅

フェアトレード基準

すべてのタスクは、カテゴリごとの最低賃金を満たす必要があります。プラットフォームは、時給30ドルの最低実効時給を強制しています。作業者には完了時に報酬が支払われ、身元はデフォルトで非公開です。

詳細は list_capabilities を使用するか、reversecentaur://docs/fair-trade-standards リソースを参照してください。

リンク

ライセンス

MIT

Available Tools

6 tools
cancel_taskCancel TaskA
Destructive

Cancel a previously posted task. Use when the task is no longer needed or was posted in error. If no worker has been assigned, the full budget is refunded. If a worker is already assigned or has started work, a cancellation fee applies to compensate the worker for time spent. The response includes the exact refund amount and any fees. This action is irreversible — the task cannot be reopened after cancellation.

ParametersJSON Schema
NameRequiredDescriptionDefault
task_idYesThe task ID to cancel
reasonNoOptional reason for cancellation

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations provide destructiveHint=true, but the description adds substantial context: detailed refund/fee logic based on assignment status, and explicitly states the action is irreversible. This fully informs the agent of the tool's behavioral traits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is four sentences, each earning its place: purpose, usage condition, behavioral detail, and irreversibility. No redundant or irrelevant content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers key return information (refund amount and fees) and irreversibility, but does not mention potential error cases (e.g., invalid task_id or already cancelled). Given the tool's moderate complexity, it is largely adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the description does not need to add parameter details. It adds no extra meaning beyond the schema, resulting in the baseline score of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description begins with 'Cancel a previously posted task,' which directly states the action (cancel) and resource (task). It clearly differentiates from sibling tools like post_task or check_task by focusing solely on cancellation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states when to use the tool ('when the task is no longer needed or was posted in error') and explains behavior under different conditions (refund vs fee). It does not mention alternatives or when not to use, but the context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

check_taskCheck TaskA
Read-only

Check the status of a previously posted task. Returns the current status (posted, accepted, in_progress, proof_submitted, completed, cancelled, disputed), worker assignment info, estimated completion time, and deadline. If the task is completed, includes the worker's deliverable, worker rating, total cost, and fair trade certification status. Poll this after posting a task to track progress.

ParametersJSON Schema
NameRequiredDescriptionDefault
task_idYesThe task ID returned from post_task

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate readOnly=true and destructiveHint=false, which the description supports. It adds transparency by detailing return content, including conditional info for completed tasks.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, each serving a purpose: purpose, return info, usage guidance. No redundant or vague language.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (1 param, no output schema, no nested objects), the description adequately covers what the tool does, what it returns, and when to use it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single parameter is fully described in the schema (100% coverage). The description reinforces that task_id comes from post_task but doesn't add new semantics beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it checks the status of a previously posted task, listing specific statuses and returned info. It distinguishes from siblings like cancel_task or post_task by focusing on status retrieval.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says to poll after posting a task, providing clear usage timing. Does not explicitly state when not to use, but context implies it requires a valid task_id from post_task.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_capabilitiesList CapabilitiesA
Read-only

List available task categories, fair trade pay minimums, worker availability, and current platform status. Use this before posting a task to discover which categories exist, what the minimum budget is for each, how many workers are currently available, and typical completion times. Returns nine categories including verification, research, physical_action, creative_judgment, data_validation, communication, legal_identity, sensory_evaluation, and other.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Description adds significant behavioral context beyond annotations: it lists the specific data returned (categories, pay minimums, availability, status) and enumerates the nine categories. Annotations already indicate read-only and non-destructive behavior, and the description aligns perfectly.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences efficiently convey purpose, usage, and output details. No redundant or unnecessary information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no parameters and no output schema, the description fully covers what the tool returns and when to use it. Listing all nine categories adds completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, and per guidelines baseline is 4. The description adds value by explaining what the output contains, compensating for the lack of output schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists available task categories, fair trade pay minimums, worker availability, and platform status. It specifies the verb 'list' and resource 'capabilities', distinguishing it from sibling tools like post_task or cancel_task.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly recommends using this tool 'before posting a task', providing clear context. However, it does not mention when not to use or provide alternatives, leaving room for minor improvement.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_task_messagesList Task MessagesB
Read-only

List all messages on one of your tasks, oldest first. Includes worker questions (pre-accept or post-accept), your own replies, and any system notices. Calling this marks worker-sent messages as read on the agent side.

ParametersJSON Schema
NameRequiredDescriptionDefault
task_idYesThe task ID returned from post_task

TDQS

B3.4/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description claims 'marks worker-sent messages as read', which is a write operation, contradicting the annotation 'readOnlyHint=true' that suggests no modifications. This is a direct contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences: first defines purpose and ordering, second adds behavioral detail. No wasted words, front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

While the description mentions the read-marking side effect, it contradicts annotations, causing confusion. It lacks details about response format, error handling, or pagination, leaving gaps for a tool with no output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with a well-described parameter. The description does not add new information beyond the schema, but the baseline for high coverage is 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states the tool lists all messages on a task, ordered oldest first, and specifies the types of messages included (worker questions, replies, system notices). It is distinct from sibling tools like send_task_message or cancel_task.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly indicates the tool is for reading messages on a task. It does not explicitly state when not to use it or compare to alternatives, but the use case is clear given the sibling context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

post_taskPost TaskB
Destructive

Post a task for a human worker to complete via the Reverse Centaur Fair Trade marketplace. Tasks must meet category-specific fair trade pay minimums.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesShort title for the task
descriptionYesDetailed description of what the human should do
categoryYesTask category (determines fair trade minimum)
budget_usdYesBudget in USD (must meet fair trade minimum for category)
deadline_minutesNoDeadline in minutes from now (default: 1440 = 24h)
deliverable_formatNoExpected format of the deliverabletext
callback_urlNoWebhook URL to receive task completion notification
payment_methodNoPayment rail: "stripe" (default) or "usdc_base" (direct USDC on Base L2)stripe

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate destructiveHint=true, so the destructive nature is known. The description adds context about fair trade pay minimums but does not expand on other behavioral aspects like charging, authorization, or side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no padding. The key information is front-loaded, making it efficient for an agent to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, but the description does not explain return values or error handling. For a creation tool, knowing what is returned (e.g., task ID) is crucial. The description is incomplete given the tool's complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so each parameter is described in the schema. The tool description adds no additional meaning beyond what the schema provides, but the schema itself is sufficient.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (post a task), the resource (task for human worker), and the context (Reverse Centaur marketplace). It distinguishes from siblings like cancel_task or check_task by specifying creation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives. The description mentions pay minimums but does not clarify when to choose post_task over other task management tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

send_task_messageSend Task MessageA

Send a message to the human worker on one of your tasks. Use this to answer a clarifying question, add context, or follow up. Messages are scoped to a single task and are visible to the assigned worker (or to workers considering a posted task).

ParametersJSON Schema
NameRequiredDescriptionDefault
task_idYesThe task ID returned from post_task
bodyYesMessage body, 1-2000 characters

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate non-read-only (readOnlyHint=false) and non-destructive (destructiveHint=false). The description adds context about message scope and visibility to workers, which is helpful beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three concise sentences with no wasted words, front-loaded with the action and purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple with no output schema, but the description adequately explains behavior and scope. Missing return value info is minor given the context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with good descriptions for both parameters. The description does not add significant new meaning beyond the schema, earning the baseline score.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Send a message to the human worker') and the resource ('one of your tasks'). It distinguishes itself from siblings like list_task_messages (which lists instead of sends) and cancel_task (which cancels).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides explicit use cases: 'answer a clarifying question, add context, or follow up.' However, it does not explicitly mention when not to use or alternatives, so not a perfect score.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 6 tool updatesv0.2.0
    • First observedcancel_task
    • First observedcheck_task
    • First observedlist_capabilities
    • First observedlist_task_messages
    • First observedpost_task
    • First observedsend_task_message

TDQS

A4.1/5.0

Scored across 6 tools

Disambiguation5/5

Each tool targets a distinct action within the task marketplace: cancel, check, list capabilities, list messages, post, and send messages. No two tools overlap in purpose.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern with snake_case: cancel_task, check_task, list_capabilities, list_task_messages, post_task, send_task_message.

Tool Count5/5

Six tools is well-scoped for a task marketplace, covering essential operations without unnecessary complexity or gaps.

Completeness4/5

Covers core lifecycle (post, check, cancel, message) and discovery (list capabilities, list messages). Minor gap: no tool to update or dispute tasks, but these may be handled externally.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI agents to route tasks requiring human judgment (e.g., content moderation, refund decisions, data verification) to a vetted worker pool, with verified results returned via Lightning Network payments.
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Enables AI agents to hire real human operators for tasks requiring physical presence, human perception, or judgment, such as verification, testing, data collection, and physical-world tasks.
    4
    62 npm
    1
    MIT