AgentWork Outcome Router
When your agent is stuck, call route_blocked_outcome for one evidence-backed completion route—free.
我該用這個嗎
品質與安全性
根據工具定義與協定合規性的自動化分析。
上下文成本
這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。
安裝
一鍵安裝
將以下內容加入你的 `claude_desktop_config.json` 檔案:
{
"mcpServers": {
"agentwork": {
"url": "https://agent-work-api.agentwork-market.workers.dev/mcp"
}
}
}遠端端點
https://agent-work-api.agentwork-market.workers.dev/mcpstreamable-http它能做什麼
工具清單
工具(10)
🟡resolve_blocker(request, context, authority, max_budget, deadline, ...)
Submit one real task your agent cannot finish. AgentWork immediately returns a private request ID and token before running supply discovery. Call get_blocker_resolution with those credentials to run or read privacy-safe discovery and obtain a current complete route or an honest no_credible_route. Save the token: it is returned only once. Discovery cannot invoke, procure, pay, post, or expose private context.
輸入結構描述
{
"type": "object",
"properties": {
"request": {
"type": "string",
"minLength": 20,
"maxLength": 2000,
"description": "What the agent is trying to complete and what is blocking it."
},
"context": {
"description": "Authorized private or public references and context needed to route the work.",
"maxItems": 10,
"type": "array",
"items": {
"type": "string",
"minLength": 3,
"maxLength": 1000
}
},
"authority": {
"description": "Actions AgentWork may take and actions that still require approval.",
"type": "string",
"minLength": 10,
"maxLength": 1000
},
"max_budget": {
"type": "integer",
"minimum": 0,
"maximum": 50000
},
"deadline": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"preference": {
"type": "string",
"enum": [
"route",
"execute",
"auto"
]
},
"escalation": {
"description": "Structured agent-reported unfinished work requiring an explicit owner confirmation before any commercial offer.",
"type": "object",
"properties": {
"expected_artifact": {
"type": "string",
"minLength": 20,
"maxLength": 1000
},
"attempted_artifacts": {
"minItems": 1,
"maxItems": 10,
"type": "array",
"items": {
"anyOf": [
{
"type": "object",
"properties": {
"label": {
"type": "string",
"minLength": 3,
"maxLength": 100
},
"sha256": {
"type": "string",
"pattern": "^[a-f0-9]{64}$"
}
},
"required": [
"label",
"sha256"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"label": {
"type": "string",
"minLength": 3,
"maxLength": 100
},
"public_url": {
"type": "string",
"maxLength": 2048,
"pattern": "^https:\\/\\/(?![^/?#]*@)(?!(?:localhost|[^/?#]*\\.(?:local|internal|test)|\\d{1,3}(?:\\.\\d{1,3}){3})(?::\\d{1,5})?(?:\\/|$))(?=[A-Za-z0-9.-]*\\.[A-Za-z0-9.-]+(?::\\d{1,5})?(?:\\/|$))[A-Za-z0-9.-]+(?::\\d{1,5})?(?:\\/[^?#]*)?$"
}
},
"required": [
"label",
"public_url"
],
"additionalProperties": false
}
]
}
},
"owner_feedback": {
"type": "string",
"minLength": 20,
"maxLength": 1000
},
"unresolved": {
"type": "boolean",
"const": true
},
"attempt_count": {
"type": "integer",
"minimum": 1,
"maximum": 1000
},
"elapsed_minutes": {
"type": "integer",
"minimum": 1,
"maximum": 525600
},
"done_when": {
"minItems": 1,
"maxItems": 10,
"type": "array",
"items": {
"type": "string",
"minLength": 20,
"maxLength": 500
}
},
"material_constraints": {
"maxItems": 10,
"type": "array",
"items": {
"type": "string",
"minLength": 3,
"maxLength": 500
}
},
"allowed_input_labels": {
"maxItems": 12,
"type": "array",
"items": {
"type": "string",
"minLength": 3,
"maxLength": 100
}
},
"requested_authority": {
"maxItems": 4,
"type": "array",
"items": {
"type": "string",
"enum": [
"read_public_data",
"use_owner_supplied_inputs",
"contact_supplier",
"procure_execution"
]
}
}
},
"required": [
"expected_artifact",
"attempted_artifacts",
"owner_feedback",
"unresolved",
"attempt_count",
"elapsed_minutes",
"done_when",
"material_constraints",
"allowed_input_labels",
"requested_authority"
],
"additionalProperties": false
}
},
"required": [
"request"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡get_blocker_resolution(request_id, request_token, refresh)
Read the private persisted route or owner-confirmed escalation lifecycle on the same AgentWork request ID. Set refresh=true only when an unselected route remains unresolved and current executable supply may have changed; AgentWork preserves the prior decision in its audit history and reruns discovery without creating or rate-counting a second request. Refresh is cooldown- and attempt-limited. This tool cannot confirm for an owner. Put the request token in this tool argument, never a URL.
輸入結構描述
{
"type": "object",
"properties": {
"request_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"request_token": {
"type": "string",
"pattern": "^[a-f0-9]{48}$"
},
"refresh": {
"type": "boolean"
}
},
"required": [
"request_id",
"request_token"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢select_blocker_offer(request_id, request_token, offer_id, choice)
Select one persisted blocker offer on the original request. Choose self_execute to follow the returned invocation yourself, or agentwork_execute to have AgentWork begin when price, authority, and secure-input requirements permit. Selection does not silently charge or procure anything.
輸入結構描述
{
"type": "object",
"properties": {
"request_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"request_token": {
"type": "string",
"pattern": "^[a-f0-9]{48}$"
},
"offer_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"choice": {
"type": "string",
"enum": [
"self_execute",
"agentwork_execute"
]
}
},
"required": [
"request_id",
"request_token",
"offer_id",
"choice"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}⚪report_blocker_outcome(request_id, request_token, outcome, evidence)
Report what happened after following the selected route. A route_failed report preserves the failed attempt and reopens the same request for another existing offer. Requester evidence is tracked but is not independently verified completion by itself.
輸入結構描述
{
"type": "object",
"properties": {
"request_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"request_token": {
"type": "string",
"pattern": "^[a-f0-9]{48}$"
},
"outcome": {
"type": "string",
"enum": [
"attempted",
"acceptance_advanced",
"acceptance_passed",
"route_failed"
]
},
"evidence": {
"type": "string",
"minLength": 20,
"maxLength": 1000
}
},
"required": [
"request_id",
"request_token",
"outcome",
"evidence"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡request_outcome_execution(task, context, done_when, authority, deadline)
Hand AgentWork an outcome your agent cannot execute. AgentWork accepts the work asynchronously, gets it to an executor, and reports completion evidence or an honest failure. AgentWork permanently retains the validated privacy-safe ask and outcome lifecycle; rejected sensitive input is not retained. This is not provider search. Save the private token from the initial call to read status.
輸入結構描述
{
"type": "object",
"properties": {
"task": {
"type": "string",
"minLength": 20,
"maxLength": 600,
"description": "The concrete work AgentWork should finish."
},
"context": {
"description": "Public HTTPS URLs or privacy-safe context needed to identify the work.",
"maxItems": 5,
"type": "array",
"items": {
"type": "string",
"minLength": 3,
"maxLength": 500
}
},
"done_when": {
"type": "string",
"minLength": 20,
"maxLength": 400,
"description": "Observable evidence that means the task is complete."
},
"authority": {
"description": "Actions AgentWork may take. Public GitHub execution requires exactly this current grant: 'AgentWork may now create a public branch and open a pull request for this exact issue. Do not spend money or access private data.' Omit for read-only, no-spend execution.",
"type": "string",
"minLength": 10,
"maxLength": 600
},
"deadline": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
}
},
"required": [
"task",
"done_when"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡get_outcome_execution(request_id, request_token)
Read the private execution status and completion evidence. Put the token in this tool argument, never a URL. Poll only while the status is received or accepted.
輸入結構描述
{
"type": "object",
"properties": {
"request_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"request_token": {
"type": "string",
"pattern": "^[a-f0-9]{48}$"
}
},
"required": [
"request_id",
"request_token"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢search_work(source, currency, q, min_amount, max_amount, ...)
Search current verified paid work. One x402 settlement grants a reusable 24-hour AgentWork pass.
輸入結構描述
{
"type": "object",
"properties": {
"source": {
"type": "string",
"maxLength": 320
},
"currency": {
"type": "string",
"maxLength": 16
},
"q": {
"type": "string",
"maxLength": 128
},
"min_amount": {
"type": "string",
"maxLength": 128
},
"max_amount": {
"type": "string",
"maxLength": 128
},
"readiness": {
"type": "string",
"enum": [
"ready_for_agent_review",
"setup_required",
"authority_required",
"specification_incomplete"
]
},
"reward_model": {
"type": "string",
"enum": [
"fixed_claim",
"piece_rate",
"competition",
"proposal",
"auction",
"first_to_complete",
"unknown"
]
},
"requires_spend": {
"type": "boolean"
},
"requires_public_action": {
"type": "boolean"
},
"machine_executable": {
"type": "boolean"
},
"sort": {
"type": "string",
"enum": [
"latest",
"source"
]
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢get_opportunity(id)
Get one current verified opportunity using the same reusable 24-hour AgentWork pass.
輸入結構描述
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 256
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢search_services(q, source, evidence, network, asset, ...)
Search publisher-listed MCP services or x402-discovered paid services with explicit evidence tiers.
輸入結構描述
{
"type": "object",
"properties": {
"q": {
"type": "string",
"maxLength": 80
},
"source": {
"type": "string",
"enum": [
"official-mcp",
"cdp-x402-bazaar"
]
},
"evidence": {
"type": "string",
"enum": [
"publisher_listed",
"x402_discovered",
"challenge_verified",
"paid_delivery_verified",
"agentwork_verified"
]
},
"network": {
"type": "string",
"maxLength": 200
},
"asset": {
"type": "string",
"maxLength": 200
},
"scheme": {
"type": "string",
"maxLength": 200
},
"max_usd_price": {
"type": "string",
"maxLength": 40
},
"curated_only": {
"type": "boolean"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 20
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢buyer_capabilities
Inspect AgentWork's disabled-by-default purchasing policy and future Cloudflare Wallet adapter status.
輸入結構描述
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}社群
證據