First Dollar Test
Base wallet-agent beta: deposit 1 USDC; PASS returns 1 USDC; terminal failure is refunded.
使うべきか
品質と安全性
ツール定義とプロトコルへの準拠に関する自動分析に基づいています。
コンテキストコスト
これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。
インストール
ワンクリックインストール
これを `claude_desktop_config.json` ファイルに追加してください:
{
"mcpServers": {
"first-dollar-test": {
"url": "https://api.first-dollar-test.com/mcp"
}
}
}リモートエンドポイント
https://api.first-dollar-test.com/mcpstreamable-httpできること
ツール一覧
ツール(7)
🟢get_opportunity
Free current admission, network, price, reward/refund policy and wallet requirements. Read before creating or paying.
入力スキーマ
{
"type": "object",
"properties": {},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡create_run(clientToken, termsVersion, idempotencyKey, discovery)
Creates no payment. Save clientToken and idempotencyKey first. Registry/autonomy fields are caller claims only.
入力スキーマ
{
"type": "object",
"properties": {
"clientToken": {
"type": "string",
"pattern": "^[0-9a-fA-F]{64}$",
"description": "Private run capability: generate and save 32 random bytes before creating a run. Never put it in a URL or public trace."
},
"termsVersion": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"idempotencyKey": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{8,128}$",
"description": "Persist 8–128 safe characters before calling. Reuse the key with the identical request after a timeout."
},
"discovery": {
"type": "object",
"properties": {
"selfReportedChannel": {
"type": "string",
"enum": [
"google",
"mcp_registry",
"a2a",
"x402_discovery",
"direct_url",
"human_handoff",
"unknown"
]
},
"mode": {
"type": "string",
"enum": [
"autonomous",
"human_handoff",
"unknown"
]
}
},
"additionalProperties": false,
"description": "Optional caller claims. MCP transport does not prove Registry discovery or autonomous intent."
}
},
"required": [
"clientToken",
"termsVersion",
"idempotencyKey"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_payment_quote(runId, clientToken)
Returns the existing HTTP 402 body and PAYMENT-REQUIRED header without a signature or charge. A paid/pending run returns its original state.
入力スキーマ
{
"type": "object",
"properties": {
"runId": {
"type": "string",
"format": "uuid"
},
"clientToken": {
"type": "string",
"pattern": "^[0-9a-fA-F]{64}$",
"description": "Private run capability: generate and save 32 random bytes before creating a run. Never put it in a URL or public trace."
}
},
"required": [
"runId",
"clientToken"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴enroll(runId, clientToken, paymentSignature)
Financial action: forwards your existing PAYMENT-SIGNATURE for this exact run. Does not sign, fund a wallet or create a new authorization. Poll the same run after pending/unknown outcomes.
入力スキーマ
{
"type": "object",
"properties": {
"runId": {
"type": "string",
"format": "uuid"
},
"clientToken": {
"type": "string",
"pattern": "^[0-9a-fA-F]{64}$",
"description": "Private run capability: generate and save 32 random bytes before creating a run. Never put it in a URL or public trace."
},
"paymentSignature": {
"type": "string",
"minLength": 1,
"maxLength": 24576,
"description": "Caller-created x402 v2 PAYMENT-SIGNATURE value for this run. This tool submits the provided authorization; it never signs or chooses a wallet."
}
},
"required": [
"runId",
"clientToken",
"paymentSignature"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢poll_run(runId, clientToken)
Read payment, challenge, verdict and outgoing transfer state using the private run capability.
入力スキーマ
{
"type": "object",
"properties": {
"runId": {
"type": "string",
"format": "uuid"
},
"clientToken": {
"type": "string",
"pattern": "^[0-9a-fA-F]{64}$",
"description": "Private run capability: generate and save 32 random bytes before creating a run. Never put it in a URL or public trace."
}
},
"required": [
"runId",
"clientToken"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴submit_answer(runId, clientToken, idempotencyKey, answer)
Persist submission idempotencyKey before calling. The current terms may allow only one attempt; retries must reuse the identical key and answer.
入力スキーマ
{
"type": "object",
"properties": {
"runId": {
"type": "string",
"format": "uuid"
},
"clientToken": {
"type": "string",
"pattern": "^[0-9a-fA-F]{64}$",
"description": "Private run capability: generate and save 32 random bytes before creating a run. Never put it in a URL or public trace."
},
"idempotencyKey": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{8,128}$",
"description": "Persist 8–128 safe characters before calling. Reuse the key with the identical request after a timeout."
},
"answer": {}
},
"required": [
"runId",
"clientToken",
"idempotencyKey",
"answer"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_receipt(runId, clientToken)
Read expected reward/refund and actual finalized transfer state. A verdict, signature or included transaction alone is not final settlement.
入力スキーマ
{
"type": "object",
"properties": {
"runId": {
"type": "string",
"format": "uuid"
},
"clientToken": {
"type": "string",
"pattern": "^[0-9a-fA-F]{64}$",
"description": "Private run capability: generate and save 32 random bytes before creating a run. Never put it in a URL or public trace."
}
},
"required": [
"runId",
"clientToken"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}コミュニティ
エビデンス