Skip to content

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.

Deletes · 1Final · 12Changes · 130

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

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/mcp

Findings

Matches of fixed checks, with the text they matched.

63 warn
  • Warntoken

    The description contains a 42-character base64 string.

    Matched text

    description: "...p. Example: address=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913. Price $0.01/call v..."

    What this check looks for
  • The description contains a 42-character base64 string.

    Matched text

    description: "...y. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.02/call v..."

    What this check looks for
  • The description contains a 42-character base64 string.

    Matched text

    description: "...t. Example: address=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913. Price $0.02/call v..."

    What this check looks for
  • The description contains a 42-character base64 string.

    Matched text

    description: "...t. Example: address=0x98c7A2338336d2d354663246F64676009c7bDa97. Price $0.03/call v..."

    What this check looks for
  • Warnfx

    The server marks "fx" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The input addresses people (input.to): what it sends cannot be taken back.

    What this check looks for
  • Warntime

    The server marks "time" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The input addresses people (input.to): what it sends cannot be taken back.

    What this check looks for
Show 57 more findings
  • The description contains a 42-character base64 string.

    Matched text

    description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."

    What this check looks for
  • The description contains a 42-character base64 string.

    Matched text

    description: "...ged. Example: token=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913. Price $0.003/call..."

    What this check looks for
  • The description contains a 42-character base64 string.

    Matched text

    description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."

    What this check looks for
  • The description contains a 42-character base64 string.

    Matched text

    description: "...d. Example: address=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913. Price $0.003/call..."

    What this check looks for
  • The description contains a 42-character base64 string.

    Matched text

    description: "...t. Example: address=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913. Price $0.003/call..."

    What this check looks for
  • The description contains a 42-character base64 string.

    Matched text

    description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."

    What this check looks for
  • The server marks "base_token_transfers" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

    Matched 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.

    What this check looks for
  • The description contains a 42-character base64 string.

    Matched text

    description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."

    What this check looks for
  • The description contains a 42-character base64 string.

    Matched text

    description: "...ged. Example: token=0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48. Price $0.003/call..."

    What this check looks for
  • The description contains a 42-character base64 string.

    Matched text

    description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."

    What this check looks for
  • The description contains a 42-character base64 string.

    Matched text

    description: "...d. Example: address=0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48. Price $0.003/call..."

    What this check looks for
  • The description contains a 42-character base64 string.

    Matched text

    description: "...t. Example: address=0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48. Price $0.003/call..."

    What this check looks for
  • The description contains a 42-character base64 string.

    Matched text

    description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."

    What this check looks for
  • The server marks "eth_token_transfers" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

    Matched 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.

    What this check looks for
  • The description contains a 42-character base64 string.

    Matched text

    description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."

    What this check looks for
  • The description contains a 42-character base64 string.

    Matched text

    description: "...ged. Example: token=0xaf88d065e77c8cC2239327C5EDb3A432268e5831. Price $0.003/call..."

    What this check looks for
  • The description contains a 42-character base64 string.

    Matched text

    description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."

    What this check looks for
  • The description contains a 42-character base64 string.

    Matched text

    description: "...d. Example: address=0xaf88d065e77c8cC2239327C5EDb3A432268e5831. Price $0.003/call..."

    What this check looks for
  • The description contains a 42-character base64 string.

    Matched text

    description: "...t. Example: address=0xaf88d065e77c8cC2239327C5EDb3A432268e5831. Price $0.003/call..."

    What this check looks for
  • The description contains a 42-character base64 string.

    Matched text

    description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."

    What this check looks for
  • The server marks "arb_token_transfers" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

    Matched 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.

    What this check looks for
  • The description contains a 42-character base64 string.

    Matched text

    description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."

    What this check looks for
  • The description contains a 42-character base64 string.

    Matched text

    description: "...ged. Example: token=0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85. Price $0.003/call..."

    What this check looks for
  • The description contains a 42-character base64 string.

    Matched text

    description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."

    What this check looks for
  • The description contains a 42-character base64 string.

    Matched text

    description: "...d. Example: address=0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85. Price $0.003/call..."

    What this check looks for
  • The description contains a 42-character base64 string.

    Matched text

    description: "...t. Example: address=0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85. Price $0.003/call..."

    What this check looks for
  • The description contains a 42-character base64 string.

    Matched text

    description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."

    What this check looks for
  • The server marks "op_token_transfers" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

    Matched 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.

    What this check looks for
  • The description contains a 42-character base64 string.

    Matched text

    description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."

    What this check looks for
  • The description contains a 42-character base64 string.

    Matched text

    description: "...ged. Example: token=0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359. Price $0.003/call..."

    What this check looks for
  • The description contains a 42-character base64 string.

    Matched text

    description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."

    What this check looks for
  • The description contains a 42-character base64 string.

    Matched text

    description: "...d. Example: address=0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359. Price $0.003/call..."

    What this check looks for
  • The description contains a 42-character base64 string.

    Matched text

    description: "...t. Example: address=0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359. Price $0.003/call..."

    What this check looks for
  • The description contains a 42-character base64 string.

    Matched text

    description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."

    What this check looks for
  • The server marks "polygon_token_transfers" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

    Matched 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.

    What this check looks for
  • The description contains a 42-character base64 string.

    Matched text

    description: "...l. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.005/call..."

    What this check looks for
  • The description contains a 42-character base64 string.

    Matched text

    description: "...g. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.005/call..."

    What this check looks for
  • The description contains a 42-character base64 string.

    Matched text

    description: "...y. Example: address=0x098B716B8Aaf21512996dC57EB0615e2383E2f96. Price $0.005/call..."

    What this check looks for
  • The description contains a 42-character base64 string.

    Matched text

    description: "...s. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.03/call v..."

    What this check looks for
  • The server marks "json_minify" read-only (readOnlyHint: true), and its own name, description or input give the class "destructive".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The description's first verb is "remove": a word for removing or ending something.

    What this check looks for
  • The server marks "json_minify" not destructive (destructiveHint: false), and its own name, description or input give the class "destructive".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The description's first verb is "remove": a word for removing or ending something.

    What this check looks for
  • The server marks "json_to_csv" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The description's first verb is "convert": a word for a change.

    What this check looks for
  • The server marks "csv_to_json" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The description's first verb is "convert": a word for a change.

    What this check looks for
  • Warnuuid

    The server marks "uuid" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The description's first verb is "generate": a word for a change.

    What this check looks for
  • Warncase

    The server marks "case" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The description's first verb is "convert": a word for a change.

    What this check looks for
  • The server marks "date_add" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "date_add" says "add": a word for a change.

    What this check looks for
  • Warnunix

    The server marks "unix" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The description's first verb is "convert": a word for a change.

    What this check looks for
  • The server marks "units_convert" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "units_convert" says "convert": a word for a change.

    What this check looks for
  • The server marks "number_words" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The description's first verb is "write": a word for a change.

    What this check looks for
  • The server marks "number_roman" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The description's first verb is "convert": a word for a change.

    What this check looks for
  • Warncolor

    The server marks "color" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The description's first verb is "convert": a word for a change.

    What this check looks for
  • The description contains a 40-character base64 string. It decodes to text: "{"sub":"123","exp":1792281600}".

    Matched text

    description: "...iIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjMiLCJleHAiOjE3OTIyODE2MDB9.sig. Price $0.003/c..."

    What this check looks for
  • The server marks "markdown_to_html" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The description's first verb is "convert": a word for a change.

    What this check looks for
  • The server marks "random_password" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The description's first verb is "generate": a word for a change.

    What this check looks for
  • The server marks "ai_chat" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

    Matched 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.

    What this check looks for
  • The server marks "ai_chat_large" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

    Matched 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.

    What this check looks for
  • The server marks "ai_translate" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The input addresses people (input.to): what it sends cannot be taken back.

    What this check looks for

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".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The description's first verb is "remove": a word for removing or ending something.

      What this check looks for
    • Warn

      The server marks "json_minify" not destructive (destructiveHint: false), and its own name, description or input give the class "destructive".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The description's first verb is "remove": a word for removing or ending something.

      What this check looks for
    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".

      Matched 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.

      What this check looks for
    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".

      Matched 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.

      What this check looks for
    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".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The input addresses people (input.to): what it sends cannot be taken back.

      What this check looks for
    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.

      Matched text

      description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."

      What this check looks for
    • Warn

      The server marks "arb_token_transfers" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

      Matched 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.

      What this check looks for
    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.

      Matched text

      description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."

      What this check looks for
    • Warn

      The server marks "base_token_transfers" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

      Matched 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.

      What this check looks for
    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".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The description's first verb is "convert": a word for a change.

      What this check looks for
    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.

      Matched text

      description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."

      What this check looks for
    • Warn

      The server marks "eth_token_transfers" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

      Matched 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.

      What this check looks for
    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".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The input addresses people (input.to): what it sends cannot be taken back.

      What this check looks for
    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.

      Matched text

      description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."

      What this check looks for
    • Warn

      The server marks "op_token_transfers" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

      Matched 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.

      What this check looks for
    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.

      Matched text

      description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."

      What this check looks for
    • Warn

      The server marks "polygon_token_transfers" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

      Matched 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.

      What this check looks for
    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".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The input addresses people (input.to): what it sends cannot be taken back.

      What this check looks for
    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".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "units_convert" says "convert": a word for a change.

      What this check looks for
    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.

      Matched text

      description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."

      What this check looks for
    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.

      Matched text

      description: "...d. Example: address=0xaf88d065e77c8cC2239327C5EDb3A432268e5831. Price $0.003/call..."

      What this check looks for
    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.

      Matched text

      description: "...ged. Example: token=0xaf88d065e77c8cC2239327C5EDb3A432268e5831. Price $0.003/call..."

      What this check looks for
    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.

      Matched text

      description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."

      What this check looks for
    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.

      Matched text

      description: "...d. Example: address=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913. Price $0.003/call..."

      What this check looks for
    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.

      Matched text

      description: "...ged. Example: token=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913. Price $0.003/call..."

      What this check looks for
    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.

      Matched text

      description: "...s. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.03/call v..."

      What this check looks for
    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".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The description's first verb is "convert": a word for a change.

      What this check looks for
    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.

      Matched text

      description: "...t. Example: address=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913. Price $0.02/call v..."

      What this check looks for
    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".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The description's first verb is "convert": a word for a change.

      What this check looks for
    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".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "date_add" says "add": a word for a change.

      What this check looks for
    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.

      Matched text

      description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."

      What this check looks for
    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.

      Matched text

      description: "...d. Example: address=0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48. Price $0.003/call..."

      What this check looks for
    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.

      Matched text

      description: "...ged. Example: token=0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48. Price $0.003/call..."

      What this check looks for
    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 &amp; 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".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The description's first verb is "convert": a word for a change.

      What this check looks for
    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}".

      Matched text

      description: "...iIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjMiLCJleHAiOjE3OTIyODE2MDB9.sig. Price $0.003/c..."

      What this check looks for
    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.

      Matched text

      description: "...t. Example: address=0x98c7A2338336d2d354663246F64676009c7bDa97. Price $0.03/call v..."

      What this check looks for
    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".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The description's first verb is "convert": a word for a change.

      What this check looks for
    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".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The description's first verb is "convert": a word for a change.

      What this check looks for
    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".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The description's first verb is "write": a word for a change.

      What this check looks for
    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.

      Matched text

      description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."

      What this check looks for
    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.

      Matched text

      description: "...d. Example: address=0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85. Price $0.003/call..."

      What this check looks for
    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.

      Matched text

      description: "...ged. Example: token=0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85. Price $0.003/call..."

      What this check looks for
    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.

      Matched text

      description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."

      What this check looks for
    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.

      Matched text

      description: "...d. Example: address=0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359. Price $0.003/call..."

      What this check looks for
    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.

      Matched text

      description: "...ged. Example: token=0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359. Price $0.003/call..."

      What this check looks for
    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".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The description's first verb is "generate": a word for a change.

      What this check looks for
    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.

      Matched text

      description: "...y. Example: address=0x098B716B8Aaf21512996dC57EB0615e2383E2f96. Price $0.005/call..."

      What this check looks for
    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.

      Matched text

      description: "...p. Example: address=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913. Price $0.01/call v..."

      What this check looks for
    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".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The description's first verb is "convert": a word for a change.

      What this check looks for
    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".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The description's first verb is "generate": a word for a change.

      What this check looks for
    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.

      Matched text

      description: "...y. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.02/call v..."

      What this check looks for
    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.

      Matched text

      description: "...g. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.005/call..."

      What this check looks for
    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.

      Matched text

      description: "...t. Example: address=0xaf88d065e77c8cC2239327C5EDb3A432268e5831. Price $0.003/call..."

      What this check looks for
    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.

      Matched text

      description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."

      What this check looks for
    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.

      Matched text

      description: "...t. Example: address=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913. Price $0.003/call..."

      What this check looks for
    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.

      Matched text

      description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."

      What this check looks for
    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.

      Matched text

      description: "...t. Example: address=0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48. Price $0.003/call..."

      What this check looks for
    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.

      Matched text

      description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."

      What this check looks for
    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.

      Matched text

      description: "...t. Example: address=0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85. Price $0.003/call..."

      What this check looks for
    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.

      Matched text

      description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."

      What this check looks for
    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.

      Matched text

      description: "...t. Example: address=0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359. Price $0.003/call..."

      What this check looks for
    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.

      Matched text

      description: "...d. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call..."

      What this check looks for
    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.

      Matched text

      description: "...l. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.005/call..."

      What this check looks for
    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/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.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.