63 tested tools for AI agents: facts, payment authorization, agent wallets, x402 market, contracts.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Score 0-100 for how well AI assistants and agents can find, read and use a business website, with prioritized plain-language fixes. Deterministic, no AI calls. By OMENZ. (MCP calls run in AYNE, the free playzone; production: GET https://www.omenz.org/api/tollbooth/v1/agent-ready, $0.10 via x402.)
Public website URL
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http agent-tools https://www.omenz.org/mcp
Tool list last changed Nov 14, 2026.
Score 0-100 for how well AI assistants and agents can find, read and use a business website, with prioritized plain-language fixes. Deterministic, no AI calls. By OMENZ. (MCP calls run in AYNE, the free playzone; production: GET https://www.omenz.org/api/tollbooth/v1/agent-ready, $0.10 via x402.)
| Argument | Type | Description |
|---|---|---|
| url* | string | Public website URL |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "Public website URL"
}
}
}Proof-of-Life: is this API/endpoint answering right now, before you spend money calling it? One unpaid probe: up, paywalled (valid x402 requirements), auth_required, not_found, wrong_method, degraded, tls_error or down, with latency. Never pays the target. By OMENZ. (MCP calls run in AYNE, the free playzone; production: GET https://www.omenz.org/api/tollbooth/v1/alive, $0.001 via x402.)
| Argument | Type | Description |
|---|---|---|
| url* | string | Endpoint URL to probe |
| method | string | HTTP method the endpoint expects (default GET) |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "Endpoint URL to probe"
},
"method": {
"type": "string",
"description": "HTTP method the endpoint expects (default GET)"
}
}
}OMENZ Authorize: the authorization step for agent payments. One call before paying any x402 endpoint: live quote + preflight (up, price within max, network, stablecoin, expected payTo), payee check (known x402 seller?), fair-price check vs comparable endpoints, the owner's spend policy and Permission Passport if sent -> APPROVE / REVIEW / DECLINE with reasons and a signed 5-minute authorization code anyone can verify. Never pays the target. By OMENZ. (MCP calls run in AYNE, the free playzone; production: POST https://www.omenz.org/api/tollbooth/v1/authorize, $0.001 via x402.)
| Argument | Type | Description |
|---|---|---|
| url* | string | |
| spend | object | |
| method | string | |
| policy | object | |
| max_price_usd | number | |
| passport_token | string | |
| expected_pay_to | string |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string"
},
"spend": {
"type": "object"
},
"method": {
"type": "string"
},
"policy": {
"type": "object"
},
"max_price_usd": {
"type": "number"
},
"passport_token": {
"type": "string"
},
"expected_pay_to": {
"type": "string"
}
}
}Branch Resolver: which location page of a multi-location business is the one you mean? Give the business website and a city, ZIP or street; get the matching branch page with its phone, address, hours and notices from the business's own site. Ambiguous or missing matches come back as such with candidates, never guessed. Deterministic. By OMENZ. (MCP calls run in AYNE, the free playzone; production: GET https://www.omenz.org/api/tollbooth/v1/branch, $0.01 via x402.)
| Argument | Type | Description |
|---|---|---|
| url* | string | |
| zip | string | |
| city | string | |
| street | string |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string"
},
"zip": {
"type": "string"
},
"city": {
"type": "string"
},
"street": {
"type": "string"
}
}
}Agent Capability Card: a standard machine-readable card (omenz.capability-card.v0) of what any x402 service offers: endpoints, live prices and payment options, input/output examples from its discovery data, latency. Works on a service index or a single endpoint; never pays. By OMENZ. (MCP calls run in AYNE, the free playzone; production: GET https://www.omenz.org/api/tollbooth/v1/capability-card, $0.002 via x402.)
| Argument | Type | Description |
|---|---|---|
| url* | string | |
| method | string |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string"
},
"method": {
"type": "string"
}
}
}Did a web page really change since your last visit? Content hash that ignores timestamps and boilerplate. Pass previous=<hash> to compare. By OMENZ. (MCP calls run in AYNE, the free playzone; production: GET https://www.omenz.org/api/tollbooth/v1/changed, $0.005 via x402.)
| Argument | Type | Description |
|---|---|---|
| url* | string | Public website URL |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "Public website URL"
}
}
}Claim -> Evidence: does this source actually say what you're about to cite it for? Send a claim and the source URL; get SUPPORTED with the exact sentence, PARTIAL with the closest sentences and which numbers/names are missing, NOT_FOUND, or CHECK_NEGATION when the matching sentence denies it. Strict: every number must appear next to the claim's own names (no borrowing another plan's price). Deterministic, no AI calls. By OMENZ. (MCP calls run in AYNE, the free playzone; production: POST https://www.omenz.org/api/tollbooth/v1/claim-evidence, $0.005 via x402.)
| Argument | Type | Description |
|---|---|---|
| url* | string | |
| claim* | string |
{
"type": "object",
"required": [
"claim",
"url"
],
"properties": {
"url": {
"type": "string"
},
"claim": {
"type": "string"
}
}
}Context Diet: shrink a packet before it fills your context: drops empty fields, dedupes lists, cuts long strings to a head + sha256 pointer, caps list length, always keeps required fields; reports bytes and approximate tokens saved. By OMENZ. (MCP calls run in AYNE, the free playzone; production: POST https://www.omenz.org/api/tollbooth/v1/context-diet, $0.001 via x402.)
| Argument | Type | Description |
|---|---|---|
| packet* | any | |
| required | array | |
| max_list_items | integer | |
| max_string_chars | integer |
{
"type": "object",
"required": [
"packet"
],
"properties": {
"packet": {},
"required": {
"type": "array"
},
"max_list_items": {
"type": "integer"
},
"max_string_chars": {
"type": "integer"
}
}
}Acceptance Test as a Service + escrow verdict: a neutral party runs the contract's tests on what was delivered. PASS/FAIL per test, escrow_verdict RELEASE/REFUND (OMENZ never holds funds: the payer acts on it), and a signed attestation that feeds the seller's Reputation Receipts. By OMENZ. (MCP calls run in AYNE, the free playzone; production: POST https://www.omenz.org/api/tollbooth/v1/contract/accept, $0.005 via x402.)
| Argument | Type | Description |
|---|---|---|
| token* | string | |
| delivered* | any |
{
"type": "object",
"required": [
"token",
"delivered"
],
"properties": {
"token": {
"type": "string"
},
"delivered": {}
}
}A2A Contract Builder: turn a machine job into signed terms both agents hold: deliverable, deterministic acceptance tests (required_fields, field_types, regex, min_items, max_bytes, equals, url_alive, claim_evidence), max spend, deadline, parties. Ed25519-signed by OMENZ; verify offline with /v1/passport/key. By OMENZ. (MCP calls run in AYNE, the free playzone; production: POST https://www.omenz.org/api/tollbooth/v1/contract/build, $0.002 via x402.)
| Argument | Type | Description |
|---|---|---|
| terms* | object |
{
"type": "object",
"required": [
"terms"
],
"properties": {
"terms": {
"type": "object"
}
}
}Cost-to-Complete Estimate: what will this agent job cost BEFORE it starts? Give the steps (model, input/output tokens, runs, retry rate) with your model prices, and paid tool calls (price, or an x402 URL we quote live without paying). Get the total, a realistic range, the biggest cost, budget fit, value multiple, and how much routing named steps to a cheaper model saves. Deterministic arithmetic. By OMENZ. (MCP calls run in AYNE, the free playzone; production: POST https://www.omenz.org/api/tollbooth/v1/cost-estimate, $0.002 via x402.)
| Argument | Type | Description |
|---|---|---|
| job* | object |
{
"type": "object",
"required": [
"job"
],
"properties": {
"job": {
"type": "object"
}
}
}Duplicate-Work Detector: before your agent pays to run a task, check whether someone in your team (same private namespace_key) already did it: normalized fingerprint -> HIT with the earlier result pointer, or MISS (pass result_pointer to register this run). By OMENZ. (MCP calls run in AYNE, the free playzone; production: POST https://www.omenz.org/api/tollbooth/v1/dedupe, $0.001 via x402.)
| Argument | Type | Description |
|---|---|---|
| task* | any | |
| ttl_hours | integer | |
| namespace_key* | string | |
| result_pointer | string |
{
"type": "object",
"required": [
"namespace_key",
"task"
],
"properties": {
"task": {},
"ttl_hours": {
"type": "integer"
},
"namespace_key": {
"type": "string"
},
"result_pointer": {
"type": "string"
}
}
}Event Check: did a US public company actually FILE this news, or is it just going around? Give a ticker or name and the claim (CEO resigned, acquisition, results, bankruptcy, restatement, cyber incident, layoffs...). We map it to the required SEC 8-K item, pull the company's recent filings from EDGAR, and quote the sentence that states it. FILED only when one sentence carries the claim's names and roles; otherwise FILED_RELATED, NO_FILING_YET (4-business-day filing window), NOT_A_FILING_EVENT or NOT_FOUND. Deterministic. By OMENZ. (MCP calls run in AYNE, the free playzone; production: GET https://www.omenz.org/api/tollbooth/v1/event-check, $0.005 via x402.)
| Argument | Type | Description |
|---|---|---|
| days | integer | lookback window, 1-365 (default 30) |
| claim* | string | |
| company* | string | ticker or company name |
{
"type": "object",
"required": [
"company",
"claim"
],
"properties": {
"days": {
"type": "integer",
"description": "lookback window, 1-365 (default 30)"
},
"claim": {
"type": "string"
},
"company": {
"type": "string",
"description": "ticker or company name"
}
}
}Machine Evidence Bundle: package receipts, ledger heads, attestation tokens, claims and sources into one signed, hash-listed bundle (merkle-style root) that any agent can verify offline. For disputes, audits, refunds and handoffs. By OMENZ. (MCP calls run in AYNE, the free playzone; production: POST https://www.omenz.org/api/tollbooth/v1/evidence/bundle, $0.002 via x402.)
| Argument | Type | Description |
|---|---|---|
| items* | array | |
| label | string |
{
"type": "object",
"required": [
"items"
],
"properties": {
"items": {
"type": "array"
},
"label": {
"type": "string"
}
}
}Failure Receipt + Dead-Letter Queue: when a job fails, record WHY in a standard machine-readable form (omenz.failure.v0: objective, failed_step, error_class from a fixed list, attempts, money spent, receipts, partial artifacts, suggested next step, retryable). Secret-scanned first (secrets = refused, not stored, not charged). Stored encrypted in an Agent Locker for the next agent; pass dlq_box_id to also drop a sealed pointer into an Agent PO Box used as your dead-letter queue. By OMENZ. (MCP calls run in AYNE, the free playzone; production: POST https://www.omenz.org/api/tollbooth/v1/failure/put, $0.002 via x402.)
| Argument | Type | Description |
|---|---|---|
| to | string | |
| from | string | |
| failure* | object | objective and failed_step required |
| ttl_days | integer | |
| dlq_box_id | string |
{
"type": "object",
"required": [
"failure"
],
"properties": {
"to": {
"type": "string"
},
"from": {
"type": "string"
},
"failure": {
"type": "object",
"description": "objective and failed_step required"
},
"ttl_days": {
"type": "integer"
},
"dlq_box_id": {
"type": "string"
}
}
}Agent Budget Forecaster: spend history -> daily rate, next 7/30-day projection, trend, biggest dependencies. Deterministic; never pays a target. By OMENZ. (MCP calls run in AYNE, the free playzone; production: POST https://www.omenz.org/api/tollbooth/v1/finance/forecast, $0.002 via x402.)
| Argument | Type | Description |
|---|---|---|
| spend | any |
{
"type": "object",
"properties": {
"spend": {}
}
}Invoice/Payment Reconciler: invoice lines vs USDC-on-Base payments, each transaction checked on-chain (payer, payee, amount): MATCH / UNDERPAID / OVERPAID / MISSING / UNVERIFIED, duplicates and line-total errors flagged. Deterministic; never pays a target. By OMENZ. (MCP calls run in AYNE, the free playzone; production: POST https://www.omenz.org/api/tollbooth/v1/finance/reconcile, $0.005 via x402.)
| Argument | Type | Description |
|---|---|---|
| invoice | any | |
| payments | any |
{
"type": "object",
"properties": {
"invoice": {},
"payments": {}
}
}Structured Refund Request: order + failure receipt + payment receipts + purchase snapshot -> a standard signed dispute object with evidence strength and gaps. OMENZ packages evidence; it doesn't rule or move money. Deterministic; never pays a target. By OMENZ. (MCP calls run in AYNE, the free playzone; production: POST https://www.omenz.org/api/tollbooth/v1/finance/refund-request, $0.002 via x402.)
| Argument | Type | Description |
|---|---|---|
| order | any | |
| remedy | any | |
| failure | any | |
| receipt_ids | any | |
| snapshot_token | any |
{
"type": "object",
"properties": {
"order": {},
"remedy": {},
"failure": {},
"receipt_ids": {},
"snapshot_token": {}
}
}Machine Warranty / Purchase Snapshot: signed record of exactly what a paid endpoint promised (live x402 requirements, description, examples) at purchase time. Deterministic; never pays a target. By OMENZ. (MCP calls run in AYNE, the free playzone; production: POST https://www.omenz.org/api/tollbooth/v1/finance/snapshot, $0.002 via x402.)
| Argument | Type | Description |
|---|---|---|
| url | any | |
| method | any |
{
"type": "object",
"properties": {
"url": {},
"method": {}
}
}Subscription Watchdog: the paid endpoints your agent business relies on (up to 8): live price vs expected, down/up, terms/pricing page changed (pass back fingerprints). Deterministic; never pays a target. By OMENZ. (MCP calls run in AYNE, the free playzone; production: POST https://www.omenz.org/api/tollbooth/v1/finance/watchdog, $0.005 via x402.)
| Argument | Type | Description |
|---|---|---|
| endpoints | any |
{
"type": "object",
"properties": {
"endpoints": {}
}
}Source Freshness / Result TTL: how long can your agent reuse a result before paying to fetch it again? The source's own Last-Modified, ETag and Cache-Control + a reuse window by data kind (price, quote, hours, weather, news, stock, crypto, business_facts, terms, docs, filing, profile, search) + how to revalidate cheaply (304). By OMENZ. (MCP calls run in AYNE, the free playzone; production: GET https://www.omenz.org/api/tollbooth/v1/freshness, $0.001 via x402.)
| Argument | Type | Description |
|---|---|---|
| url* | string | |
| kind | string |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string"
},
"kind": {
"type": "string"
}
}
}Handoff Packager: hand a job to another agent with only what it needs. Keeps the fields you include, refuses (no charge) if required fields are missing, stores the packet in an encrypted Agent Locker, returns locker id + key + manifest. By OMENZ. (MCP calls run in AYNE, the free playzone; production: POST https://www.omenz.org/api/tollbooth/v1/handoff/pack, $0.002 via x402.)
| Argument | Type | Description |
|---|---|---|
| to | string | |
| from | string | |
| packet* | object | |
| include | array | |
| required | array | |
| ttl_days | integer |
{
"type": "object",
"required": [
"packet"
],
"properties": {
"to": {
"type": "string"
},
"from": {
"type": "string"
},
"packet": {
"type": "object"
},
"include": {
"type": "array"
},
"required": {
"type": "array"
},
"ttl_days": {
"type": "integer"
}
}
}Agent Job Ledger: append one entry (type tool_call|spend|receipt|handoff|failure|output|status|note|decision, any fields, amount_usd optional). Each entry is chained to the previous by sha256; secrets are refused. Header X-Ledger-Key. By OMENZ. (MCP calls run in AYNE, the free playzone; production: POST https://www.omenz.org/api/tollbooth/v1/ledger/append, $0.001 via x402.)
| Argument | Type | Description |
|---|---|---|
| entry* | object | |
| ledger_id* | string | |
| x_ledger_key | string | the key returned by create (sent as a header on HTTP) |
{
"type": "object",
"required": [
"ledger_id",
"entry"
],
"properties": {
"entry": {
"type": "object"
},
"ledger_id": {
"type": "string"
},
"x_ledger_key": {
"type": "string",
"description": "the key returned by create (sent as a header on HTTP)"
}
}
}Agent Job Ledger: open an append-only, hash-chained record for one job (tool calls, spend, receipts, handoffs, failures, outputs, status). Returns ledger_id + ledger_key (shown once). Kept 90 days. By OMENZ. (MCP calls run in AYNE, the free playzone; production: POST https://www.omenz.org/api/tollbooth/v1/ledger/create, $0.002 via x402.)
| Argument | Type | Description |
|---|---|---|
| job_id | string | |
| objective | string | |
| x_ledger_key | string | the key returned by create (sent as a header on HTTP) |
{
"type": "object",
"properties": {
"job_id": {
"type": "string"
},
"objective": {
"type": "string"
},
"x_ledger_key": {
"type": "string",
"description": "the key returned by create (sent as a header on HTTP)"
}
}
}Agent Job Ledger: read entries (since_seq for only new ones), totals (spent, counts by type, last status) and chain_intact: proof nothing was edited or removed. Header X-Ledger-Key. By OMENZ. (MCP calls run in AYNE, the free playzone; production: GET https://www.omenz.org/api/tollbooth/v1/ledger/get, $0.001 via x402.)
| Argument | Type | Description |
|---|---|---|
| id* | string | |
| since_seq | integer | |
| x_ledger_key | string | the key returned by create (sent as a header on HTTP) |
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string"
},
"since_seq": {
"type": "integer"
},
"x_ledger_key": {
"type": "string",
"description": "the key returned by create (sent as a header on HTTP)"
}
}
}What a local business's OWN website says right now: phone, address, hours, and holiday/temporary-closure notices quoted word for word, each with its source. Precision first: fields the site doesn't clearly show come back null, never guessed. Flags hidden structured data that disagrees with the page, sites that moved to another domain, and multi-location sites. Deterministic, no AI calls. By OMENZ. (MCP calls run in AYNE, the free playzone; production: GET https://www.omenz.org/api/tollbooth/v1/local-facts, $0.01 via x402.)
| Argument | Type | Description |
|---|---|---|
| url* | string | Public website URL |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "Public website URL"
}
}
}Agent Locker: check a resume packet back out. Send header X-Locker-Key. Use fields=a,b to load only the parts you need. By OMENZ. (MCP calls run in AYNE, the free playzone; production: GET https://www.omenz.org/api/tollbooth/v1/locker/get, $0.001 via x402.)
| Argument | Type | Description |
|---|---|---|
| id* | string | |
| fields | string | Optional comma list of top-level keys |
| x_locker_key | string |
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string"
},
"fields": {
"type": "string",
"description": "Optional comma list of top-level keys"
},
"x_locker_key": {
"type": "string"
}
}
}Agent Locker: check a job's working state in (resume packet: objective, decisions, open_items, facts, permissions, next_action, pointers; any JSON object up to 64 KB) so it stops filling your context. Encrypted at rest with a key only you get back; kept up to 30 days. Optional 'to' turns it into a handoff to another agent. By OMENZ. (MCP calls run in AYNE, the free playzone; production: POST https://www.omenz.org/api/tollbooth/v1/locker/put, $0.002 via x402.)
| Argument | Type | Description |
|---|---|---|
| to | string | Optional recipient label for handoffs |
| from | string | Optional sender label |
| packet* | object | Resume packet, any JSON object up to 64 KB |
| ttl_days | integer | 1-30, default 7 |
{
"type": "object",
"required": [
"packet"
],
"properties": {
"to": {
"type": "string",
"description": "Optional recipient label for handoffs"
},
"from": {
"type": "string",
"description": "Optional sender label"
},
"packet": {
"type": "object",
"description": "Resume packet, any JSON object up to 64 KB"
},
"ttl_days": {
"type": "integer",
"description": "1-30, default 7"
}
}
}Agent Market: find the paid tool for a capability across ~35,000 x402 endpoints (Bazaar index, refreshed weekly). Ranked by match, then real 30-day usage (calls, unique payers); filter by max_price_usd and network; exclude= a vendor to get substitutes (tool down or rate-limited); the top picks are probed live (never paid) for status, price and drift. Capability Finder, Procurement Desk, Quote Comparator, Tool Substitute Finder and Rate-Limit Router in one call. By OMENZ. (MCP calls run in AYNE, the free playzone; production: GET https://www.omenz.org/api/tollbooth/v1/market/find, $0.002 via x402.)
| Argument | Type | Description |
|---|---|---|
| q* | string | |
| limit | integer | |
| exclude | string | |
| network | string | |
| live_check | integer | |
| min_payers | integer | |
| max_price_usd | number |
{
"type": "object",
"required": [
"q"
],
"properties": {
"q": {
"type": "string"
},
"limit": {
"type": "integer"
},
"exclude": {
"type": "string"
},
"network": {
"type": "string"
},
"live_check": {
"type": "integer"
},
"min_payers": {
"type": "integer"
},
"max_price_usd": {
"type": "number"
}
}
}Payee Check: before paying an address, is it a known x402 seller? Matches the pay-to address against the payout addresses of ~35k listed x402 endpoints: KNOWN_SELLER (which services, 30-day calls and payers), SHARED_ADDRESS (platform/facilitator wallet) or UNKNOWN. By OMENZ. (MCP calls run in AYNE, the free playzone; production: GET https://www.omenz.org/api/tollbooth/v1/market/payee, $0.001 via x402.)
| Argument | Type | Description |
|---|---|---|
| address* | string |
{
"type": "object",
"required": [
"address"
],
"properties": {
"address": {
"type": "string"
}
}
}x402 Price Index / Fair Price Check: the going rate for a capability across listed x402 endpoints: comparables, sellers, min / p25 / median / p75 / max and usage-weighted median; pass price_usd (or a listed url) to get its percentile and FAIR / LOW / ABOVE_MARKET / HIGH. By OMENZ. (MCP calls run in AYNE, the free playzone; production: GET https://www.omenz.org/api/tollbooth/v1/market/price-index, $0.002 via x402.)
| Argument | Type | Description |
|---|---|---|
| q* | string | |
| url | string | |
| price_usd | number | |
| min_payers | integer |
{
"type": "object",
"required": [
"q"
],
"properties": {
"q": {
"type": "string"
},
"url": {
"type": "string"
},
"price_usd": {
"type": "number"
},
"min_payers": {
"type": "integer"
}
}
}Micropayment Reliability Score: should your agent trust this paid endpoint? 0-100 + grade with every reason: public 30-day usage, answering now with valid x402 requirements, speed, live price vs listed price, payTo vs listed payTo (catches swapped wallets). Never pays. By OMENZ. (MCP calls run in AYNE, the free playzone; production: GET https://www.omenz.org/api/tollbooth/v1/market/reliability, $0.002 via x402.)
| Argument | Type | Description |
|---|---|---|
| url* | string | |
| method | string |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string"
},
"method": {
"type": "string"
}
}
}Permission Passport check: ALLOW or DENY an agent's next action (tool, URL/host, amount, spent so far) against its passport, with reasons, spend left and time left. Rejects forged or expired passports. By OMENZ. (MCP calls run in AYNE, the free playzone; production: POST https://www.omenz.org/api/tollbooth/v1/passport/check, $0.001 via x402.)
| Argument | Type | Description |
|---|---|---|
| token* | string | |
| action | object |
{
"type": "object",
"required": [
"token"
],
"properties": {
"token": {
"type": "string"
},
"action": {
"type": "object"
}
}
}Permission Passport: issue a signed (Ed25519), expiring, job-scoped permission ticket for an agent: which tools, which hosts (plus explicit denies), how much it may spend, for how long (max 7 days). Carries permissions, never credentials. Any tool can check it with /passport/check or verify it offline with the public key. Limits damage when an agent is hijacked. By OMENZ. (MCP calls run in AYNE, the free playzone; production: POST https://www.omenz.org/api/tollbooth/v1/passport/issue, $0.002 via x402.)
| Argument | Type | Description |
|---|---|---|
| scope* | object |
{
"type": "object",
"required": [
"scope"
],
"properties": {
"scope": {
"type": "object"
}
}
}Agent PO Box: create a mailbox address (box_id) other agents can drop messages into while you're offline; you get a private owner_key. Messages are sealed to you; OMENZ can't read them. By OMENZ. (MCP calls run in AYNE, the free playzone; production: POST https://www.omenz.org/api/tollbooth/v1/pobox/create, $0.001 via x402.)
| Argument | Type | Description |
|---|---|---|
| label | string |
{
"type": "object",
"properties": {
"label": {
"type": "string"
}
}
}Agent PO Box: leave a JSON message (<=16 KB) in another agent's box using its box_id. Sealed to the box owner. By OMENZ. (MCP calls run in AYNE, the free playzone; production: POST https://www.omenz.org/api/tollbooth/v1/pobox/drop, $0.001 via x402.)
| Argument | Type | Description |
|---|---|---|
| from | string | |
| box_id* | string | |
| message* | any | JSON object, list or string, <=16 KB |
| subject | string |
{
"type": "object",
"required": [
"box_id",
"message"
],
"properties": {
"from": {
"type": "string"
},
"box_id": {
"type": "string"
},
"message": {
"description": "JSON object, list or string, <=16 KB"
},
"subject": {
"type": "string"
}
}
}Agent PO Box: open your waiting messages. Send header X-Owner-Key; ack=true clears them. By OMENZ. (MCP calls run in AYNE, the free playzone; production: GET https://www.omenz.org/api/tollbooth/v1/pobox/inbox, $0.001 via x402.)
| Argument | Type | Description |
|---|---|---|
| ack | string | |
| box_id* | string | |
| x_owner_key | string |
{
"type": "object",
"required": [
"box_id"
],
"properties": {
"ack": {
"type": "string"
},
"box_id": {
"type": "string"
},
"x_owner_key": {
"type": "string"
}
}
}Agent Preflight: can this agent finish the job with what it has, BEFORE it spends? Give the paid tools it needs (url, method, calls, max price), a budget and optionally its Permission Passport. We check each tool is answering and its live x402 price (never paying), the total against the budget, and the passport against each host and the total. READY, or BLOCKED with exactly what's missing. By OMENZ. (MCP calls run in AYNE, the free playzone; production: POST https://www.omenz.org/api/tollbooth/v1/preflight, $0.005 via x402.)
| Argument | Type | Description |
|---|---|---|
| job* | object |
{
"type": "object",
"required": [
"job"
],
"properties": {
"job": {
"type": "object"
}
}
}Agent Workforce: owner awards a bidding job to one bidder; the award becomes that worker's lease. Header X-Queue-Key. By OMENZ. (MCP calls run in AYNE, the free playzone; production: POST https://www.omenz.org/api/tollbooth/v1/queue/award, $0.001 via x402.)
| Argument | Type | Description |
|---|---|---|
| item_id | any | |
| queue_id | any | |
| worker_id | any | |
| x_queue_key | string | the key returned by create (sent as a header on HTTP) |
{
"type": "object",
"properties": {
"item_id": {},
"queue_id": {},
"worker_id": {},
"x_queue_key": {
"type": "string",
"description": "the key returned by create (sent as a header on HTTP)"
}
}
}Agent Workforce: worker bids on a job open for bidding (price_usd, eta_minutes). Header X-Queue-Key. By OMENZ. (MCP calls run in AYNE, the free playzone; production: POST https://www.omenz.org/api/tollbooth/v1/queue/bid, $0.001 via x402.)
| Argument | Type | Description |
|---|---|---|
| item_id | any | |
| queue_id | any | |
| price_usd | any | |
| worker_id | any | |
| eta_minutes | any | |
| x_queue_key | string | the key returned by create (sent as a header on HTTP) |
{
"type": "object",
"properties": {
"item_id": {},
"queue_id": {},
"price_usd": {},
"worker_id": {},
"eta_minutes": {},
"x_queue_key": {
"type": "string",
"description": "the key returned by create (sent as a header on HTTP)"
}
}
}Agent Workforce: a worker claims the highest-priority ready job and gets a LEASE (it is now responsible). Expired leases come back with the last checkpoint so a replacement can resume. Header X-Queue-Key. By OMENZ. (MCP calls run in AYNE, the free playzone; production: POST https://www.omenz.org/api/tollbooth/v1/queue/claim, $0.001 via x402.)
| Argument | Type | Description |
|---|---|---|
| queue_id | any | |
| worker_id | any | |
| x_queue_key | string | the key returned by create (sent as a header on HTTP) |
{
"type": "object",
"properties": {
"queue_id": {},
"worker_id": {},
"x_queue_key": {
"type": "string",
"description": "the key returned by create (sent as a header on HTTP)"
}
}
}Agent Workforce: worker finishes its leased job with a result; repeating jobs are rescheduled automatically. Header X-Queue-Key. By OMENZ. (MCP calls run in AYNE, the free playzone; production: POST https://www.omenz.org/api/tollbooth/v1/queue/complete, $0.001 via x402.)
| Argument | Type | Description |
|---|---|---|
| result | any | |
| item_id | any | |
| queue_id | any | |
| worker_id | any | |
| x_queue_key | string | the key returned by create (sent as a header on HTTP) |
{
"type": "object",
"properties": {
"result": {},
"item_id": {},
"queue_id": {},
"worker_id": {},
"x_queue_key": {
"type": "string",
"description": "the key returned by create (sent as a header on HTTP)"
}
}
}Agent Workforce: create a work queue for a team of agents. Returns queue_id + owner_key + worker_key (shown once). Options: supervisor_box_id (Agent PO Box for escalations), lease_seconds, heartbeat_grace_s. Header X-Queue-Key. By OMENZ. (MCP calls run in AYNE, the free playzone; production: POST https://www.omenz.org/api/tollbooth/v1/queue/create, $0.002 via x402.)
| Argument | Type | Description |
|---|---|---|
| name | any | |
| x_queue_key | string | the key returned by create (sent as a header on HTTP) |
| lease_seconds | any | |
| supervisor_box_id | any |
{
"type": "object",
"properties": {
"name": {},
"x_queue_key": {
"type": "string",
"description": "the key returned by create (sent as a header on HTTP)"
},
"lease_seconds": {},
"supervisor_box_id": {}
}
}Agent Workforce: add a job (title, payload, priority, not_before, repeat_every_minutes, max_attempts, bidding). Owner key. Payloads with secrets are refused: give workers a Permission Passport or Locker pointer. Header X-Queue-Key. By OMENZ. (MCP calls run in AYNE, the free playzone; production: POST https://www.omenz.org/api/tollbooth/v1/queue/enqueue, $0.001 via x402.)
| Argument | Type | Description |
|---|---|---|
| title | any | |
| payload | any | |
| priority | any | |
| queue_id | any | |
| x_queue_key | string | the key returned by create (sent as a header on HTTP) |
{
"type": "object",
"properties": {
"title": {},
"payload": {},
"priority": {},
"queue_id": {},
"x_queue_key": {
"type": "string",
"description": "the key returned by create (sent as a header on HTTP)"
}
}
}Agent Workforce: hand a job up to the supervisor (sealed drop into the supervisor's Agent PO Box). Header X-Queue-Key. By OMENZ. (MCP calls run in AYNE, the free playzone; production: POST https://www.omenz.org/api/tollbooth/v1/queue/escalate, $0.001 via x402.)
| Argument | Type | Description |
|---|---|---|
| reason | any | |
| item_id | any | |
| queue_id | any | |
| worker_id | any | |
| x_queue_key | string | the key returned by create (sent as a header on HTTP) |
{
"type": "object",
"properties": {
"reason": {},
"item_id": {},
"queue_id": {},
"worker_id": {},
"x_queue_key": {
"type": "string",
"description": "the key returned by create (sent as a header on HTTP)"
}
}
}Agent Workforce: worker reports failure; the job retries until max_attempts, then goes dead. Header X-Queue-Key. By OMENZ. (MCP calls run in AYNE, the free playzone; production: POST https://www.omenz.org/api/tollbooth/v1/queue/fail, $0.001 via x402.)
| Argument | Type | Description |
|---|---|---|
| retry | any | |
| reason | any | |
| item_id | any | |
| queue_id | any | |
| worker_id | any | |
| x_queue_key | string | the key returned by create (sent as a header on HTTP) |
{
"type": "object",
"properties": {
"retry": {},
"reason": {},
"item_id": {},
"queue_id": {},
"worker_id": {},
"x_queue_key": {
"type": "string",
"description": "the key returned by create (sent as a header on HTTP)"
}
}
}Agent Workforce: worker is alive; extends its lease and stores a checkpoint (e.g. a Locker id + step) for dead-agent recovery. Header X-Queue-Key. By OMENZ. (MCP calls run in AYNE, the free playzone; production: POST https://www.omenz.org/api/tollbooth/v1/queue/heartbeat, $0.001 via x402.)
| Argument | Type | Description |
|---|---|---|
| item_id | any | |
| queue_id | any | |
| worker_id | any | |
| checkpoint | any | |
| x_queue_key | string | the key returned by create (sent as a header on HTTP) |
{
"type": "object",
"properties": {
"item_id": {},
"queue_id": {},
"worker_id": {},
"checkpoint": {},
"x_queue_key": {
"type": "string",
"description": "the key returned by create (sent as a header on HTTP)"
}
}
}Agent Workforce: owner resolves an escalated/dead job: requeue, close or kill. Header X-Queue-Key. By OMENZ. (MCP calls run in AYNE, the free playzone; production: POST https://www.omenz.org/api/tollbooth/v1/queue/resolve, $0.001 via x402.)
| Argument | Type | Description |
|---|---|---|
| action | any | |
| item_id | any | |
| queue_id | any | |
| x_queue_key | string | the key returned by create (sent as a header on HTTP) |
{
"type": "object",
"properties": {
"action": {},
"item_id": {},
"queue_id": {},
"x_queue_key": {
"type": "string",
"description": "the key returned by create (sent as a header on HTTP)"
}
}
}Agent Workforce: who is responsible for what right now (holders + lease time left), counts by state, escalations, roster (available/last seen/current job), scheduled jobs; or one item's full history with item_id. Header X-Queue-Key. By OMENZ. (MCP calls run in AYNE, the free playzone; production: GET https://www.omenz.org/api/tollbooth/v1/queue/status, $0.001 via x402.)
| Argument | Type | Description |
|---|---|---|
| item_id | string | |
| queue_id* | string | |
| x_queue_key | string | the key returned by create (sent as a header on HTTP) |
{
"type": "object",
"required": [
"queue_id"
],
"properties": {
"item_id": {
"type": "string"
},
"queue_id": {
"type": "string"
},
"x_queue_key": {
"type": "string",
"description": "the key returned by create (sent as a header on HTTP)"
}
}
}Price Quote: the live x402 payment options of any endpoint, normalized: USD price, network, stablecoin, payTo, scheme, timeout; cheapest option. Reads the 402 (v1 body or v2 header) without paying. By OMENZ. (MCP calls run in AYNE, the free playzone; production: GET https://www.omenz.org/api/tollbooth/v1/quote, $0.001 via x402.)
| Argument | Type | Description |
|---|---|---|
| url* | string | Endpoint URL to probe |
| method | string | HTTP method the endpoint expects (default GET) |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "Endpoint URL to probe"
},
"method": {
"type": "string",
"description": "HTTP method the endpoint expects (default GET)"
}
}
}Receipt Locker: record a machine-readable receipt (payer, payee, amount, tx_hash, job, request/response hashes). With a Base tx_hash, OMENZ checks the chain for the matching USDC transfer. Content-addressed id; anyone verifies free. By OMENZ. (MCP calls run in AYNE, the free playzone; production: POST https://www.omenz.org/api/tollbooth/v1/receipt/put, $0.002 via x402.)
| Argument | Type | Description |
|---|---|---|
| note | string | |
| payee* | string | |
| payer* | string | |
| amount* | string | |
| job_id | string | |
| network | string | |
| service | string | |
| tx_hash | string | |
| currency | string | |
| request_sha256 | string | |
Reputation Receipts: an agent's job history as checked by OMENZ Acceptance Test: jobs, passed, failed, late, pass rate, distinct buyers (low = weak evidence), recent attestations. Not self-reported. By OMENZ. (MCP calls run in AYNE, the free playzone; production: GET https://www.omenz.org/api/tollbooth/v1/reputation, $0.001 via x402.)
| Argument | Type | Description |
|---|---|---|
| agent* | string |
{
"type": "object",
"required": [
"agent"
],
"properties": {
"agent": {
"type": "string"
}
}
}Secret-Leak Preflight: before a handoff, prompt or payload leaves your boundary, scan it for API keys (Anthropic, OpenAI, AWS, GitHub, Stripe, Slack, Google...), PEM keys, wallet private keys, recovery phrases, DB passwords, JWTs and card numbers. CLEAN / REVIEW / BLOCK with JSON path + offset and redacted previews. Scanned in memory, never stored or logged. By OMENZ. (MCP calls run in AYNE, the free playzone; production: POST https://www.omenz.org/api/tollbooth/v1/secret-scan, $0.002 via x402.)
| Argument | Type | Description |
|---|---|---|
| payload* | any | String or JSON (<=256 KB) to check |
{
"type": "object",
"required": [
"payload"
],
"properties": {
"payload": {
"description": "String or JSON (<=256 KB) to check"
}
}
}Website health and business facts for one URL (alive, still theirs, readable; contact paths, structured data). Deterministic. By OMENZ. (MCP calls run in AYNE, the free playzone; production: GET https://www.omenz.org/api/tollbooth/v1/site-check, $0.01 via x402.)
| Argument | Type | Description |
|---|---|---|
| url* | string | Public website URL |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "Public website URL"
}
}
}Spend Gate: ALLOW, DENY or ESCALATE before your agent spends money. Send the owner's policy (per-transaction, daily and monthly caps, approval threshold, recipient/category/network allow and block lists, hurdle: minimum expected return multiple) and the proposed spend; get the decision with every reason and the budget left. Stateless: nothing stored. By OMENZ. (MCP calls run in AYNE, the free playzone; production: POST https://www.omenz.org/api/tollbooth/v1/spend-gate, $0.001 via x402.)
| Argument | Type | Description |
|---|---|---|
| spend* | object | amount_usd required |
| policy | object |
{
"type": "object",
"required": [
"spend"
],
"properties": {
"spend": {
"type": "object",
"description": "amount_usd required"
},
"policy": {
"type": "object"
}
}
}Split Check: before paying into (or trusting) an on-chain revenue split, verify what it actually pays. Detects 0xSplits v2 splits on Base / Base Sepolia, proves a claimed recipients+allocations config against the on-chain splitHash (or discovers it from recent events), shows each recipient's share, whether a given beneficiary is included, whether the split is immutable (no owner), and USDC waiting to be distributed. Read-only. By OMENZ. (MCP calls run in AYNE, the free playzone; production: POST https://www.omenz.org/api/tollbooth/v1/split-check, $0.002 via x402.)
| Argument | Type | Description |
|---|---|---|
| address* | string | |
| claimed | object | |
| network | string | |
| beneficiary | string |
{
"type": "object",
"required": [
"address"
],
"properties": {
"address": {
"type": "string"
},
"claimed": {
"type": "object"
},
"network": {
"type": "string"
},
"beneficiary": {
"type": "string"
}
}
}Terms Changed?: did an API or tool's pricing, limits or terms page change in a way that MATTERS? Keeps only material lines (prices, numbers with units, rate limits/quotas, commercial-use, prohibitions, refunds, data retention) and diffs them against your last fingerprint: exact lines added/removed, money_changed flag. Footer/date churn ignored. Stateless: keep the fingerprint, pass it as previous=. By OMENZ. (MCP calls run in AYNE, the free playzone; production: GET https://www.omenz.org/api/tollbooth/v1/terms-changed, $0.005 via x402.)
| Argument | Type | Description |
|---|---|---|
| url* | string | |
| previous | string | fingerprint from your last call |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string"
},
"previous": {
"type": "string",
"description": "fingerprint from your last call"
}
}
}API Terms Extractor / Data-License Checker: before your agent uses a dataset or API commercially: a terms/license page -> clauses by category (commercial use, attribution, rate limits, retention, training on your data, prohibited uses, resale, refunds, liability, termination, license type) with quotes, plus plain flags (no_commercial_use, attribution_required, may_train_on_your_data, no_resale, no_scraping, non_refundable). Pattern-based, not legal advice. By OMENZ. (MCP calls run in AYNE, the free playzone; production: GET https://www.omenz.org/api/tollbooth/v1/terms-extract, $0.005 via x402.)
| Argument | Type | Description |
|---|---|---|
| url* | string |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string"
}
}
}Transaction Preflight: GO or STOP before your agent pays an x402 endpoint. Checks it answers, the live price is within max_price_usd, payTo matches expected_pay_to, the network is allowed, the asset is a known USD stablecoin, and flags drift from the price you were quoted/listed. Never pays the target. By OMENZ. (MCP calls run in AYNE, the free playzone; production: POST https://www.omenz.org/api/tollbooth/v1/tx-preflight, $0.002 via x402.)
| Argument | Type | Description |
|---|---|---|
| url* | string | |
| method | string | |
| networks | array | |
| allow_testnet | boolean | |
| max_price_usd | number | |
| expected_pay_to | string | |
| listed_price_usd | number |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string"
},
"method": {
"type": "string"
},
"networks": {
"type": "array"
},
"allow_testnet": {
"type": "boolean"
},
"max_price_usd": {
"type": "number"
},
"expected_pay_to": {
"type": "string"
},
"listed_price_usd": {
"type": "number"
}
}
}Vendor Due-Diligence Pack: before your agent depends on an unknown paid API: reliability score + the vendor domain's health (live/parked/moved) + its terms/pricing page digest (material lines) + flags. Never pays. By OMENZ. (MCP calls run in AYNE, the free playzone; production: GET https://www.omenz.org/api/tollbooth/v1/vendor-check, $0.01 via x402.)
| Argument | Type | Description |
|---|---|---|
| url* | string | |
| method | string |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string"
},
"method": {
"type": "string"
}
}
}Agent Wallet Balance: USDC and ETH balance of any wallet on Base (public chain data). Never moves funds, no key needed. By OMENZ. (MCP calls run in AYNE, the free playzone; production: GET https://www.omenz.org/api/tollbooth/v1/wallet/balance, $0.001 via x402.)
| Argument | Type | Description |
|---|---|---|
| address* | string |
{
"type": "object",
"required": [
"address"
],
"properties": {
"address": {
"type": "string"
}
}
}Agent Wallet Runway: how many days before this agent wallet runs dry? USDC balance / recent daily spend -> days left, OK / LOW / CRITICAL, and the top cost drivers by payee. Public chain data on Base. By OMENZ. (MCP calls run in AYNE, the free playzone; production: GET https://www.omenz.org/api/tollbooth/v1/wallet/runway, $0.005 via x402.)
| Argument | Type | Description |
|---|---|---|
| days | number | |
| address* | string | |
| low_days | number | |
| critical_days | number |
{
"type": "object",
"required": [
"address"
],
"properties": {
"days": {
"type": "number"
},
"address": {
"type": "string"
},
"low_days": {
"type": "number"
},
"critical_days": {
"type": "number"
}
}
}Agent Wallet Spend Report: what has this wallet been paying for? Outgoing USDC payments on Base over the last N days (max 14), grouped by payee, each payee named with the x402 services that pay out to it (from the ~35k-endpoint x402 index), totals, daily rate, micropayment count, share going to known x402 sellers. Public chain data. By OMENZ. (MCP calls run in AYNE, the free playzone; production: GET https://www.omenz.org/api/tollbooth/v1/wallet/spend, $0.005 via x402.)
| Argument | Type | Description |
|---|---|---|
| days | number | |
| address* | string |
{
"type": "object",
"required": [
"address"
],
"properties": {
"days": {
"type": "number"
},
"address": {
"type": "string"
}
}
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 14, 2026.
Takes a password, API key or token as an argument, so the secret passes through the model's context and chat logs.
Fix: Read credentials from the server's own configuration (environment, OAuth) instead of a tool argument.
No readOnlyHint / destructiveHint annotations, so clients can't tell a read from a write without asking.
Fix: Add annotations to each tool, e.g. { readOnlyHint: true } for tools that only read.
What changed in this server's tools since we started watching, newest first. Each change is scanned again.
Split Check: before paying into (or trusting) an on-chain revenue split, verify what it actually pays. Detects 0xSplits v2 splits on Base / Base Sepolia, proves a claimed recipients+allocations config against the on-chain splitHash (or discovers it from recent events), shows each recipient's share, whether a given beneficiary is included, whether the split is immutable (no owner), and USDC waiting to be distributed. Read-only. By OMENZ. (MCP calls run in AYNE, the free playzone; production: POST https://www.omenz.org/api/tollbooth/v1/split-check, $0.002 via x402.)
OMENZ Authorize: the authorization step for agent payments. One call before paying any x402 endpoint: live quote + preflight (up, price within max, network, stablecoin, expected payTo), payee check (known x402 seller?), fair-price check vs comparable endpoints, the owner's spend policy and Permission Passport if sent -> APPROVE / REVIEW / DECLINE with reasons and a signed 5-minute authorization code anyone can verify. Never pays the target. By OMENZ. (MCP calls run in AYNE, the free playzone; production: POST https://www.omenz.org/api/tollbooth/v1/authorize, $0.001 via x402.)
| response_sha256 |
| string |
{
"type": "object",
"required": [
"payer",
"payee",
"amount"
],
"properties": {
"note": {
"type": "string"
},
"payee": {
"type": "string"
},
"payer": {
"type": "string"
},
"amount": {
"type": "string"
},
"job_id": {
"type": "string"
},
"network": {
"type": "string"
},
"service": {
"type": "string"
},
"tx_hash": {
"type": "string"
},
"currency": {
"type": "string"
},
"request_sha256": {
"type": "string"
},
"response_sha256": {
"type": "string"
}
}
}