Agent Data Tools
by Nutshell2000 · remote · no sign-in to list tools · v1.45.3 · published by GitHub user Nutshell2000
179 agent tools: chain data, prices, sanctions, web, PDF. 25 free calls, then from $0.002.
179 tools: 1 can delete or cancel things, 12 do something that can't be undone, 130 change things and 36 only read.
Scanned Oct 21, 2026
- Deletes or cancels1Claude Code: deny: see these tools
- Can't be undone12Claude Code: ask: see these tools
- Changes things130Claude Code: ask: see these tools
- Only reads36Claude Code: allow: see these tools
63 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http agent-data-tools https://agent-data-tools.revmesh2074.workers.dev/mcpFindings
Matches of fixed checks, with the text they matched.
- Warntoken
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...p. Example: address=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913. Price $0.01/call v..."
- Warnwallet_audit
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...y. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.02/call v..."
- Warncontract_risk
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...t. Example: address=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913. Price $0.02/call v..."
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...t. Example: address=0x98c7A2338336d2d354663246F64676009c7bDa97. Price $0.03/call v..."
- Warnfx
The server marks "fx" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The input addresses people (input.to): what it sends cannot be taken back.
- Warntime
The server marks "time" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The input addresses people (input.to): what it sends cannot be taken back.
Show 57 more findingsShow fewer
- Warnbase_balance
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."
- Warnbase_token_info
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...ged. Example: token=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913. Price $0.003/call..."
- Warnbase_nonce
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."
- Warnbase_is_contract
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...d. Example: address=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913. Price $0.003/call..."
- Warnbase_logs
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...t. Example: address=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913. Price $0.003/call..."
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."
The server marks "base_token_transfers" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "base_token_transfers" says "transfer": a word for a change that another call does not undo.
- Warneth_balance
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."
- Warneth_token_info
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...ged. Example: token=0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48. Price $0.003/call..."
- Warneth_nonce
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."
- Warneth_is_contract
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...d. Example: address=0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48. Price $0.003/call..."
- Warneth_logs
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...t. Example: address=0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48. Price $0.003/call..."
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."
The server marks "eth_token_transfers" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "eth_token_transfers" says "transfer": a word for a change that another call does not undo.
- Warnarb_balance
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."
- Warnarb_token_info
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...ged. Example: token=0xaf88d065e77c8cC2239327C5EDb3A432268e5831. Price $0.003/call..."
- Warnarb_nonce
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."
- Warnarb_is_contract
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...d. Example: address=0xaf88d065e77c8cC2239327C5EDb3A432268e5831. Price $0.003/call..."
- Warnarb_logs
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...t. Example: address=0xaf88d065e77c8cC2239327C5EDb3A432268e5831. Price $0.003/call..."
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."
The server marks "arb_token_transfers" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "arb_token_transfers" says "transfer": a word for a change that another call does not undo.
- Warnop_balance
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."
- Warnop_token_info
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...ged. Example: token=0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85. Price $0.003/call..."
- Warnop_nonce
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."
- Warnop_is_contract
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...d. Example: address=0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85. Price $0.003/call..."
- Warnop_logs
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...t. Example: address=0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85. Price $0.003/call..."
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."
The server marks "op_token_transfers" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "op_token_transfers" says "transfer": a word for a change that another call does not undo.
- Warnpolygon_balance
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...ged. Example: token=0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359. Price $0.003/call..."
- Warnpolygon_nonce
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...d. Example: address=0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359. Price $0.003/call..."
- Warnpolygon_logs
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...t. Example: address=0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359. Price $0.003/call..."
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."
The server marks "polygon_token_transfers" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "polygon_token_transfers" says "transfer": a word for a change that another call does not undo.
- Warnwallet_balances
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...l. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.005/call..."
- Warnwallet_portfolio
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...g. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.005/call..."
- Warnsanctions_check
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...y. Example: address=0x098B716B8Aaf21512996dC57EB0615e2383E2f96. Price $0.005/call..."
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...s. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.03/call v..."
- Warnjson_minify
The server marks "json_minify" read-only (readOnlyHint: true), and its own name, description or input give the class "destructive".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The description's first verb is "remove": a word for removing or ending something.
- Warnjson_minify
The server marks "json_minify" not destructive (destructiveHint: false), and its own name, description or input give the class "destructive".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The description's first verb is "remove": a word for removing or ending something.
- Warnjson_to_csv
The server marks "json_to_csv" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The description's first verb is "convert": a word for a change.
- Warncsv_to_json
The server marks "csv_to_json" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The description's first verb is "convert": a word for a change.
- Warnuuid
The server marks "uuid" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The description's first verb is "generate": a word for a change.
- Warncase
The server marks "case" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The description's first verb is "convert": a word for a change.
- Warndate_add
The server marks "date_add" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "date_add" says "add": a word for a change.
- Warnunix
The server marks "unix" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The description's first verb is "convert": a word for a change.
- Warnunits_convert
The server marks "units_convert" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "units_convert" says "convert": a word for a change.
- Warnnumber_words
The server marks "number_words" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The description's first verb is "write": a word for a change.
- Warnnumber_roman
The server marks "number_roman" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The description's first verb is "convert": a word for a change.
- Warncolor
The server marks "color" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The description's first verb is "convert": a word for a change.
- Warnjwt_decode
The description contains a 40-character base64 string. It decodes to text: "{"sub":"123","exp":1792281600}".
What this check looks forMatched text
description: "...iIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjMiLCJleHAiOjE3OTIyODE2MDB9.sig. Price $0.003/c..."
- Warnmarkdown_to_html
The server marks "markdown_to_html" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The description's first verb is "convert": a word for a change.
- Warnrandom_password
The server marks "random_password" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The description's first verb is "generate": a word for a change.
- Warnai_chat
The server marks "ai_chat" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The description's first verb is "send": a word for sending, and what is sent cannot be taken back.
- Warnai_chat_large
The server marks "ai_chat_large" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The description's first verb is "send": a word for sending, and what is sent cannot be taken back.
- Warnai_translate
The server marks "ai_translate" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The input addresses people (input.to): what it sends cannot be taken back.
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
179 tools
Deletes or cancels 1Claude Code: deny
json_minifyRemove all unnecessary whitespace from JSON and report the size before and after.2 findings
Why it is in this group
- The description's first verb is "remove": a word for removing or ending something.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
- The server marks it not destructive (destructiveHint: false), but an annotation never lowers a class.
Findings
- Warn
The server marks "json_minify" read-only (readOnlyHint: true), and its own name, description or input give the class "destructive".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The description's first verb is "remove": a word for removing or ending something.
- Warn
The server marks "json_minify" not destructive (destructiveHint: false), and its own name, description or input give the class "destructive".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The description's first verb is "remove": a word for removing or ending something.
Description, as the server wrote it Remove all unnecessary whitespace from JSON and report the size before and after. Use to shrink payloads or prompts. Example: text={ "a" : 1 }. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Minify JSON
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
Can't be undone 12Claude Code: ask
ai_chatSend a prompt, get an answer from Llama 3.1 8B Instruct, with an optional system prompt, up to 1,024 output tokens and adjustable temperature.1 finding
Why it is in this group
- The description's first verb is "send": a word for sending, and what is sent cannot be taken back.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "ai_chat" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The description's first verb is "send": a word for sending, and what is sent cannot be taken back.
Description, as the server wrote it Send a prompt, get an answer from Llama 3.1 8B Instruct, with an optional system prompt, up to 1,024 output tokens and adjustable temperature. Use for drafting, reasoning steps, Q&A and any quick LLM call without an AI provider account. For harder reasoning use ai_chat_large. Example: prompt=Explain x402 in one sentence.. Price $0.003/call via x402 USDC or a card key (/credits); failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Chat completion (Llama 3.1 8B)
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
ai_chat_largeSend a prompt, get an answer from a larger open model: Llama 3.3 70B Instruct (default) or OpenAI gpt-oss-120b, with an optional system prompt, up to 1,024 output tokens and adjust…1 finding
Why it is in this group
- The description's first verb is "send": a word for sending, and what is sent cannot be taken back.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "ai_chat_large" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The description's first verb is "send": a word for sending, and what is sent cannot be taken back.
Description, as the server wrote it Send a prompt, get an answer from a larger open model: Llama 3.3 70B Instruct (default) or OpenAI gpt-oss-120b, with an optional system prompt, up to 1,024 output tokens and adjustable temperature. Same call as /ai/chat with a stronger model. Use when the 8B model is not enough: reasoning, drafting and Q&A. Example: prompt=Explain x402 in one sentence.. Price $0.01/call via x402 USDC or a card key (/credits); failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Chat completion (Llama 3.3 70B or gpt-oss-120b)
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
ai_translateTranslate text between about 100 languages with Meta's M2M100 1.2B model.1 finding
Why it is in this group
- The input addresses people (input.to): what it sends cannot be taken back.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "ai_translate" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The input addresses people (input.to): what it sends cannot be taken back.
Description, as the server wrote it Translate text between about 100 languages with Meta's M2M100 1.2B model. Give the target language as an ISO code such as en, sv, de, fr, es, zh or ja; the source language is optional. Use to localise messages and documents. Example: text=Payment received, thank you!, to=sv. Price $0.003/call via x402 USDC or a card key (/credits); failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Translate text (100 languages)
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
arb_token_transfersList a wallet's recent transfers of one ERC-20 token (default USDC) on Arbitrum One, in and out, over the last N blocks (1-2,000, default 1,000): direction, counterparty, amount an…2 findings
Why it is in this group
- The name "arb_token_transfers" says "transfer": a word for a change that another call does not undo.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."
- Warn
The server marks "arb_token_transfers" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "arb_token_transfers" says "transfer": a word for a change that another call does not undo.
Description, as the server wrote it List a wallet's recent transfers of one ERC-20 token (default USDC) on Arbitrum One, in and out, over the last N blocks (1-2,000, default 1,000): direction, counterparty, amount and transaction, newest first, up to 50. Use to confirm a payment arrived or see what was sent; for the current balance use arb_token_balance. Malformed addresses are rejected with 400, uncharged. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Arbitrum One wallet token transfers
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
base_token_transfersList a wallet's recent transfers of one ERC-20 token (default USDC) on Base, in and out, over the last N blocks (1-2,000, default 1,000): direction, counterparty, amount and transa…2 findings
Why it is in this group
- The name "base_token_transfers" says "transfer": a word for a change that another call does not undo.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."
- Warn
The server marks "base_token_transfers" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "base_token_transfers" says "transfer": a word for a change that another call does not undo.
Description, as the server wrote it List a wallet's recent transfers of one ERC-20 token (default USDC) on Base, in and out, over the last N blocks (1-2,000, default 1,000): direction, counterparty, amount and transaction, newest first, up to 50. Use to confirm a payment arrived or see what was sent; for the current balance use base_token_balance. Malformed addresses are rejected with 400, uncharged. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Base wallet token transfers
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
caseConvert text or identifiers between camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE, Title Case, Sentence case, UPPER and lower.1 finding
Why it is in this group
- The description's first verb is "convert": a word for a change.
- The input addresses people (input.to): what it sends cannot be taken back.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "case" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The description's first verb is "convert": a word for a change.
Description, as the server wrote it Convert text or identifiers between camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE, Title Case, Sentence case, UPPER and lower. Handles mixed input like 'userID_value'. Use when renaming fields or generating code identifiers. Example: text=user profile id, to=camel. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Convert text case
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
eth_token_transfersList a wallet's recent transfers of one ERC-20 token (default USDC) on Ethereum, in and out, over the last N blocks (1-2,000, default 1,000): direction, counterparty, amount and tr…2 findings
Why it is in this group
- The name "eth_token_transfers" says "transfer": a word for a change that another call does not undo.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."
- Warn
The server marks "eth_token_transfers" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "eth_token_transfers" says "transfer": a word for a change that another call does not undo.
Description, as the server wrote it List a wallet's recent transfers of one ERC-20 token (default USDC) on Ethereum, in and out, over the last N blocks (1-2,000, default 1,000): direction, counterparty, amount and transaction, newest first, up to 50. Use to confirm a payment arrived or see what was sent; for the current balance use eth_token_balance. Malformed addresses are rejected with 400, uncharged. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Ethereum wallet token transfers
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
fxForeign exchange rates from the European Central Bank for about 30 major currencies (USD, EUR, GBP, JPY, CHF, SEK, CAD, AUD, CNY, INR, BRL and more).1 finding
Why it is in this group
- The input addresses people (input.to): what it sends cannot be taken back.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "fx" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The input addresses people (input.to): what it sends cannot be taken back.
Description, as the server wrote it Foreign exchange rates from the European Central Bank for about 30 major currencies (USD, EUR, GBP, JPY, CHF, SEK, CAD, AUD, CNY, INR, BRL and more). Give a base currency, optionally the target currencies and an amount, and get the rates, the converted amounts and the date the rates apply to. Use for currency conversion, invoice and price calculations, and reporting in another currency. Example: from=USD. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Currency exchange rates and conversion
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
op_token_transfersList a wallet's recent transfers of one ERC-20 token (default USDC) on Optimism, in and out, over the last N blocks (1-2,000, default 1,000): direction, counterparty, amount and tr…2 findings
Why it is in this group
- The name "op_token_transfers" says "transfer": a word for a change that another call does not undo.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."
- Warn
The server marks "op_token_transfers" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "op_token_transfers" says "transfer": a word for a change that another call does not undo.
Description, as the server wrote it List a wallet's recent transfers of one ERC-20 token (default USDC) on Optimism, in and out, over the last N blocks (1-2,000, default 1,000): direction, counterparty, amount and transaction, newest first, up to 50. Use to confirm a payment arrived or see what was sent; for the current balance use op_token_balance. Malformed addresses are rejected with 400, uncharged. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Optimism wallet token transfers
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
polygon_token_transfersList a wallet's recent transfers of one ERC-20 token (default USDC) on Polygon PoS, in and out, over the last N blocks (1-2,000, default 1,000): direction, counterparty, amount and…2 findings
Why it is in this group
- The name "polygon_token_transfers" says "transfer": a word for a change that another call does not undo.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."
- Warn
The server marks "polygon_token_transfers" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "polygon_token_transfers" says "transfer": a word for a change that another call does not undo.
Description, as the server wrote it List a wallet's recent transfers of one ERC-20 token (default USDC) on Polygon PoS, in and out, over the last N blocks (1-2,000, default 1,000): direction, counterparty, amount and transaction, newest first, up to 50. Use to confirm a payment arrived or see what was sent; for the current balance use polygon_token_balance. Malformed addresses are rejected with 400, uncharged. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Polygon PoS wallet token transfers
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
timeThe exact current date and time in any IANA time zone (UTC when none is given), with UTC offset, weekday, abbreviation and Unix timestamp, daylight saving time handled.1 finding
Why it is in this group
- The input addresses people (input.to): what it sends cannot be taken back.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "time" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The input addresses people (input.to): what it sends cannot be taken back.
Description, as the server wrote it The exact current date and time in any IANA time zone (UTC when none is given), with UTC offset, weekday, abbreviation and Unix timestamp, daylight saving time handled. Optionally convert a given moment into up to 10 other time zones in the same call. Use when an agent needs to know what time it is, to schedule across time zones or to turn a timestamp into local time. A bare GET is the smallest paid end-to-end test of an x402 or MPP client. Example: zone=Europe/Stockholm. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Current time in a time zone and time zone conversion
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
units_convertConvert between units of length, mass, volume (incl.1 finding
Why it is in this group
- The name "units_convert" says "convert": a word for a change.
- The input addresses people (input.to): what it sends cannot be taken back.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "units_convert" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "units_convert" says "convert": a word for a change.
Description, as the server wrote it Convert between units of length, mass, volume (incl. US cups and gallons), temperature (c, f, k), speed, area, data size (kB vs KiB), time, energy and pressure. Example units: km, mi, lb, kg, floz, ml, mph, kn, acre, gib, kwh, psi. Use when exact conversions matter. Example: value=10, from=km, to=mi. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Convert units
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
Changes things 130Claude Code: ask
ai_classifyZero-shot classification: give text and 2-20 candidate labels, get the best label, a short reason and a ranking.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Zero-shot classification: give text and 2-20 candidate labels, get the best label, a short reason and a ranking. Use for routing tickets, tagging content, intent detection and moderation queues. Price $0.003/call via x402 USDC or a card key (/credits); failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Classify text into your labels
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
ai_embedA 1,024-dimension embedding vector for up to 4,000 characters of text in 100+ languages, from BAAI's BGE-M3.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it A 1,024-dimension embedding vector for up to 4,000 characters of text in 100+ languages, from BAAI's BGE-M3. Use for semantic search, RAG retrieval, clustering and deduplication. Example: text=pay-per-call APIs for AI agents. Price $0.003/call via x402 USDC or a card key (/credits); failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Text embeddings (BGE-M3, 1,024 dimensions)
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
ai_extract_jsonPull named fields out of unstructured text (emails, invoices, listings, bios) and get them back as a JSON object, with null for anything not present.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Pull named fields out of unstructured text (emails, invoices, listings, bios) and get them back as a JSON object, with null for anything not present. Use to turn messy text into structured data for an agent. Price $0.003/call via x402 USDC or a card key (/credits); failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Extract fields from text as JSON
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
ai_keywordsThe most important keywords and key phrases of a text, most relevant first.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it The most important keywords and key phrases of a text, most relevant first. Use for tagging, SEO, search indexing and topic detection. Price $0.003/call via x402 USDC or a card key (/credits); failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Extract keywords
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
ai_outlineA structured Markdown outline (headings and bullet points) of a text you send, or a suggested outline for a topic.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it A structured Markdown outline (headings and bullet points) of a text you send, or a suggested outline for a topic. Use to plan articles, reports, talks and documentation. Example: text=How small businesses can accept stablecoin payments. Price $0.003/call via x402 USDC or a card key (/credits); failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Outline a text or topic
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
ai_rewriteRewrite text to be more formal, casual, simpler, shorter, friendlier, more professional or more persuasive, keeping the meaning and language.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Rewrite text to be more formal, casual, simpler, shorter, friendlier, more professional or more persuasive, keeping the meaning and language. Use to polish emails, replies, product copy and messages. Example: text=hey, cant make it tmrw, can we move to thu?. Price $0.003/call via x402 USDC or a card key (/credits); failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Rewrite text in a style
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
ai_sentimentPositive or negative sentiment of English text with a confidence score, from a DistilBERT model fine-tuned on SST-2.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Positive or negative sentiment of English text with a confidence score, from a DistilBERT model fine-tuned on SST-2. Use to triage reviews, support messages, social posts and replies. Example: text=The checkout was fast and support answered within minutes.. Price $0.003/call via x402 USDC or a card key (/credits); failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Sentiment analysis of text
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
ai_speechTurn up to 1,000 characters of text into natural speech as an audio file (base64, with its content type), in English, Spanish, French, Chinese, Japanese or Korean, with MeloTTS.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Turn up to 1,000 characters of text into natural speech as an audio file (base64, with its content type), in English, Spanish, French, Chinese, Japanese or Korean, with MeloTTS. Use for voice replies, audio notes, accessibility and phone or chat bots. Example: text=Your payment was received. Thank you!. Price $0.003/call via x402 USDC or a card key (/credits); failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Text to speech (TTS): turn text into an audio file
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
arb_balanceNative ETH balance (eth_getBalance) of any 0x wallet address on Arbitrum One at the latest block, in wei and in ETH.1 finding
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."
Description, as the server wrote it Native ETH balance (eth_getBalance) of any 0x wallet address on Arbitrum One at the latest block, in wei and in ETH. Use to check whether a wallet can pay gas or a transfer; for ERC-20 tokens use arb_token_balance, for all holdings at once use wallet_portfolio. A malformed address is rejected with 400, uncharged. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Arbitrum One native balance
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
arb_blockLatest block number and block details on Arbitrum One, or any block by decimal number: hash, timestamp, transaction count, gas used and limit, base fee in gwei and producer.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Latest block number and block details on Arbitrum One, or any block by decimal number: hash, timestamp, transaction count, gas used and limit, base fee in gwei and producer. Use for timestamps and confirmation counts; for current fees use arb_gas. A block that does not exist yet returns 404, uncharged. Example: number=latest. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Arbitrum One block
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
arb_gasCurrent gas price on Arbitrum One (eth_gasPrice): gas price, base fee and suggested priority fee in gwei, plus what a plain ETH transfer (21,000 gas) costs right now.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Current gas price on Arbitrum One (eth_gasPrice): gas price, base fee and suggested priority fee in gwei, plus what a plain ETH transfer (21,000 gas) costs right now. Takes no input. Use before sending a transaction or to decide whether to wait; for the fee a past transaction actually paid use arb_receipt. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Arbitrum One gas price
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
arb_is_contractCheck whether a 0x address on Arbitrum One is a smart contract or a plain wallet: bytecode size, and whether it is an EIP-1167 minimal proxy and which implementation it points to.1 finding
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...d. Example: address=0xaf88d065e77c8cC2239327C5EDb3A432268e5831. Price $0.003/call..."
Description, as the server wrote it Check whether a 0x address on Arbitrum One is a smart contract or a plain wallet: bytecode size, and whether it is an EIP-1167 minimal proxy and which implementation it points to. Use before sending funds or approving a spender; for a fuller risk verdict use check_counterparty. A malformed address is rejected with 400, uncharged. Example: address=0xaf88d065e77c8cC2239327C5EDb3A432268e5831. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Arbitrum One contract check
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
arb_receiptTransaction receipt on Arbitrum One (eth_getTransactionReceipt): success or reverted, gas used, effective gas price, fee paid in ETH, number of event logs and any contract created.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Transaction receipt on Arbitrum One (eth_getTransactionReceipt): success or reverted, gas used, effective gas price, fee paid in ETH, number of event logs and any contract created. Use to confirm a payment or call went through; for sender, value and calldata use arb_tx. Input is a 0x-prefixed 64-hex hash; a pending or unknown hash returns 404, uncharged. Example: hash=0xf03682db039f7b1b72ddf4d17572738f142cf63ecb36c90afa570430ea9774c4. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Arbitrum One transaction receipt
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
arb_token_balanceERC-20 token balance of a wallet on Arbitrum One (USDC, USDT, WETH or any token, via balanceOf): raw amount, decimals, symbol and the human-readable amount, live from the token con…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it ERC-20 token balance of a wallet on Arbitrum One (USDC, USDT, WETH or any token, via balanceOf): raw amount, decimals, symbol and the human-readable amount, live from the token contract. Use to check stablecoin or token holdings before a transfer or trade; for the native coin use arb_balance. Both inputs are 0x addresses (40 hex characters); no contract returns 404 and a non-ERC-20 contract 422, both uncharged. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Arbitrum One ERC-20 balance
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
arb_token_infoLook up the name, symbol, decimals and total supply of an ERC-20 token contract on Arbitrum One, live from the contract.1 finding
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...ged. Example: token=0xaf88d065e77c8cC2239327C5EDb3A432268e5831. Price $0.003/call..."
Description, as the server wrote it Look up the name, symbol, decimals and total supply of an ERC-20 token contract on Arbitrum One, live from the contract. Use to identify an unknown token address or to format raw amounts; for a holder's balance use arb_token_balance. Input is a ticker (USDC, WETH…) or the token's 0x contract address; an address that is not an ERC-20 contract returns 422, uncharged. Example: token=0xaf88d065e77c8cC2239327C5EDb3A432268e5831. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Arbitrum One ERC-20 token info
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
arb_txLook up a Arbitrum One transaction by hash: sender, recipient, value in ETH, nonce, gas limit, the 4-byte function selector and its block.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Look up a Arbitrum One transaction by hash: sender, recipient, value in ETH, nonce, gas limit, the 4-byte function selector and its block. Use to see what was sent or whether it exists; for success or failure and fees paid use arb_receipt, for emitted events arb_logs. Input is a 0x-prefixed 64-hex hash; an unknown hash returns 404, uncharged. Example: hash=0xf03682db039f7b1b72ddf4d17572738f142cf63ecb36c90afa570430ea9774c4. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Arbitrum One transaction
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
base_allowanceCheck how much of a wallet's ERC-20 token a spender contract is approved to move on Base: the raw and formatted allowance, the token symbol and decimals, and whether the approval i…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Check how much of a wallet's ERC-20 token a spender contract is approved to move on Base: the raw and formatted allowance, the token symbol and decimals, and whether the approval is unlimited. Use before a swap or deposit to see if an approve transaction is needed, and to audit a wallet for risky unlimited approvals. Price $0.002/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: ERC-20 token approval check on Base
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
base_balanceNative ETH balance (eth_getBalance) of any 0x wallet address on Base at the latest block, in wei and in ETH.1 finding
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."
Description, as the server wrote it Native ETH balance (eth_getBalance) of any 0x wallet address on Base at the latest block, in wei and in ETH. Use to check whether a wallet can pay gas or a transfer; for ERC-20 tokens use base_token_balance, for all holdings at once use wallet_portfolio. A malformed address is rejected with 400, uncharged. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Base native balance
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
base_blockLatest block number and block details on Base, or any block by decimal number: hash, timestamp, transaction count, gas used and limit, base fee in gwei and producer.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Latest block number and block details on Base, or any block by decimal number: hash, timestamp, transaction count, gas used and limit, base fee in gwei and producer. Use for timestamps and confirmation counts; for current fees use base_gas. A block that does not exist yet returns 404, uncharged. Example: number=latest. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Base block
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
base_gasLive gas prices on Base (chain 8453) read from the latest block: base fee and priority fee in gwei, suggested maxFeePerGas and maxPriorityFeePerGas in wei for an EIP-1559 transacti…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Live gas prices on Base (chain 8453) read from the latest block: base fee and priority fee in gwei, suggested maxFeePerGas and maxPriorityFeePerGas in wei for an EIP-1559 transaction, how full the latest block is, and the estimated execution fee in ETH for an ETH transfer and an ERC-20 transfer. Use before sending a transaction on Base or to decide whether to wait for lower fees. Price $0.002/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Base network gas price and fee estimate
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
base_is_contractCheck whether a 0x address on Base is a smart contract or a plain wallet: bytecode size, and whether it is an EIP-1167 minimal proxy and which implementation it points to.1 finding
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...d. Example: address=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913. Price $0.003/call..."
Description, as the server wrote it Check whether a 0x address on Base is a smart contract or a plain wallet: bytecode size, and whether it is an EIP-1167 minimal proxy and which implementation it points to. Use before sending funds or approving a spender; for a fuller risk verdict use check_counterparty. A malformed address is rejected with 400, uncharged. Example: address=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Base contract check
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
base_receiptTransaction receipt on Base (eth_getTransactionReceipt): success or reverted, gas used, effective gas price, fee paid in ETH, number of event logs and any contract created.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Transaction receipt on Base (eth_getTransactionReceipt): success or reverted, gas used, effective gas price, fee paid in ETH, number of event logs and any contract created. Use to confirm a payment or call went through; for sender, value and calldata use base_tx. Input is a 0x-prefixed 64-hex hash; a pending or unknown hash returns 404, uncharged. Example: hash=0x7d108fa131ed949c76d50caf2e7dfe25fc9903b9d276c40a0446d8afbdfe86b0. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Base transaction receipt
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
base_token_balanceERC-20 token balance of a wallet on Base (USDC, USDT, WETH or any token, via balanceOf): raw amount, decimals, symbol and the human-readable amount, live from the token contract.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it ERC-20 token balance of a wallet on Base (USDC, USDT, WETH or any token, via balanceOf): raw amount, decimals, symbol and the human-readable amount, live from the token contract. Use to check stablecoin or token holdings before a transfer or trade; for the native coin use base_balance. Both inputs are 0x addresses (40 hex characters); no contract returns 404 and a non-ERC-20 contract 422, both uncharged. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Base ERC-20 balance
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
base_token_infoLook up the name, symbol, decimals and total supply of an ERC-20 token contract on Base, live from the contract.1 finding
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...ged. Example: token=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913. Price $0.003/call..."
Description, as the server wrote it Look up the name, symbol, decimals and total supply of an ERC-20 token contract on Base, live from the contract. Use to identify an unknown token address or to format raw amounts; for a holder's balance use base_token_balance. Input is a ticker (USDC, WETH…) or the token's 0x contract address; an address that is not an ERC-20 contract returns 422, uncharged. Example: token=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Base ERC-20 token info
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
base_txLook up any transaction on Base by hash: whether it succeeded, reverted or is still pending, sender and receiver, ETH value, called method id, block number and time, number of conf…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Look up any transaction on Base by hash: whether it succeeded, reverted or is still pending, sender and receiver, ETH value, called method id, block number and time, number of confirmations, gas used, gas price and the execution fee paid, and whether it created a contract. Use to confirm that a payment or contract call went through before acting on it. Example: hash=0x7d108fa131ed949c76d50caf2e7dfe25fc9903b9d276c40a0446d8afbdfe86b0. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Base transaction status and details
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
base64_decodeDecode standard or URL-safe base64 to UTF-8 text.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Decode standard or URL-safe base64 to UTF-8 text. Missing padding is tolerated. Use to read encoded headers, tokens and data URLs. Example: text=aGVsbG8gd29ybGQ=. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Base64 decode
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
base64_encodeEncode UTF-8 text as standard base64, and also return the URL-safe variant.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Encode UTF-8 text as standard base64, and also return the URL-safe variant. Use for data URLs, headers and basic auth strings. Example: text=hello world. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Base64 encode
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
btc_addressBalance and activity of any Bitcoin mainnet address (legacy, P2SH or bech32): confirmed balance in sats and BTC, unconfirmed pending amount, total received and sent, and transactio…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Balance and activity of any Bitcoin mainnet address (legacy, P2SH or bech32): confirmed balance in sats and BTC, unconfirmed pending amount, total received and sent, and transaction counts. Use for payment verification, checking whether a deposit arrived, and wallet monitoring. Example: address=bc1qxy2kgdygjrsqtzq2n0yrf2493p83kkfjhx0wlh. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Bitcoin address balance and activity
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
btc_feesCurrent Bitcoin network fee rates in sat/vB for next-block, half-hour, one-hour and economy confirmation, the estimated cost in sats of a typical payment, mempool size and total pe…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Current Bitcoin network fee rates in sat/vB for next-block, half-hour, one-hour and economy confirmation, the estimated cost in sats of a typical payment, mempool size and total pending fees, and the latest block height. Use before sending a Bitcoin transaction or to decide whether to wait for lower fees. Price $0.002/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Bitcoin fee rates and mempool status
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
btc_priceCurrent Bitcoin (BTC) spot price in USD, EUR, GBP, CAD, CHF, AUD and JPY, averaged across major exchanges, with the number of satoshis per US dollar and the time of the price.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Current Bitcoin (BTC) spot price in USD, EUR, GBP, CAD, CHF, AUD and JPY, averaged across major exchanges, with the number of satoshis per US dollar and the time of the price. Use to convert between sats and fiat, to value a Bitcoin or Lightning payment, or to check the BTC price before a trade. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Bitcoin (BTC) price in USD, EUR and other major currencies
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
check_counterpartyScreen a payee before paying, trading or onboarding: one call vets an address on Base, Ethereum, Arbitrum or Optimism with an OFAC SDN match, account type and activity, USD holding…1 finding
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...s. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.03/call v..."
Description, as the server wrote it Screen a payee before paying, trading or onboarding: one call vets an address on Base, Ethereum, Arbitrum or Optimism with an OFAC SDN match, account type and activity, USD holdings and, on Base, wallet or contract risk checks; add the payee's domain for its age and trust flags. One block, review or pass verdict with reasons. Screening aid, not legal advice or a security audit. Use before paying, trading with or onboarding an address. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.03/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Screen a payee before paying: EVM address risk check (OFAC and on-chain signals)
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
coinFlip one or more fair coins using a cryptographic random source.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Flip one or more fair coins using a cryptographic random source. Returns each result and the totals. Use for fair decisions and games. Example: count=1. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Flip a coin
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
colorConvert a colour between hex, RGB and HSL, and give its relative luminance and whether black or white text reads better on it.1 finding
Why it is in this group
- The description's first verb is "convert": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "color" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The description's first verb is "convert": a word for a change.
Description, as the server wrote it Convert a colour between hex, RGB and HSL, and give its relative luminance and whether black or white text reads better on it. Accepts #rgb, #rrggbb, rgb(r,g,b) and hsl(h,s%,l%). Use for theming and design checks. Example: color=#0f6cbd. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Convert a colour
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
color_contrastWCAG 2 contrast ratio between a text colour and a background colour, with pass/fail for AA and AAA at normal and large text sizes.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it WCAG 2 contrast ratio between a text colour and a background colour, with pass/fail for AA and AAA at normal and large text sizes. Use to check that a design is readable. Example: fg=#767676, bg=#ffffff. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Colour contrast check (WCAG)
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
companyFacts about a company by name or Wikidata ID: official website, founding date, country, headquarters, industries, CEO, founders, parent, employee count, stock tickers and exchanges…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Facts about a company by name or Wikidata ID: official website, founding date, country, headquarters, industries, CEO, founders, parent, employee count, stock tickers and exchanges, and LEI, with Wikidata and Wikipedia links. Public domain data (CC0), best for established and listed companies. No match returns 404, uncharged. Use to enrich leads, vendors and counterparties or ground an answer about a company. Example: name=Spotify. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Company data lookup: profile, identifiers and website from Wikidata
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
contract_riskCheck a Base contract before you approve or call it: a low to critical risk tier with named flags (proxy, proxy with no implementation, tiny bytecode, zero token supply), plus byte…1 finding
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...t. Example: address=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913. Price $0.02/call v..."
Description, as the server wrote it Check a Base contract before you approve or call it: a low to critical risk tier with named flags (proxy, proxy with no implementation, tiny bytecode, zero token supply), plus bytecode size, the EIP-1967 implementation slot and ERC-20 owner, renounced and paused reads. Unreadable reads are null; EOAs return not-applicable. Limited heuristics, not a full security audit. Use before approving a spender or calling an unfamiliar Base contract. Example: address=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913. Price $0.02/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Smart contract risk check: proxy, bytecode and supply red flags for a Base contract before approving it
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
countryFacts about a country by ISO code (SE, SWE, US…): official World Bank name, ISO-2 and ISO-3 codes, region, income level, capital city and its coordinates, and the latest population…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Facts about a country by ISO code (SE, SWE, US…): official World Bank name, ISO-2 and ISO-3 codes, region, income level, capital city and its coordinates, and the latest population figure with its year (World Bank open data). Use to enrich records with country data. Example: country=SE. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Country facts
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
cron_nextNext run times (in UTC) of a standard 5-field cron expression (minute hour day month weekday; ranges, lists, steps and names like MON or JAN supported).No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Next run times (in UTC) of a standard 5-field cron expression (minute hour day month weekday; ranges, lists, steps and names like MON or JAN supported). Use to check a schedule before deploying it. Example: expr=*/15 9-17 * * MON-FRI. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Next cron run times
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
csv_to_jsonConvert CSV (comma, semicolon, tab or pipe; delimiter detected automatically; quoted fields supported) to a JSON array of objects using the first row as keys.1 finding
Why it is in this group
- The description's first verb is "convert": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "csv_to_json" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The description's first verb is "convert": a word for a change.
Description, as the server wrote it Convert CSV (comma, semicolon, tab or pipe; delimiter detected automatically; quoted fields supported) to a JSON array of objects using the first row as keys. Numbers stay as text unless numbers=true. Use to load spreadsheet exports into an agent. Example: text=name,age Ada,36. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: CSV to JSON
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
date_addAdd (or subtract, with negative numbers) years, months, weeks, days, hours and minutes to a date, or add business days (skipping Saturdays and Sundays).1 finding
Why it is in this group
- The name "date_add" says "add": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "date_add" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "date_add" says "add": a word for a change.
Description, as the server wrote it Add (or subtract, with negative numbers) years, months, weeks, days, hours and minutes to a date, or add business days (skipping Saturdays and Sundays). Month ends are clamped (31 Jan + 1 month = 28/29 Feb). Use to compute due dates and expiries. Example: date=2026-01-31. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Add time to a date
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
date_infoWeekday, ISO week number and week-year, day of the year, quarter, days in the month, leap year, Unix timestamp and whether it is a weekend, for any date.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Weekday, ISO week number and week-year, day of the year, quarter, days in the month, leap year, Unix timestamp and whether it is a weekend, for any date. Use for calendar and reporting logic. Example: date=2026-10-18. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Facts about a date
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
diceRoll dice in standard notation such as 2d6+3 or 1d20, up to 100 dice of up to 1000 sides, with a cryptographic random source.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Roll dice in standard notation such as 2d6+3 or 1d20, up to 100 dice of up to 1000 sides, with a cryptographic random source. Returns every roll, the modifier and the total. Use for tabletop games and simulations. Example: roll=2d6+3. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Roll dice
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
dictionaryDefinitions of an English word from Wiktionary, grouped by part of speech, with example sentences where Wiktionary gives them, plus the page link and the CC BY-SA attribution to sh…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Definitions of an English word from Wiktionary, grouped by part of speech, with example sentences where Wiktionary gives them, plus the page link and the CC BY-SA attribution to show. Use for writing help, vocabulary, translation checks and word games. Example: word=serendipity. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: English dictionary lookup
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
dockerfile_lintCheck a Dockerfile (up to 8,000 characters) for common security and image-size problems: unpinned or :latest base images, running as root, piping downloads into a shell, sensitive …No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Check a Dockerfile (up to 8,000 characters) for common security and image-size problems: unpinned or :latest base images, running as root, piping downloads into a shell, sensitive values baked into ENV or ARG, ADD from URLs, apt and pip cache left in layers, sudo, chmod 777 and an exposed SSH port. Returns each finding with its line, a severity and a fix, plus a score. Use before building or shipping an image. Example: dockerfile=FROM node:latest COPY . /app CMD node /app/server.js. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Lint a Dockerfile for security and size issues
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
domainDomain intelligence in one call: DNS records (A, AAAA, CNAME, MX, NS, TXT, CAA), DNSSEC status, registrar, registration and expiry dates with domain age in days (RDAP/WHOIS), and e…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Domain intelligence in one call: DNS records (A, AAAA, CNAME, MX, NS, TXT, CAA), DNSSEC status, registrar, registration and expiry dates with domain age in days (RDAP/WHOIS), and email authentication (SPF and DMARC records and policies, whether the domain accepts mail). Use for lead qualification, phishing and trust checks, and deliverability audits. For a trust verdict with named flags use domain_report. Example: name=cloudflare.com. Price $0.005/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Domain lookup: DNS, RDAP registration age and email authentication
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
domain_reportA trust verdict for any domain in one call: high/medium/low trust with named flags for very new registrations, expiry, missing or weak SPF and DMARC, too few nameservers, no web ho…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it A trust verdict for any domain in one call: high/medium/low trust with named flags for very new registrations, expiry, missing or weak SPF and DMARC, too few nameservers, no web host and non-resolving domains, plus the key facts (registrar, age, nameservers, DNSSEC). Use for lead qualification, phishing and vendor checks, and before an agent sends mail to or trusts a domain. Signals only, not a guarantee. Raw DNS records: domain. Example: name=cloudflare.com. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Domain trust verdict: age, DNS and email-auth flags
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
earthquakesRecent earthquakes worldwide from the US Geological Survey: magnitude, place, time, depth, coordinates, tsunami flag and USGS link, for the past day or week, filtered by minimum ma…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Recent earthquakes worldwide from the US Geological Survey: magnitude, place, time, depth, coordinates, tsunami flag and USGS link, for the past day or week, filtered by minimum magnitude (2.5, 4.5 or significant). Use for alerts, news and travel checks. Example: period=day. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Recent earthquakes
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
emailCheck email syntax, DNS and MX records, disposable providers, role addresses, free providers and SPF/DMARC presence.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Check email syntax, DNS and MX records, disposable providers, role addresses, free providers and SPF/DMARC presence. Returns likely-deliverable, risky, undeliverable or invalid with reasons. No message is sent and the mail server is not contacted. These are DNS and syntax signals, not proof that a mailbox exists or accepts delivery. Use before sending mail or saving a signup. Example: address=support@cloudflare.com. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Email verification: syntax, MX and disposable-address checks without sending mail
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
eth_balanceNative ETH balance (eth_getBalance) of any 0x wallet address on Ethereum at the latest block, in wei and in ETH.1 finding
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."
Description, as the server wrote it Native ETH balance (eth_getBalance) of any 0x wallet address on Ethereum at the latest block, in wei and in ETH. Use to check whether a wallet can pay gas or a transfer; for ERC-20 tokens use eth_token_balance, for all holdings at once use wallet_portfolio. A malformed address is rejected with 400, uncharged. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Ethereum native balance
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
eth_blockLatest block number and block details on Ethereum, or any block by decimal number: hash, timestamp, transaction count, gas used and limit, base fee in gwei and producer.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Latest block number and block details on Ethereum, or any block by decimal number: hash, timestamp, transaction count, gas used and limit, base fee in gwei and producer. Use for timestamps and confirmation counts; for current fees use eth_gas. A block that does not exist yet returns 404, uncharged. Example: number=latest. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Ethereum block
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
eth_gasCurrent gas price on Ethereum (eth_gasPrice): gas price, base fee and suggested priority fee in gwei, plus what a plain ETH transfer (21,000 gas) costs right now.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Current gas price on Ethereum (eth_gasPrice): gas price, base fee and suggested priority fee in gwei, plus what a plain ETH transfer (21,000 gas) costs right now. Takes no input. Use before sending a transaction or to decide whether to wait; for the fee a past transaction actually paid use eth_receipt. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Ethereum gas price
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
eth_is_contractCheck whether a 0x address on Ethereum is a smart contract or a plain wallet: bytecode size, and whether it is an EIP-1167 minimal proxy and which implementation it points to.1 finding
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...d. Example: address=0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48. Price $0.003/call..."
Description, as the server wrote it Check whether a 0x address on Ethereum is a smart contract or a plain wallet: bytecode size, and whether it is an EIP-1167 minimal proxy and which implementation it points to. Use before sending funds or approving a spender; for a fuller risk verdict use check_counterparty. A malformed address is rejected with 400, uncharged. Example: address=0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Ethereum contract check
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
eth_receiptTransaction receipt on Ethereum (eth_getTransactionReceipt): success or reverted, gas used, effective gas price, fee paid in ETH, number of event logs and any contract created.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Transaction receipt on Ethereum (eth_getTransactionReceipt): success or reverted, gas used, effective gas price, fee paid in ETH, number of event logs and any contract created. Use to confirm a payment or call went through; for sender, value and calldata use eth_tx. Input is a 0x-prefixed 64-hex hash; a pending or unknown hash returns 404, uncharged. Example: hash=0x9531467e03a57bbb5cd080439ac3b10c0cefed147282eb2ff709b02c897afcbf. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Ethereum transaction receipt
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
eth_token_balanceERC-20 token balance of a wallet on Ethereum (USDC, USDT, WETH or any token, via balanceOf): raw amount, decimals, symbol and the human-readable amount, live from the token contrac…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it ERC-20 token balance of a wallet on Ethereum (USDC, USDT, WETH or any token, via balanceOf): raw amount, decimals, symbol and the human-readable amount, live from the token contract. Use to check stablecoin or token holdings before a transfer or trade; for the native coin use eth_balance. Both inputs are 0x addresses (40 hex characters); no contract returns 404 and a non-ERC-20 contract 422, both uncharged. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Ethereum ERC-20 balance
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
eth_token_infoLook up the name, symbol, decimals and total supply of an ERC-20 token contract on Ethereum, live from the contract.1 finding
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...ged. Example: token=0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48. Price $0.003/call..."
Description, as the server wrote it Look up the name, symbol, decimals and total supply of an ERC-20 token contract on Ethereum, live from the contract. Use to identify an unknown token address or to format raw amounts; for a holder's balance use eth_token_balance. Input is a ticker (USDC, WETH…) or the token's 0x contract address; an address that is not an ERC-20 contract returns 422, uncharged. Example: token=0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Ethereum ERC-20 token info
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
eth_txLook up a Ethereum transaction by hash: sender, recipient, value in ETH, nonce, gas limit, the 4-byte function selector and its block.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Look up a Ethereum transaction by hash: sender, recipient, value in ETH, nonce, gas limit, the 4-byte function selector and its block. Use to see what was sent or whether it exists; for success or failure and fees paid use eth_receipt, for emitted events eth_logs. Input is a 0x-prefixed 64-hex hash; an unknown hash returns 404, uncharged. Example: hash=0x9531467e03a57bbb5cd080439ac3b10c0cefed147282eb2ff709b02c897afcbf. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Ethereum transaction
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
extract_renderedSame output as /extract, but the page is first rendered in a real browser, so single-page apps and pages that build their content with JavaScript come back with their text instead …No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Same output as /extract, but the page is first rendered in a real browser, so single-page apps and pages that build their content with JavaScript come back with their text instead of an empty shell. Waits for the network to settle (up to 15 seconds). Public pages only; no login. Use when /extract returns EXTRACTION_EMPTY or too little text for a page you can read in a browser. Example: url=https://example.com/. Price $0.01/call via x402 USDC or a card key (/credits); failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Scrape a JavaScript-rendered page as text or Markdown
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
hashHash UTF-8 text with SHA-256 (default), SHA-1, SHA-384 or SHA-512 and return the digest in hex and base64.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Hash UTF-8 text with SHA-256 (default), SHA-1, SHA-384 or SHA-512 and return the digest in hex and base64. Use for checksums, cache keys and deduplication. Example: text=hello. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Hash text
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
hmacCompute an HMAC of a message with a key using SHA-256 (default), SHA-1, SHA-384 or SHA-512, in hex and base64.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Compute an HMAC of a message with a key using SHA-256 (default), SHA-1, SHA-384 or SHA-512, in hex and base64. Use to check webhook signatures. The key is used only for this call and is not stored. Example: message=hello, key=secret. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: HMAC signature
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
holidaysNationwide public holidays for a year in the US (federal), UK (England and Wales), Sweden, Germany, France, Norway, Denmark and Finland: date, local and English name, and the weekd…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Nationwide public holidays for a year in the US (federal), UK (England and Wales), Sweden, Germany, France, Norway, Denmark and Finland: date, local and English name, and the weekday it is observed on where a weekend moves it. Computed from statutory rules for 2024-2100. Use for scheduling, delivery dates and business-day maths. Example: country=SE. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Public holidays by country
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
html_to_textStrip HTML to readable plain text: scripts and styles removed, block elements become line breaks, list items get bullets, entities decoded.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Strip HTML to readable plain text: scripts and styles removed, block elements become line breaks, list items get bullets, entities decoded. Use to feed web content or emails to an LLM. Example: html=<h1>Hi</h1><p>A & B</p><ul><li>one</li></ul>. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: HTML to plain text
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
hyperliquid_marketLive Hyperliquid perpetual futures data for a coin (BTC, ETH, SOL, HYPE…): mark, oracle and mid price, hourly funding rate and its APR, premium, open interest in coins and USD, 24-…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Live Hyperliquid perpetual futures data for a coin (BTC, ETH, SOL, HYPE…): mark, oracle and mid price, hourly funding rate and its APR, premium, open interest in coins and USD, 24-hour volume and price change, and max leverage. Without a coin, the 20 most traded markets by 24-hour volume. Read from Hyperliquid's public API. Use for funding-rate checks, basis trades, derivatives dashboards and market context. Example: coin=BTC. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Hyperliquid perp funding rate, open interest and price
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
imageText-to-image generation with FLUX.1 schnell.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Text-to-image generation with FLUX.1 schnell. Send a prompt, get a 1024x1024 JPEG back as base64 in a few seconds. Use for illustrations, thumbnails, mockups, avatars and social media images. Optional steps parameter (1-8, default 4) trades speed for detail. Example: prompt=a lighthouse on a cliff at sunset, watercolor. Price $0.02/call via x402 USDC or a card key (/credits); failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Image generation from a text prompt
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
ip_cidrDetails of an IPv4 network in CIDR notation: network and broadcast address, first and last usable host, netmask, number of addresses, and whether a given IP falls inside.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Details of an IPv4 network in CIDR notation: network and broadcast address, first and last usable host, netmask, number of addresses, and whether a given IP falls inside. Use for firewall rules and allowlists. Example: cidr=192.168.1.0/24. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: CIDR calculator
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
ip_infoClassify an IPv4 or IPv6 address without any lookup: version, whether it is private, loopback, link-local, carrier-grade NAT or public, and its integer and reverse-DNS forms (IPv4)…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Classify an IPv4 or IPv6 address without any lookup: version, whether it is private, loopback, link-local, carrier-grade NAT or public, and its integer and reverse-DNS forms (IPv4). Use to triage IPs in logs or allowlists. Example: ip=10.1.2.3. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: IP address facts
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
json_formatFormat JSON with indentation (2 or 4 spaces, or tabs) and optionally sorted keys.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Format JSON with indentation (2 or 4 spaces, or tabs) and optionally sorted keys. Returns the formatted text. Use to make machine JSON readable or to normalise it for diffs. Example: text={"b":2,"a":1}. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Pretty-print JSON
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
json_repairFix JSON as LLMs often write it: removes ```json fences and surrounding prose, comments and trailing commas, converts single quotes, quotes bare keys, maps True/False/None, and clo…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Fix JSON as LLMs often write it: removes ```json fences and surrounding prose, comments and trailing commas, converts single quotes, quotes bare keys, maps True/False/None, and closes unclosed brackets. Returns the repaired JSON and whether it now parses. Use when an LLM's JSON output fails to parse. Example: text=```json {name: 'Ada', tags: ['x',],} ```. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Repair broken JSON
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
json_to_csvConvert a JSON array of objects to CSV with a header row built from all keys.1 finding
Why it is in this group
- The description's first verb is "convert": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "json_to_csv" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The description's first verb is "convert": a word for a change.
Description, as the server wrote it Convert a JSON array of objects to CSV with a header row built from all keys. Nested values are written as JSON. Use to export API results to a spreadsheet. Example: text=[{"name":"Ada","age":36},{"name":"Alan","age":41}]. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: JSON array to CSV
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
jwt_decodeDecode a JSON Web Token's header and payload without verifying the signature, and report issued-at, not-before and expiry as dates and whether it has expired.1 finding
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The description contains a 40-character base64 string. It decodes to text: "{"sub":"123","exp":1792281600}".
What this check looks forMatched text
description: "...iIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjMiLCJleHAiOjE3OTIyODE2MDB9.sig. Price $0.003/c..."
Description, as the server wrote it Decode a JSON Web Token's header and payload without verifying the signature, and report issued-at, not-before and expiry as dates and whether it has expired. The token is not stored. Do not use the result to trust a token. Use to debug auth flows. Example: token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjMiLCJleHAiOjE3OTIyODE2MDB9.sig. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Decode a JWT
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
keccakKeccak-256 hash (the Ethereum hash) of text or of 0x hex bytes, as used for function selectors, event topics and storage slots.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Keccak-256 hash (the Ethereum hash) of text or of 0x hex bytes, as used for function selectors, event topics and storage slots. Use when building or decoding EVM calls. Example: text=transfer(address,uint256). Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Keccak-256 hash
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
liquidity_pool_auditCheck a Base DEX pool before you trade or add liquidity: give a pair address and get the verified DEX, both tokens, reported liquidity, 24h volume and trades, and pair age from Dex…1 finding
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...t. Example: address=0x98c7A2338336d2d354663246F64676009c7bDa97. Price $0.03/call v..."
Description, as the server wrote it Check a Base DEX pool before you trade or add liquidity: give a pair address and get the verified DEX, both tokens, reported liquidity, 24h volume and trades, and pair age from DexScreener, with source and retrieval time. Missing fields are null; an unknown pair returns 404. Market data only, no pool-security or investment-risk assessment. Use to confirm a pair is real and deep enough before trading; token red flags: token_report. Example: address=0x98c7A2338336d2d354663246F64676009c7bDa97. Price $0.03/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Liquidity pool check: a Base DEX pair's liquidity, volume, trades and age before trading
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
ln_invoiceDecode a BOLT11 Lightning Network invoice without paying it: network, amount in sats and BTC, description, payment hash, creation time, expiry time and whether it has already expir…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Decode a BOLT11 Lightning Network invoice without paying it: network, amount in sats and BTC, description, payment hash, creation time, expiry time and whether it has already expired. Use to check what an invoice asks for before an agent pays it. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Decode a Lightning invoice
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
magic_8_ballAsk a yes-or-no question and get one of the 20 classic Magic 8-Ball answers, chosen at random.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Ask a yes-or-no question and get one of the 20 classic Magic 8-Ball answers, chosen at random. For fun only. Use for games and chat bots. Example: question=Will it ship today?. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Magic 8-ball
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
markdown_to_htmlConvert Markdown (headings, paragraphs, bold, italic, strikethrough, links, images, inline and fenced code, lists, quotes, rules) to HTML.1 finding
Why it is in this group
- The description's first verb is "convert": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "markdown_to_html" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The description's first verb is "convert": a word for a change.
Description, as the server wrote it Convert Markdown (headings, paragraphs, bold, italic, strikethrough, links, images, inline and fenced code, lists, quotes, rules) to HTML. Raw HTML in the input is escaped, so the output is safe to embed. Use to publish agent-written Markdown on a web page. Example: markdown=# Title Some **bold** text and a [link](https://example.com).. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Markdown to HTML
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
mev_simulatorEstimates Base gas costs from current fees and priority-fee presets.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Estimates Base gas costs from current fees and priority-fee presets. Fixed gas units (100k simple, 250k complex, 180k liquidity) are typical assumptions, not transaction-specific estimates or quotes. Valid values: standard, high-mev (3x priority fee), low-gas (half); invalid values return HTTP 400 without charge. No transaction simulation, mempool observation, or MEV/sandwich-risk measurement. Use to budget gas for a Base transaction. Example: scenario=standard. Price $0.04/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Base gas-cost estimates under priority-fee scenarios
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
mimeMIME (content) type for a file name or extension, e.g.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it MIME (content) type for a file name or extension, e.g. report.pdf → application/pdf, and whether browsers usually display it inline. Use when uploading or serving files. Example: file=report.xlsx. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: MIME type for a file
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
moonMoon phase name, illuminated percentage and age in days for any date, plus the next new and full moon (UTC).No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Moon phase name, illuminated percentage and age in days for any date, plus the next new and full moon (UTC). Computed locally from the mean synodic month. Use for calendars and night-sky planning. Example: date=2026-10-18. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Moon phase
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
networkReference facts for paying and reading on Base mainnet: chain id, native USDC contract and decimals, block explorer and public RPC URLs, and the x402 network identifier.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Reference facts for paying and reading on Base mainnet: chain id, native USDC contract and decimals, block explorer and public RPC URLs, and the x402 network identifier. Use to configure an x402 or Base client. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Base network and USDC facts
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
npm_downloadsDownload counts of an npm package for the last day, week and month, from the official npm registry API.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Download counts of an npm package for the last day, week and month, from the official npm registry API. Use to judge how widely a dependency is used. Example: package=hono. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: npm package downloads
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
number_romanConvert a number (1-3999) to Roman numerals, or Roman numerals back to a number.1 finding
Why it is in this group
- The description's first verb is "convert": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "number_roman" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The description's first verb is "convert": a word for a change.
Description, as the server wrote it Convert a number (1-3999) to Roman numerals, or Roman numerals back to a number. Give either number or roman. Use for dates, outlines and puzzles. Example: number=2026. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Roman numerals
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
number_wordsWrite a whole number (up to trillions, negatives allowed) out in English words, e.g.1 finding
Why it is in this group
- The description's first verb is "write": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "number_words" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The description's first verb is "write": a word for a change.
Description, as the server wrote it Write a whole number (up to trillions, negatives allowed) out in English words, e.g. for cheques and invoices. Also returns the cheque form with 'and' cents when given a decimal amount. Use when amounts must be written out in full. Example: number=1234.5. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Number to English words
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
op_balanceNative ETH balance (eth_getBalance) of any 0x wallet address on Optimism at the latest block, in wei and in ETH.1 finding
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."
Description, as the server wrote it Native ETH balance (eth_getBalance) of any 0x wallet address on Optimism at the latest block, in wei and in ETH. Use to check whether a wallet can pay gas or a transfer; for ERC-20 tokens use op_token_balance, for all holdings at once use wallet_portfolio. A malformed address is rejected with 400, uncharged. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Optimism native balance
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
op_blockLatest block number and block details on Optimism, or any block by decimal number: hash, timestamp, transaction count, gas used and limit, base fee in gwei and producer.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Latest block number and block details on Optimism, or any block by decimal number: hash, timestamp, transaction count, gas used and limit, base fee in gwei and producer. Use for timestamps and confirmation counts; for current fees use op_gas. A block that does not exist yet returns 404, uncharged. Example: number=latest. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Optimism block
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
op_gasCurrent gas price on Optimism (eth_gasPrice): gas price, base fee and suggested priority fee in gwei, plus what a plain ETH transfer (21,000 gas) costs right now.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Current gas price on Optimism (eth_gasPrice): gas price, base fee and suggested priority fee in gwei, plus what a plain ETH transfer (21,000 gas) costs right now. Takes no input. Use before sending a transaction or to decide whether to wait; for the fee a past transaction actually paid use op_receipt. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Optimism gas price
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
op_is_contractCheck whether a 0x address on Optimism is a smart contract or a plain wallet: bytecode size, and whether it is an EIP-1167 minimal proxy and which implementation it points to.1 finding
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...d. Example: address=0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85. Price $0.003/call..."
Description, as the server wrote it Check whether a 0x address on Optimism is a smart contract or a plain wallet: bytecode size, and whether it is an EIP-1167 minimal proxy and which implementation it points to. Use before sending funds or approving a spender; for a fuller risk verdict use check_counterparty. A malformed address is rejected with 400, uncharged. Example: address=0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Optimism contract check
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
op_receiptTransaction receipt on Optimism (eth_getTransactionReceipt): success or reverted, gas used, effective gas price, fee paid in ETH, number of event logs and any contract created.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Transaction receipt on Optimism (eth_getTransactionReceipt): success or reverted, gas used, effective gas price, fee paid in ETH, number of event logs and any contract created. Use to confirm a payment or call went through; for sender, value and calldata use op_tx. Input is a 0x-prefixed 64-hex hash; a pending or unknown hash returns 404, uncharged. Example: hash=0x721f3e9a996da49e2a8929bd2dd42e0f51344c11d7ca7bc3328fda349cdfae89. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Optimism transaction receipt
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
op_token_balanceERC-20 token balance of a wallet on Optimism (USDC, USDT, WETH or any token, via balanceOf): raw amount, decimals, symbol and the human-readable amount, live from the token contrac…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it ERC-20 token balance of a wallet on Optimism (USDC, USDT, WETH or any token, via balanceOf): raw amount, decimals, symbol and the human-readable amount, live from the token contract. Use to check stablecoin or token holdings before a transfer or trade; for the native coin use op_balance. Both inputs are 0x addresses (40 hex characters); no contract returns 404 and a non-ERC-20 contract 422, both uncharged. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Optimism ERC-20 balance
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
op_token_infoLook up the name, symbol, decimals and total supply of an ERC-20 token contract on Optimism, live from the contract.1 finding
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...ged. Example: token=0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85. Price $0.003/call..."
Description, as the server wrote it Look up the name, symbol, decimals and total supply of an ERC-20 token contract on Optimism, live from the contract. Use to identify an unknown token address or to format raw amounts; for a holder's balance use op_token_balance. Input is a ticker (USDC, WETH…) or the token's 0x contract address; an address that is not an ERC-20 contract returns 422, uncharged. Example: token=0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Optimism ERC-20 token info
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
op_txLook up a Optimism transaction by hash: sender, recipient, value in ETH, nonce, gas limit, the 4-byte function selector and its block.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Look up a Optimism transaction by hash: sender, recipient, value in ETH, nonce, gas limit, the 4-byte function selector and its block. Use to see what was sent or whether it exists; for success or failure and fees paid use op_receipt, for emitted events op_logs. Input is a 0x-prefixed 64-hex hash; an unknown hash returns 404, uncharged. Example: hash=0x721f3e9a996da49e2a8929bd2dd42e0f51344c11d7ca7bc3328fda349cdfae89. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Optimism transaction
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
packageReports package existence, latest version and release, age, version count, npm weekly downloads, licenses, deprecation and known advisory severity.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Reports package existence, latest version and release, age, version count, npm weekly downloads, licenses, deprecation and known advisory severity. ok means no listed flags, not a safety guarantee. Supports npm, PyPI, Cargo, Go, Maven and NuGet. Optional exact version adds pinned-version metadata and uses deps.dev advisories; use /package-audit for OSV affected ranges and dated FIRST EPSS CVE estimates. Use before adding a dependency. Example: ecosystem=npm, name=lodash. Price $0.002/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Package metadata and latest or pinned-version dependency-risk signals
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
package_auditCheck up to 10 public dependencies, optionally pinned to exact versions, for advisory IDs, OSV affected/fixed ranges and dated FIRST EPSS CVE estimates.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Check up to 10 public dependencies, optionally pinned to exact versions, for advisory IDs, OSV affected/fixed ranges and dated FIRST EPSS CVE estimates. Scoped npm names supported. Detail and subrequest caps apply; omitted details and incomplete coverage are explicit. Missing evidence is unknown, not zero risk. Automated signals, not a safety guarantee. See the buying guide for limits. Use before installing or upgrading dependencies. Example: packages=npm:lodash@4.17.20,pypi:requests@2.31.0,npm:@types/node@22.0.0. Price $0.20/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Audit up to 10 dependencies, with exact-version advisories and fixes
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
pdf_textDownload a public PDF (up to 10 MB) and return its text page by page, with title, author, page count and character counts.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Download a public PDF (up to 10 MB) and return its text page by page, with title, author, page count and character counts. Choose a first page and how many pages to read (up to 200) and cap the output with maxChars. Scanned PDFs without a text layer, encrypted files and non-PDF URLs fail uncharged. Use to read papers, invoices, reports and manuals into an agent's context. Example: url=https://bitcoin.org/bitcoin.pdf. Price $0.005/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: PDF to text, page by page
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
polygon_balanceNative POL balance (eth_getBalance) of any 0x wallet address on Polygon PoS at the latest block, in wei and in POL.1 finding
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."
Description, as the server wrote it Native POL balance (eth_getBalance) of any 0x wallet address on Polygon PoS at the latest block, in wei and in POL. Use to check whether a wallet can pay gas or a transfer; for ERC-20 tokens use polygon_token_balance, for all holdings at once use wallet_portfolio. A malformed address is rejected with 400, uncharged. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Polygon PoS native balance
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
polygon_blockLatest block number and block details on Polygon PoS, or any block by decimal number: hash, timestamp, transaction count, gas used and limit, base fee in gwei and producer.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Latest block number and block details on Polygon PoS, or any block by decimal number: hash, timestamp, transaction count, gas used and limit, base fee in gwei and producer. Use for timestamps and confirmation counts; for current fees use polygon_gas. A block that does not exist yet returns 404, uncharged. Example: number=latest. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Polygon PoS block
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
polygon_gasCurrent gas price on Polygon PoS (eth_gasPrice): gas price, base fee and suggested priority fee in gwei, plus what a plain POL transfer (21,000 gas) costs right now.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Current gas price on Polygon PoS (eth_gasPrice): gas price, base fee and suggested priority fee in gwei, plus what a plain POL transfer (21,000 gas) costs right now. Takes no input. Use before sending a transaction or to decide whether to wait; for the fee a past transaction actually paid use polygon_receipt. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Polygon PoS gas price
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
polygon_is_contractCheck whether a 0x address on Polygon PoS is a smart contract or a plain wallet: bytecode size, and whether it is an EIP-1167 minimal proxy and which implementation it points to.1 finding
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...d. Example: address=0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359. Price $0.003/call..."
Description, as the server wrote it Check whether a 0x address on Polygon PoS is a smart contract or a plain wallet: bytecode size, and whether it is an EIP-1167 minimal proxy and which implementation it points to. Use before sending funds or approving a spender; for a fuller risk verdict use check_counterparty. A malformed address is rejected with 400, uncharged. Example: address=0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Polygon PoS contract check
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
polygon_receiptTransaction receipt on Polygon PoS (eth_getTransactionReceipt): success or reverted, gas used, effective gas price, fee paid in POL, number of event logs and any contract created.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Transaction receipt on Polygon PoS (eth_getTransactionReceipt): success or reverted, gas used, effective gas price, fee paid in POL, number of event logs and any contract created. Use to confirm a payment or call went through; for sender, value and calldata use polygon_tx. Input is a 0x-prefixed 64-hex hash; a pending or unknown hash returns 404, uncharged. Example: hash=0x23e86c30c46638b2e9798692fe89327a66aa8569a5d4a566125f655aeb8f80c7. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Polygon PoS transaction receipt
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
polygon_token_balanceERC-20 token balance of a wallet on Polygon PoS (USDC, USDT, WETH or any token, via balanceOf): raw amount, decimals, symbol and the human-readable amount, live from the token cont…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it ERC-20 token balance of a wallet on Polygon PoS (USDC, USDT, WETH or any token, via balanceOf): raw amount, decimals, symbol and the human-readable amount, live from the token contract. Use to check stablecoin or token holdings before a transfer or trade; for the native coin use polygon_balance. Both inputs are 0x addresses (40 hex characters); no contract returns 404 and a non-ERC-20 contract 422, both uncharged. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Polygon PoS ERC-20 balance
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
polygon_token_infoLook up the name, symbol, decimals and total supply of an ERC-20 token contract on Polygon PoS, live from the contract.1 finding
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...ged. Example: token=0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359. Price $0.003/call..."
Description, as the server wrote it Look up the name, symbol, decimals and total supply of an ERC-20 token contract on Polygon PoS, live from the contract. Use to identify an unknown token address or to format raw amounts; for a holder's balance use polygon_token_balance. Input is a ticker (USDC, WETH…) or the token's 0x contract address; an address that is not an ERC-20 contract returns 422, uncharged. Example: token=0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Polygon PoS ERC-20 token info
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
polygon_txLook up a Polygon PoS transaction by hash: sender, recipient, value in POL, nonce, gas limit, the 4-byte function selector and its block.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Look up a Polygon PoS transaction by hash: sender, recipient, value in POL, nonce, gas limit, the 4-byte function selector and its block. Use to see what was sent or whether it exists; for success or failure and fees paid use polygon_receipt, for emitted events polygon_logs. Input is a 0x-prefixed 64-hex hash; an unknown hash returns 404, uncharged. Example: hash=0x23e86c30c46638b2e9798692fe89327a66aa8569a5d4a566125f655aeb8f80c7. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Polygon PoS transaction
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
price_tokenCrypto token USD price by ticker (ETH, BTC, USDC, AERO, ARB, OP, LINK…) or by any ERC-20 0x address on Base, Ethereum, Arbitrum or Optimism, from the deepest Uniswap v3 pool agains…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Crypto token USD price by ticker (ETH, BTC, USDC, AERO, ARB, OP, LINK…) or by any ERC-20 0x address on Base, Ethereum, Arbitrum or Optimism, from the deepest Uniswap v3 pool against USDC or WETH, read live from the chain. Returns the pool, its fee tier, the quote reserve and a thin-liquidity flag. Spot price, not a time average. No pool returns 404, uncharged. Use to value a token or check a quote before a swap or payment. Example: symbol=ETH. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Crypto token price in USD from Uniswap v3 pools
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
price_tokensUSD prices for up to 20 crypto tokens in one call, by ticker (ETH, BTC, USDC, AERO…) or ERC-20 0x address, on Base, Ethereum, Arbitrum or Optimism, each from its deepest Uniswap v3…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it USD prices for up to 20 crypto tokens in one call, by ticker (ETH, BTC, USDC, AERO…) or ERC-20 0x address, on Base, Ethereum, Arbitrum or Optimism, each from its deepest Uniswap v3 pool against USDC or WETH, read live from the chain, with pool, reserve and a thin-liquidity flag. Tokens without a pool are listed under unpriced instead of failing the call. Spot prices. Use to value a basket of tokens or refresh a watchlist in one paid call. Example: symbols=ETH,BTC,AERO. Price $0.005/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Crypto prices in USD for up to 20 tokens in one call
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
pypiLatest version, summary, licence, required Python version, home page, release date and number of releases of a Python package on PyPI.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Latest version, summary, licence, required Python version, home page, release date and number of releases of a Python package on PyPI. Use to check a dependency before installing it. Example: package=requests. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: PyPI package info
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
random_colorOne or more random colours in hex, RGB and HSL, optionally limited to pastel or dark tones.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it One or more random colours in hex, RGB and HSL, optionally limited to pastel or dark tones. Use for placeholders, avatars and design ideas. Example: count=3. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Random colour
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
random_numberOne or more random whole numbers in a range (inclusive), optionally all different, from a cryptographic random source.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it One or more random whole numbers in a range (inclusive), optionally all different, from a cryptographic random source. Use for draws, sampling and games. Example: min=1. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Random number
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
random_passwordGenerate strong random passwords or passphrase-style strings: choose length and character sets, from a cryptographic random source.1 finding
Why it is in this group
- The description's first verb is "generate": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "random_password" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The description's first verb is "generate": a word for a change.
Description, as the server wrote it Generate strong random passwords or passphrase-style strings: choose length and character sets, from a cryptographic random source. Generated on demand; nothing is stored or logged. Use when creating accounts or secrets. Example: length=20. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Generate a password
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
random_pickPick one or more items at random (without repeats) from a comma- or line-separated list.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Pick one or more items at random (without repeats) from a comma- or line-separated list. Use for raffles, choosing who goes first, or breaking ties fairly. Example: items=Ada,Alan,Grace,Linus. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Pick at random from a list
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
random_shuffleShuffle a comma- or line-separated list into a random order (Fisher-Yates with a cryptographic random source).No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Shuffle a comma- or line-separated list into a random order (Fisher-Yates with a cryptographic random source). Use for draw orders, seating and playlists. Example: items=1,2,3,4,5. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Shuffle a list
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
random_teamsSplit a list of names into a given number of random, evenly sized teams.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Split a list of names into a given number of random, evenly sized teams. Use for games, workshops and classrooms. Example: items=Ada,Alan,Grace,Linus,Margaret,Tim. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Split people into teams
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
sanctions_checkOFAC sanctions screen for a crypto wallet before you pay it: checks an address (BTC, ETH, USDT, TRX and more) or a person or company name against the US Treasury SDN list, aliases …1 finding
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...y. Example: address=0x098B716B8Aaf21512996dC57EB0615e2383E2f96. Price $0.005/call..."
Description, as the server wrote it OFAC sanctions screen for a crypto wallet before you pay it: checks an address (BTC, ETH, USDT, TRX and more) or a person or company name against the US Treasury SDN list, aliases included. Returns a verdict (block on a listed address, review on a name match, pass), each match with SDN ID, programs and match strength, and the list date. A screening aid, not legal advice. Use before paying; full verdict with wallet risk: check_counterparty. Example: address=0x098B716B8Aaf21512996dC57EB0615e2383E2f96. Price $0.005/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Sanctions check: OFAC SDN screening for a crypto wallet or name
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
sec_filingsLatest SEC EDGAR filings for a US-listed company by stock ticker or CIK: form (10-K, 10-Q, 8-K, 4, S-1…), filing and report dates, accession number, document description and a dire…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Latest SEC EDGAR filings for a US-listed company by stock ticker or CIK: form (10-K, 10-Q, 8-K, 4, S-1…), filing and report dates, accession number, document description and a direct link, newest first, optionally only one form type. Plus company name, CIK and industry (SIC). Public SEC data. Use to check a company's latest annual or quarterly report, insider trades (form 4) or material events (8-K). Example: ticker=AAPL. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: SEC EDGAR filings for a US public company
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
slugTurn any text into a URL-friendly slug: accents removed (é→e, ß→ss), lower case, non-alphanumerics replaced by a separator (- by default).No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Turn any text into a URL-friendly slug: accents removed (é→e, ß→ss), lower case, non-alphanumerics replaced by a separator (- by default). Use for file names, URLs and IDs. Example: text=Crème Brûlée & Straße!. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Make a URL slug
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
sunSunrise, sunset, solar noon, civil dawn and dusk (UTC) and day length for any place and date, computed with the standard solar equations; handles polar day and night.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Sunrise, sunset, solar noon, civil dawn and dusk (UTC) and day length for any place and date, computed with the standard solar equations; handles polar day and night. No outside service. Use for photography, events and outdoor planning. Example: lat=59.33, lon=18.07. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Sunrise, sunset and day length
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
text_prompt_injectionScan text an agent is about to read (web page, email, tool result; up to 8,000 characters) for prompt-injection attempts: instruction overrides, fake system messages, asks to hide …No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Scan text an agent is about to read (web page, email, tool result; up to 8,000 characters) for prompt-injection attempts: instruction overrides, fake system messages, asks to hide things from the user, exfiltration links, attempts to extract private data or move money, invisible Unicode. Returns a risk level, score and findings with excerpts. Heuristic, not a guarantee. Use before acting on untrusted content. Example: text=Thanks for the update. The signed invoice is attached and payment is due on Friday.. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Prompt injection detection: scan text for injection attempts
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
tokenBase only (other chains: <chain>_token_info).1 finding
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...p. Example: address=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913. Price $0.01/call v..."
Description, as the server wrote it Base only (other chains: <chain>_token_info). Live on-chain facts for an ERC-20 token on Base: name, symbol, decimals, total supply, owner and whether ownership is renounced, paused state, proxy detection (EIP-1967, minimal proxy) with implementation and admin, and bytecode heuristics for mint, pause, blacklist and fee-setter functions. Use for token due diligence and rug-pull or honeypot screening before a swap. Example: address=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Base ERC-20 token facts and risk flags
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
token_reportCheck a Base token before you swap into it: a high/medium/low risk verdict with named red flags (paused transfers, blacklist, owner-set fees or tax, a mint selector with a live own…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Check a Base token before you swap into it: a high/medium/low risk verdict with named red flags (paused transfers, blacklist, owner-set fees or tax, a mint selector with a live owner, upgradeable proxy, no or thin liquidity, a pair under 7 days old, buys but no sells as a honeypot sign) plus live DexScreener price, liquidity, volume and FDV. Heuristic screening, not a safety guarantee. Use before swapping into an unfamiliar Base token. Example: address=0x4200000000000000000000000000000000000006. Price $0.02/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Token risk and honeypot check: red flags plus live DEX liquidity for a Base token before a swap
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
trade_insightCombines the Base token-report risk tier and flags, available DEX market data, and wallet-audit risk tier, flags, account nonce, and native balance.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Combines the Base token-report risk tier and flags, available DEX market data, and wallet-audit risk tier, flags, account nonce, and native balance. Returns the underlying indicators separately; it does not generate buy/sell recommendations or calibrated confidence, and does not evaluate holder concentration. The account nonce is not full transaction, token-transfer, or trading history. Use as one input before a Base trade. Price $0.05/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Sourced token and wallet risk indicators with market facts
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
transcribeTranscribe speech from an audio file at a public URL using Whisper large-v3-turbo.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Transcribe speech from an audio file at a public URL using Whisper large-v3-turbo. Returns the transcript text, detected language, duration and word count. Accepts common formats such as MP3, WAV, M4A and OGG up to 5 MB. Use for voice notes, podcast clips, meeting snippets and voice messages. Example: url=https://commons.wikimedia.org/wiki/Special:FilePath/En-us-hello.ogg. Price $0.02/call via x402 USDC or a card key (/credits); failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Transcribe audio: speech to text for an audio file
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
unixConvert a Unix timestamp (seconds or milliseconds, detected automatically) to ISO date and time, or an ISO date to a Unix timestamp.1 finding
Why it is in this group
- The description's first verb is "convert": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "unix" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The description's first verb is "convert": a word for a change.
Description, as the server wrote it Convert a Unix timestamp (seconds or milliseconds, detected automatically) to ISO date and time, or an ISO date to a Unix timestamp. Without input, returns the current time in both forms. Use to read timestamps in logs and APIs. Example: value=1792281600. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Unix timestamp converter
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
url_decodeDecode percent-encoded text, treating + as a space when plus=true (form encoding).No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Decode percent-encoded text, treating + as a space when plus=true (form encoding). Use to read encoded links and form data. Example: text=a%20b%26c. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: URL decode
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
url_encodePercent-encode text for use in a URL query value (encodeURIComponent) and as a full URL (encodeURI).No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Percent-encode text for use in a URL query value (encodeURIComponent) and as a full URL (encodeURI). Use when building query strings. Example: text=a b&c=d/é. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: URL encode
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
url_parseSplit a URL into protocol, host, port, path, query parameters (as an object), hash and origin, and report whether the host is an IP address.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Split a URL into protocol, host, port, path, query parameters (as an object), hash and origin, and report whether the host is an IP address. Use to read query parameters or check a link's host. Example: url=https://example.com:8080/a/b?x=1&y=2#top. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Parse a URL
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
uuidGenerate 1 to 100 random version-4 UUIDs from a cryptographic random source.1 finding
Why it is in this group
- The description's first verb is "generate": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "uuid" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The description's first verb is "generate": a word for a change.
Description, as the server wrote it Generate 1 to 100 random version-4 UUIDs from a cryptographic random source. Use for IDs, idempotency keys and test data. Example: count=3. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Generate UUIDs
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
walletBase only (all 5 chains: wallet_balances; USD values: wallet_portfolio).No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Base only (all 5 chains: wallet_balances; USD values: wallet_portfolio). An address on Base: ETH and major token balances (USDC, WETH, cbBTC, DAI, USDbC, cbETH, AERO, EURC) plus up to 20 token addresses you pass, the account nonce, and whether it is an EOA, a contract or an EIP-7702 account. The nonce counts outgoing transactions only; not transfer or trading history. Use to check a counterparty's holdings. Example: address=0x4200000000000000000000000000000000000006. Price $0.005/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Base wallet balances and account nonce snapshot
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
wallet_auditScreen a Base address for fresh or throwaway-wallet signals: a high/medium/low heuristic risk tier with named flags (no or one outgoing transaction, a near-empty balance with few t…1 finding
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...y. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.02/call v..."
Description, as the server wrote it Screen a Base address for fresh or throwaway-wallet signals: a high/medium/low heuristic risk tier with named flags (no or one outgoing transaction, a near-empty balance with few transactions), plus ETH, USDC, WETH, cbBTC and DAI balances and the account nonce. Address type is reported separately and does not affect the tier; token contracts are not audited. Use to screen a Base address; OFAC and other chains: check_counterparty. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.02/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Wallet risk check: fresh-wallet risk tier, flags, balances and nonce for a Base address
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
wallet_portfolioUSD value of a wallet on Base, Ethereum, Arbitrum or Optimism: native ETH plus major tokens (USDC and WETH everywhere, the common Base tokens on Base) and up to 20 tokens you add, …1 finding
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...g. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.005/call..."
Description, as the server wrote it USD value of a wallet on Base, Ethereum, Arbitrum or Optimism: native ETH plus major tokens (USDC and WETH everywhere, the common Base tokens on Base) and up to 20 tokens you add, each priced from its deepest Uniswap v3 pool, read live from the chain. Returns holdings, total and anything that could not be priced. Not a full token inventory. Use to check what a wallet is worth before trading, lending or paying. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.005/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Wallet holdings valued in USD
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
weatherWeather for any city or point on Earth (city name, or latitude and longitude): current temperature in Celsius, conditions (clear, cloudy, rain, snow), precipitation in mm, wind, hu…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Weather for any city or point on Earth (city name, or latitude and longitude): current temperature in Celsius, conditions (clear, cloudy, rain, snow), precipitation in mm, wind, humidity, cloud cover and air pressure, plus an hourly forecast for up to 48 hours. Data from the Norwegian Meteorological Institute; city names resolve via Wikidata. Use for travel and event planning, logistics, agriculture and any agent that needs the weather. Example: city=London. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Weather forecast: current weather and 48-hour hourly forecast for any city or coordinates
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
wikipediaShort summary of a Wikipedia article in any language edition: title, one-paragraph extract, description, thumbnail and page URL.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Short summary of a Wikipedia article in any language edition: title, one-paragraph extract, description, thumbnail and page URL. Use to ground an agent's answer in a quick, citable fact sheet. Example: title=Stockholm. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Wikipedia summary
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
x402_checkCheck an x402 seller before you pay it: decode any public endpoint's 402 payment requirements without paying (v1 body or v2 header) into USD price for native USDC, network, asset, …No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Check an x402 seller before you pay it: decode any public endpoint's 402 payment requirements without paying (v1 body or v2 header) into USD price for native USDC, network, asset, recipient, scheme and timeout, plus a listing-quality score for https resource URL, atomic amount, facilitator minimum, description, Bazaar metadata and output schema. Never signs. Use before buying from an unfamiliar seller or to audit your own x402 listing. Example: url=https://agent-data-tools.revmesh2074.workers.dev/btc-fees. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: x402 seller check: decode an endpoint's payment terms and listing quality without paying
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
yes_noA fair random yes or no, with a cryptographic random source.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it A fair random yes or no, with a cryptographic random source. For quick decisions when the options are equally good. Use to break ties. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Yes or no
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
Only reads 36Claude Code: allow
ai_summarize_textSummarize up to 12,000 characters of text you send into a few sentences plus bullet key points.No findings
Why it is in this group
- The name "ai_summarize_text" says "summarize": a word for reading.
Description, as the server wrote it Summarize up to 12,000 characters of text you send into a few sentences plus bullet key points. Use for long emails, documents, transcripts and tool outputs (for a web page by URL, use /summarize). Price $0.003/call via x402 USDC or a card key (/credits); failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Summarize text
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
airport_statusLive FAA National Airspace System status for US airports: ground stops, ground delay programs, arrival and departure delays (with minimum, maximum and trend) and closures, each wit…No findings
Why it is in this group
- The name "airport_status" says "status": a word for reading.
Description, as the server wrote it Live FAA National Airspace System status for US airports: ground stops, ground delay programs, arrival and departure delays (with minimum, maximum and trend) and closures, each with its reason. Give an IATA code such as LGA for one airport (normal when nothing is reported), or nothing for the whole country. Public FAA data, refreshed about every minute. Use before travel planning, logistics or customer notices. Example: airport=LGA. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: US airport delays, ground stops and closures
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
arb_logsRecent contract event logs on Arbitrum One (eth_getLogs): the events a contract emitted over the last N blocks (1-1,000, default 50), optionally filtered by topic0 (the 0x 32-byte …1 finding
Why it is in this group
- The name "arb_logs" says "log": a word for reading.
Findings
- Warn
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...t. Example: address=0xaf88d065e77c8cC2239327C5EDb3A432268e5831. Price $0.003/call..."
Description, as the server wrote it Recent contract event logs on Arbitrum One (eth_getLogs): the events a contract emitted over the last N blocks (1-1,000, default 50), optionally filtered by topic0 (the 0x 32-byte event signature hash). Returns up to 100 logs with block, transaction hash and topics. Use to watch transfers or contract events; for one transaction's outcome use arb_receipt. Example: address=0xaf88d065e77c8cC2239327C5EDb3A432268e5831. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Arbitrum One recent event logs
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
arb_nonceRead the transaction count (nonce) of a 0x address on Arbitrum One, both confirmed and including pending transactions.1 finding
Why it is in this group
- The description's first verb is "read": a word for reading.
Findings
- Warn
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."
Description, as the server wrote it Read the transaction count (nonce) of a 0x address on Arbitrum One, both confirmed and including pending transactions. Use to build the next transaction or to tell whether an address has ever sent anything; for its balance use arb_balance. A malformed address is rejected with 400, uncharged. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Arbitrum One account nonce
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
base_logsRecent contract event logs on Base (eth_getLogs): the events a contract emitted over the last N blocks (1-1,000, default 50), optionally filtered by topic0 (the 0x 32-byte event si…1 finding
Why it is in this group
- The name "base_logs" says "log": a word for reading.
Findings
- Warn
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...t. Example: address=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913. Price $0.003/call..."
Description, as the server wrote it Recent contract event logs on Base (eth_getLogs): the events a contract emitted over the last N blocks (1-1,000, default 50), optionally filtered by topic0 (the 0x 32-byte event signature hash). Returns up to 100 logs with block, transaction hash and topics. Use to watch transfers or contract events; for one transaction's outcome use base_receipt. Example: address=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Base recent event logs
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
base_nonceRead the transaction count (nonce) of a 0x address on Base, both confirmed and including pending transactions.1 finding
Why it is in this group
- The description's first verb is "read": a word for reading.
Findings
- Warn
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."
Description, as the server wrote it Read the transaction count (nonce) of a 0x address on Base, both confirmed and including pending transactions. Use to build the next transaction or to tell whether an address has ever sent anything; for its balance use base_balance. A malformed address is rejected with 400, uncharged. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Base account nonce
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
date_diffTime between two dates or timestamps: total days, weeks, hours, minutes and seconds, a years-months-days breakdown, and the number of weekdays (Monday-Friday) in between.No findings
Why it is in this group
- The name "date_diff" says "diff": a word for reading.
Description, as the server wrote it Time between two dates or timestamps: total days, weeks, hours, minutes and seconds, a years-months-days breakdown, and the number of weekdays (Monday-Friday) in between. Use for deadlines, ages and durations. Example: from=2026-01-01, to=2026-10-18. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Difference between two dates
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
describeVision model for an image at a public URL: get a detailed description including any visible text, or pass a question to ask something specific about the image.No findings
Why it is in this group
- The name "describe" says "describe": a word for reading.
Description, as the server wrote it Vision model for an image at a public URL: get a detailed description including any visible text, or pass a question to ask something specific about the image. Accepts PNG, JPEG, WebP and GIF up to 3 MB. Use for alt text, OCR-style reading of screenshots, chart reading and content checks. Price $0.01/call via x402 USDC or a card key (/credits); failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Describe or question an image
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
echoReturns the message you send, with its length and the server time.No findings
Why it is in this group
- The description's first verb is "return": a word for reading.
Description, as the server wrote it Returns the message you send, with its length and the server time. Use to test an x402 client, payment flow or agent tool wiring end to end. Example: message=hello. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Echo a message
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
ensResolve an Ethereum Name Service name such as vitalik.eth to its wallet address and avatar, or look up the primary ENS name of an address (reverse resolution).No findings
Why it is in this group
- The description's first verb is "resolve": a word for reading.
Description, as the server wrote it Resolve an Ethereum Name Service name such as vitalik.eth to its wallet address and avatar, or look up the primary ENS name of an address (reverse resolution). Read live from Ethereum mainnet. Use to turn a human-readable name into a payable address, or to show a readable name for a counterparty address. Example: name=vitalik.eth. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: ENS name to address and address to ENS name
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
eth_logsRecent contract event logs on Ethereum (eth_getLogs): the events a contract emitted over the last N blocks (1-1,000, default 50), optionally filtered by topic0 (the 0x 32-byte even…1 finding
Why it is in this group
- The name "eth_logs" says "log": a word for reading.
Findings
- Warn
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...t. Example: address=0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48. Price $0.003/call..."
Description, as the server wrote it Recent contract event logs on Ethereum (eth_getLogs): the events a contract emitted over the last N blocks (1-1,000, default 50), optionally filtered by topic0 (the 0x 32-byte event signature hash). Returns up to 100 logs with block, transaction hash and topics. Use to watch transfers or contract events; for one transaction's outcome use eth_receipt. Example: address=0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Ethereum recent event logs
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
eth_nonceRead the transaction count (nonce) of a 0x address on Ethereum, both confirmed and including pending transactions.1 finding
Why it is in this group
- The description's first verb is "read": a word for reading.
Findings
- Warn
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."
Description, as the server wrote it Read the transaction count (nonce) of a 0x address on Ethereum, both confirmed and including pending transactions. Use to build the next transaction or to tell whether an address has ever sent anything; for its balance use eth_balance. A malformed address is rejected with 400, uncharged. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Ethereum account nonce
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
extractFetch any public web page URL and get clean, LLM-ready text or Markdown: main content, code blocks, tables, links and headings, for RAG and agent context.No findings
Why it is in this group
- The description's first verb is "fetch": a word for reading.
Description, as the server wrote it Fetch any public web page URL and get clean, LLM-ready text or Markdown: main content, code blocks, tables, links and headings, for RAG and agent context. Static HTML, Markdown or text; optional section ID. Default 20,000 output characters, max 100,000; input 2 MiB. No JavaScript rendering (see /extract/rendered), logins or paywalls. Empty pages, bad sections, browser challenges and errors are not charged. Use to read docs or articles. Example: url=https://example.com. Price $0.002/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Web scraping: page URL to clean Markdown or text for LLMs
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
feedRead a public RSS 2.0, RSS 1.0 or Atom feed and get the feed title, link and description plus its newest items: title, link, date (ISO 8601), short plain-text summary, author and i…No findings
Why it is in this group
- The description's first verb is "read": a word for reading.
Description, as the server wrote it Read a public RSS 2.0, RSS 1.0 or Atom feed and get the feed title, link and description plus its newest items: title, link, date (ISO 8601), short plain-text summary, author and id. Up to 50 items, feeds up to 2 MB. Lenient with real-world feeds; a page that is not a feed returns 422, uncharged. Use to follow news, blogs, release notes or podcasts without scraping pages. Example: url=https://github.blog/feed/. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Read an RSS or Atom feed
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
geocodeFind places by name in Wikidata (CC0) and get their coordinates, description, country, administrative region, population and elevation where recorded, best match first.No findings
Why it is in this group
- The description's first verb is "find": a word for reading.
Description, as the server wrote it Find places by name in Wikidata (CC0) and get their coordinates, description, country, administrative region, population and elevation where recorded, best match first. Cities, towns, landmarks and other places with coordinates. Use before weather, sun or distance lookups, or to tell two places of the same name apart. Example: name=Uppsala. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Geocoding: place name to latitude and longitude
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
http_security_headersFetch a public URL and grade its HTTP security headers: HSTS, Content-Security-Policy, framing protection, nosniff, Referrer-Policy and Permissions-Policy, plus version leaks (Serv…No findings
Why it is in this group
- The description's first verb is "fetch": a word for reading.
Description, as the server wrote it Fetch a public URL and grade its HTTP security headers: HSTS, Content-Security-Policy, framing protection, nosniff, Referrer-Policy and Permissions-Policy, plus version leaks (Server, X-Powered-By) and cookies missing Secure, HttpOnly or SameSite. Returns a grade A-F, a score and each check with its value. Use to review a site's basic web security; for DNS and email records use domain. Private hosts are refused with 400, uncharged. Example: url=https://example.com. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Audit a page's HTTP security headers
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
http_statusName and plain-language meaning of an HTTP status code (1xx-5xx, including 402 Payment Required and 429 Too Many Requests), and whether to retry.No findings
Why it is in this group
- The name "http_status" says "status": a word for reading.
Description, as the server wrote it Name and plain-language meaning of an HTTP status code (1xx-5xx, including 402 Payment Required and 429 Too Many Requests), and whether to retry. Use when handling API errors. Example: code=429. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: HTTP status code meaning
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
json_validateCheck whether text is valid JSON.No findings
Why it is in this group
- The name "json_validate" says "validate": a word for reading.
Description, as the server wrote it Check whether text is valid JSON. Returns valid true/false, the parsed value's type and size, and for invalid input the error message with line and column. Use before parsing an LLM's or an API's output. Example: text={"a":1}. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Validate JSON
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
op_logsRecent contract event logs on Optimism (eth_getLogs): the events a contract emitted over the last N blocks (1-1,000, default 50), optionally filtered by topic0 (the 0x 32-byte even…1 finding
Why it is in this group
- The name "op_logs" says "log": a word for reading.
Findings
- Warn
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...t. Example: address=0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85. Price $0.003/call..."
Description, as the server wrote it Recent contract event logs on Optimism (eth_getLogs): the events a contract emitted over the last N blocks (1-1,000, default 50), optionally filtered by topic0 (the 0x 32-byte event signature hash). Returns up to 100 logs with block, transaction hash and topics. Use to watch transfers or contract events; for one transaction's outcome use op_receipt. Example: address=0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Optimism recent event logs
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
op_nonceRead the transaction count (nonce) of a 0x address on Optimism, both confirmed and including pending transactions.1 finding
Why it is in this group
- The description's first verb is "read": a word for reading.
Findings
- Warn
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."
Description, as the server wrote it Read the transaction count (nonce) of a 0x address on Optimism, both confirmed and including pending transactions. Use to build the next transaction or to tell whether an address has ever sent anything; for its balance use op_balance. A malformed address is rejected with 400, uncharged. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Optimism account nonce
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
papersSearch scholarly literature across journals, conferences, preprints and books: title, authors, year, venue, citation count, DOI link and abstract where available.No findings
Why it is in this group
- The description's first verb is "search": a word for reading.
Description, as the server wrote it Search scholarly literature across journals, conferences, preprints and books: title, authors, year, venue, citation count, DOI link and abstract where available. Optional fromYear filter and up to 20 results per call. Use for research agents, literature reviews, fact-checking a claim against published work, and finding the DOI for a citation. Example: query=CRISPR off-target effects. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Search academic papers
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
pingA paid round-trip check: returns pong and the server time.No findings
Why it is in this group
- The name "ping" says "ping": a word for reading.
Description, as the server wrote it A paid round-trip check: returns pong and the server time. Use to test that an x402 wallet, client or MCP setup can pay and receive a result. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Ping
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
polygon_logsRecent contract event logs on Polygon PoS (eth_getLogs): the events a contract emitted over the last N blocks (1-1,000, default 50), optionally filtered by topic0 (the 0x 32-byte e…1 finding
Why it is in this group
- The name "polygon_logs" says "log": a word for reading.
Findings
- Warn
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...t. Example: address=0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359. Price $0.003/call..."
Description, as the server wrote it Recent contract event logs on Polygon PoS (eth_getLogs): the events a contract emitted over the last N blocks (1-1,000, default 50), optionally filtered by topic0 (the 0x 32-byte event signature hash). Returns up to 100 logs with block, transaction hash and topics. Use to watch transfers or contract events; for one transaction's outcome use polygon_receipt. Example: address=0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Polygon PoS recent event logs
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
polygon_nonceRead the transaction count (nonce) of a 0x address on Polygon PoS, both confirmed and including pending transactions.1 finding
Why it is in this group
- The description's first verb is "read": a word for reading.
Findings
- Warn
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."
Description, as the server wrote it Read the transaction count (nonce) of a 0x address on Polygon PoS, both confirmed and including pending transactions. Use to build the next transaction or to tell whether an address has ever sent anything; for its balance use polygon_balance. A malformed address is rejected with 400, uncharged. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Polygon PoS account nonce
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
screenshotRender any public web page in a real headless Chrome browser, with JavaScript executed, and get a JPEG screenshot (1280 px wide, base64) plus the final URL, HTTP status and page ti…No findings
Why it is in this group
- The name "screenshot" says "screenshot": a word for reading.
Description, as the server wrote it Render any public web page in a real headless Chrome browser, with JavaScript executed, and get a JPEG screenshot (1280 px wide, base64) plus the final URL, HTTP status and page title. Set fullPage=true to capture up to 4000 px of page height. Use for visual checks, page previews, monitoring and feeding pages to vision models. Example: url=https://example.com. Price $0.02/call via x402 USDC or a card key (/credits); failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Website screenshot: capture a web page as an image
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
semverCompare two semantic versions (1.2.3, pre-releases like 2.0.0-rc.1 handled by the SemVer rules) and get which is newer, plus the next major, minor and patch versions of the first.No findings
Why it is in this group
- The description's first verb is "compare": a word for reading.
Description, as the server wrote it Compare two semantic versions (1.2.3, pre-releases like 2.0.0-rc.1 handled by the SemVer rules) and get which is newer, plus the next major, minor and patch versions of the first. Use to decide whether an upgrade is a major change. Example: a=1.10.0, b=1.9.3. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Compare semantic versions
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
sitemapRead one public XML sitemap or sitemap index as structured URLs and source-reported dates.No findings
Why it is in this group
- The description's first verb is "read": a word for reading.
Description, as the server wrote it Read one public XML sitemap or sitemap index as structured URLs and source-reported dates. Supports gzip, substring filtering and pagination. Maximum 512 KiB expanded input and 1000 entries. Does not crawl pages or follow child sitemaps. Invalid XML and execution errors are not charged; a valid empty match is charged. Use to find which pages of a docs site to read before calling /extract. Example: url=https://www.sitemaps.org/sitemap.xml. Price $0.002/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Discover documentation URLs from a bounded XML sitemap
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
summarizeGive a URL, get a short summary of the page plus three to six key points, ready to drop into an agent's context.No findings
Why it is in this group
- The name "summarize" says "summarize": a word for reading.
Description, as the server wrote it Give a URL, get a short summary of the page plus three to six key points, ready to drop into an agent's context. Fetches the page, strips navigation and boilerplate, and summarizes the main text with an LLM. HTML pages only; for a PDF use pdf_text, then ai_summarize_text. Use for research, news triage, link previews and deciding whether a page is worth reading in full. For the full text use extract. Example: url=https://en.wikipedia.org/wiki/HTTP_402. Price $0.01/call via x402 USDC or a card key (/credits); failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Summarize a web page from its URL
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
text_diffLine-by-line difference between two texts: each line marked as unchanged, removed or added, with counts.No findings
Why it is in this group
- The name "text_diff" says "diff": a word for reading.
Description, as the server wrote it Line-by-line difference between two texts: each line marked as unchanged, removed or added, with counts. Use to see what changed between two versions of a document, config or prompt. Example: a=one two three, b=one 2 three four. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Compare two texts
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
text_extractFind all email addresses, URLs, phone-number-like strings, hashtags, @mentions and numbers in a text, each list de-duplicated.No findings
Why it is in this group
- The description's first verb is "find": a word for reading.
Description, as the server wrote it Find all email addresses, URLs, phone-number-like strings, hashtags, @mentions and numbers in a text, each list de-duplicated. Use to pull contacts and links out of scraped pages or messages. Example: text=Mail ada@example.com or see https://example.com #news @ada +46 70 123 45 67. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Extract emails, URLs and more
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
text_statsCount characters, words, sentences and paragraphs, estimate reading and speaking time, and compute the Flesch reading-ease score and grade level for English text.No findings
Why it is in this group
- The description's first verb is "count": a word for reading.
Description, as the server wrote it Count characters, words, sentences and paragraphs, estimate reading and speaking time, and compute the Flesch reading-ease score and grade level for English text. Use to check the length and readability of a draft. Example: text=The quick brown fox jumps over the lazy dog. It was not amused.. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Text statistics and readability
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
url_metaFetch a public web page's head and return link-preview metadata: title, description, site name, type, preview image, canonical URL, language, author, published time, favicon, theme…No findings
Why it is in this group
- The description's first verb is "fetch": a word for reading.
Description, as the server wrote it Fetch a public web page's head and return link-preview metadata: title, description, site name, type, preview image, canonical URL, language, author, published time, favicon, theme colour, and every OpenGraph and Twitter-card field. Reads at most 512 KB and never runs JavaScript. Use to build link previews, label citations or check how a URL will unfurl before sharing it. Example: url=https://github.com/. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Link preview metadata for a page
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
validate_ibanCheck an IBAN's format, its country-specific length and its mod-97 check digits, and return it formatted in groups of four.No findings
Why it is in this group
- The name "validate_iban" says "validate": a word for reading.
Description, as the server wrote it Check an IBAN's format, its country-specific length and its mod-97 check digits, and return it formatted in groups of four. Use before saving bank details or paying out. Example: iban=SE45 5000 0000 0583 9825 7466. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Validate an IBAN
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
validate_isbnCheck an ISBN-10 or ISBN-13 check digit and convert valid ISBN-10s to ISBN-13.No findings
Why it is in this group
- The name "validate_isbn" says "validate": a word for reading.
Description, as the server wrote it Check an ISBN-10 or ISBN-13 check digit and convert valid ISBN-10s to ISBN-13. Hyphens and spaces are ignored. Use before cataloguing or ordering books. Example: isbn=0-306-40615-2. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Validate an ISBN
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
validate_luhnCheck whether a number passes the Luhn (mod 10) algorithm used by card numbers, IMEI numbers and many IDs, and compute the check digit to append.No findings
Why it is in this group
- The name "validate_luhn" says "validate": a word for reading.
Description, as the server wrote it Check whether a number passes the Luhn (mod 10) algorithm used by card numbers, IMEI numbers and many IDs, and compute the check digit to append. Only the format is checked; nothing is looked up. Use to catch typos in card or ID numbers. Example: number=79927398713. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Luhn check digit
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
wallet_balancesRead a wallet's native coin and USDC balances on Base, Ethereum, Arbitrum, Optimism and Polygon in one call, live from each network, plus the USDC total.1 finding
Why it is in this group
- The description's first verb is "read": a word for reading.
Findings
- Warn
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...l. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.005/call..."
Description, as the server wrote it Read a wallet's native coin and USDC balances on Base, Ethereum, Arbitrum, Optimism and Polygon in one call, live from each network, plus the USDC total. Use to find where a wallet's funds are before a payment or bridge; for one token on one network use <chain>_token_balance, for all tokens on Base use wallet_portfolio. A network whose nodes do not answer is listed with an error instead of failing the call. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.005/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
Annotations the server declares
- title: Wallet balance: native and USDC balances on 5 networks
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.45.3. Values in angle brackets are yours to fill in.
claude mcp add --transport http agent-data-tools https://agent-data-tools.revmesh2074.workers.dev/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__agent-data-tools__extract",
"mcp__agent-data-tools__sitemap",
"mcp__agent-data-tools__summarize",
"mcp__agent-data-tools__screenshot",
"mcp__agent-data-tools__describe",
"mcp__agent-data-tools__papers",
"mcp__agent-data-tools__ens",
"mcp__agent-data-tools__base_nonce",
"mcp__agent-data-tools__base_logs",
"mcp__agent-data-tools__eth_nonce",
"mcp__agent-data-tools__eth_logs",
"mcp__agent-data-tools__arb_nonce",
"mcp__agent-data-tools__arb_logs",
"mcp__agent-data-tools__op_nonce",
"mcp__agent-data-tools__op_logs",
"mcp__agent-data-tools__polygon_nonce",
"mcp__agent-data-tools__polygon_logs",
"mcp__agent-data-tools__wallet_balances",
"mcp__agent-data-tools__feed",
"mcp__agent-data-tools__url_meta",
"mcp__agent-data-tools__http_security_headers",
"mcp__agent-data-tools__json_validate",
"mcp__agent-data-tools__text_stats",
"mcp__agent-data-tools__text_extract",
"mcp__agent-data-tools__text_diff",
"mcp__agent-data-tools__date_diff",
"mcp__agent-data-tools__validate_iban",
"mcp__agent-data-tools__validate_isbn",
"mcp__agent-data-tools__validate_luhn",
"mcp__agent-data-tools__semver",
"mcp__agent-data-tools__http_status",
"mcp__agent-data-tools__geocode",
"mcp__agent-data-tools__airport_status",
"mcp__agent-data-tools__echo",
"mcp__agent-data-tools__ping",
"mcp__agent-data-tools__ai_summarize_text"
],
"ask": [
"mcp__agent-data-tools__domain",
"mcp__agent-data-tools__domain_report",
"mcp__agent-data-tools__token",
"mcp__agent-data-tools__token_report",
"mcp__agent-data-tools__wallet",
"mcp__agent-data-tools__image",
"mcp__agent-data-tools__transcribe",
"mcp__agent-data-tools__btc_fees",
"mcp__agent-data-tools__btc_address",
"mcp__agent-data-tools__ln_invoice",
"mcp__agent-data-tools__package_audit",
"mcp__agent-data-tools__wallet_audit",
"mcp__agent-data-tools__contract_risk",
"mcp__agent-data-tools__trade_insight",
"mcp__agent-data-tools__liquidity_pool_audit",
"mcp__agent-data-tools__mev_simulator",
"mcp__agent-data-tools__package",
"mcp__agent-data-tools__email",
"mcp__agent-data-tools__fx",
"mcp__agent-data-tools__btc_price",
"mcp__agent-data-tools__base_gas",
"mcp__agent-data-tools__base_tx",
"mcp__agent-data-tools__base_allowance",
"mcp__agent-data-tools__weather",
"mcp__agent-data-tools__time",
"mcp__agent-data-tools__base_balance",
"mcp__agent-data-tools__base_token_balance",
"mcp__agent-data-tools__base_token_info",
"mcp__agent-data-tools__base_block",
"mcp__agent-data-tools__base_receipt",
"mcp__agent-data-tools__base_is_contract",
"mcp__agent-data-tools__base_token_transfers",
"mcp__agent-data-tools__eth_balance",
"mcp__agent-data-tools__eth_token_balance",
"mcp__agent-data-tools__eth_token_info",
"mcp__agent-data-tools__eth_block",
"mcp__agent-data-tools__eth_gas",
"mcp__agent-data-tools__eth_tx",
"mcp__agent-data-tools__eth_receipt",
"mcp__agent-data-tools__eth_is_contract",
"mcp__agent-data-tools__eth_token_transfers",
"mcp__agent-data-tools__arb_balance",
"mcp__agent-data-tools__arb_token_balance",
"mcp__agent-data-tools__arb_token_info",
"mcp__agent-data-tools__arb_block",
"mcp__agent-data-tools__arb_gas",
"mcp__agent-data-tools__arb_tx",
"mcp__agent-data-tools__arb_receipt",
"mcp__agent-data-tools__arb_is_contract",
"mcp__agent-data-tools__arb_token_transfers",
"mcp__agent-data-tools__op_balance",
"mcp__agent-data-tools__op_token_balance",
"mcp__agent-data-tools__op_token_info",
"mcp__agent-data-tools__op_block",
"mcp__agent-data-tools__op_gas",
"mcp__agent-data-tools__op_tx",
"mcp__agent-data-tools__op_receipt",
"mcp__agent-data-tools__op_is_contract",
"mcp__agent-data-tools__op_token_transfers",
"mcp__agent-data-tools__polygon_balance",
"mcp__agent-data-tools__polygon_token_balance",
"mcp__agent-data-tools__polygon_token_info",
"mcp__agent-data-tools__polygon_block",
"mcp__agent-data-tools__polygon_gas",
"mcp__agent-data-tools__polygon_tx",
"mcp__agent-data-tools__polygon_receipt",
"mcp__agent-data-tools__polygon_is_contract",
"mcp__agent-data-tools__polygon_token_transfers",
"mcp__agent-data-tools__price_token",
"mcp__agent-data-tools__price_tokens",
"mcp__agent-data-tools__wallet_portfolio",
"mcp__agent-data-tools__pdf_text",
"mcp__agent-data-tools__extract_rendered",
"mcp__agent-data-tools__company",
"mcp__agent-data-tools__sanctions_check",
"mcp__agent-data-tools__text_prompt_injection",
"mcp__agent-data-tools__dockerfile_lint",
"mcp__agent-data-tools__check_counterparty",
"mcp__agent-data-tools__x402_check",
"mcp__agent-data-tools__json_format",
"mcp__agent-data-tools__json_repair",
"mcp__agent-data-tools__json_to_csv",
"mcp__agent-data-tools__csv_to_json",
"mcp__agent-data-tools__base64_encode",
"mcp__agent-data-tools__base64_decode",
"mcp__agent-data-tools__url_encode",
"mcp__agent-data-tools__url_decode",
"mcp__agent-data-tools__url_parse",
"mcp__agent-data-tools__hash",
"mcp__agent-data-tools__hmac",
"mcp__agent-data-tools__uuid",
"mcp__agent-data-tools__slug",
"mcp__agent-data-tools__case",
"mcp__agent-data-tools__cron_next",
"mcp__agent-data-tools__date_add",
"mcp__agent-data-tools__date_info",
"mcp__agent-data-tools__unix",
"mcp__agent-data-tools__units_convert",
"mcp__agent-data-tools__number_words",
"mcp__agent-data-tools__number_roman",
"mcp__agent-data-tools__color",
"mcp__agent-data-tools__color_contrast",
"mcp__agent-data-tools__ip_cidr",
"mcp__agent-data-tools__ip_info",
"mcp__agent-data-tools__jwt_decode",
"mcp__agent-data-tools__markdown_to_html",
"mcp__agent-data-tools__html_to_text",
"mcp__agent-data-tools__mime",
"mcp__agent-data-tools__holidays",
"mcp__agent-data-tools__wikipedia",
"mcp__agent-data-tools__dictionary",
"mcp__agent-data-tools__earthquakes",
"mcp__agent-data-tools__sun",
"mcp__agent-data-tools__moon",
"mcp__agent-data-tools__country",
"mcp__agent-data-tools__npm_downloads",
"mcp__agent-data-tools__pypi",
"mcp__agent-data-tools__sec_filings",
"mcp__agent-data-tools__hyperliquid_market",
"mcp__agent-data-tools__coin",
"mcp__agent-data-tools__dice",
"mcp__agent-data-tools__random_number",
"mcp__agent-data-tools__random_pick",
"mcp__agent-data-tools__random_shuffle",
"mcp__agent-data-tools__random_teams",
"mcp__agent-data-tools__magic_8_ball",
"mcp__agent-data-tools__random_password",
"mcp__agent-data-tools__random_color",
"mcp__agent-data-tools__yes_no",
"mcp__agent-data-tools__keccak",
"mcp__agent-data-tools__network",
"mcp__agent-data-tools__ai_chat",
"mcp__agent-data-tools__ai_chat_large",
"mcp__agent-data-tools__ai_sentiment",
"mcp__agent-data-tools__ai_classify",
"mcp__agent-data-tools__ai_keywords",
"mcp__agent-data-tools__ai_rewrite",
"mcp__agent-data-tools__ai_outline",
"mcp__agent-data-tools__ai_translate",
"mcp__agent-data-tools__ai_embed",
"mcp__agent-data-tools__ai_extract_json",
"mcp__agent-data-tools__ai_speech"
],
"deny": [
"mcp__agent-data-tools__json_minify"
]
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as agent-data-tools. Review it before you use it.
