# AgentWork Outcome Router

> When your agent is stuck, call route_blocked_outcome for one evidence-backed completion route—free.

- name: io.github.mitchellOpZero/agentwork
- version: 0.1.2
- connection class: R0 (autonomous)
- trust: 94/100
- quality: 83/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/io.github.mitchellOpZero%2Fagentwork
- tools: https://api.protogrid.dev/v1/servers/io.github.mitchellOpZero%2Fagentwork/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "agentwork": {
      "type": "http",
      "url": "https://agent-work-api.agentwork-market.workers.dev/mcp"
    }
  }
}
```


## Trust

- hygiene: 100
- liveness: 100
- freshness: 85
- provenance: 90
- drivers: +repository +namespace-matches-repo +website +reachable +uptime-99% ~updated-66d-ago
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 83/100 (good)

### protocol: 88 (weight 25)

- pass `protocol.modern`: supports 2026-07-28 (server/discover)
- pass `protocol.stateless`: answers without a session
- pass `protocol.transport`: streamable HTTP
- warn `protocol.list_ttl`: tools/list declares ttlMs 0, so clients re-fetch it on every use

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 71 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- fail `tools.annotations`: no tool declares readOnlyHint or destructiveHint, so clients cannot tell safe calls from risky ones
- fail `tools.directory_hints`: no tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: resolve_blocker (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); get_opportunity (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); search_services (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); …
- pass `tools.token_cost`: about 2,516 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 100 (weight 15)

- pass `stability.changes`: no tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 10, about 2,516 tokens to load them all
- tool set hash: 659d27cb2b2a413b7ddfd7a2625befe3
- badge: [![protogrid quality](https://protogrid.dev/badge/io.github.mitchellOpZero/agentwork.svg)](https://protogrid.dev/servers/io.github.mitchellOpZero/agentwork)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

_No tool definition changes recorded._

## Remotes

- https://agent-work-api.agentwork-market.workers.dev/mcp (streamable-http, auth none, reachable true, uptime30d 0.99130434)

## Packages

_none_

## Tools (10)

- `buyer_capabilities`: Inspect AgentWork's disabled-by-default purchasing policy and future Cloudflare Wallet adapter status.
- `get_blocker_resolution`: 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.
- `get_opportunity`: Get one current verified opportunity using the same reusable 24-hour AgentWork pass.
- `get_outcome_execution`: 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.
- `report_blocker_outcome`: 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.
- `request_outcome_execution`: 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.
- `resolve_blocker`: 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.
- `search_services`: Search publisher-listed MCP services or x402-discovered paid services with explicit evidence tiers.
- `search_work`: Search current verified paid work. One x402 settlement grants a reusable 24-hour AgentWork pass.
- `select_blocker_offer`: 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.
