Skip to content

AgentIndex x402

by agentindex.world · remote · no sign-in to list tools · v1.2.0 · published by world.agentindex

Jev-powered decisions, web search, PDF/web to Markdown, summarize. From $0.001, no API key.

Final · 5Changes · 98

143 tools: 5 do something that can't be undone, 98 change things and 40 only read.

Scanned Oct 21, 2026

1 check matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http x402 https://x402.agentindex.world/mcp/

Findings

Matches of fixed checks, with the text they matched.

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

    Matched text

    annotations: {"readOnlyHint":true,"idempotentHint":true,"openWorldHint":true}; The name "can_pay" says "pay": a word that usually means money moves, which 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.

143 tools

Can't be undone 5Claude Code: ask
  • base_callGeneric read-only eth_call against any Base mainnet contract - pass raw calldata, get the raw return data back.No findings

    Why it is in this group

    • The name "base_call" says "call": a word for a change.
    • The input addresses people (input.payload.to): what it sends cannot be taken back.
    Description, as the server wrote it
    Generic read-only eth_call against any Base mainnet contract - pass raw calldata, get the raw return data back.
  • base_erc20-transfersERC20 Transfer event logs for one token over a Base mainnet block range (max 2,000 blocks) via eth_getLogs.No findings

    Why it is in this group

    • The name "base_erc20-transfers" says "transfer": a word for a change that another call does not undo.
    Description, as the server wrote it
    ERC20 Transfer event logs for one token over a Base mainnet block range (max 2,000 blocks) via eth_getLogs.
  • base_estimate-gasGas estimate for a Base mainnet swap or any other call (to/from/value/data) via eth_estimateGas, without broadcasting a transaction.No findings

    Why it is in this group

    • The input addresses people (input.payload.to): what it sends cannot be taken back.
    Description, as the server wrote it
    Gas estimate for a Base mainnet swap or any other call (to/from/value/data) via eth_estimateGas, without broadcasting a transaction.
  • base_simulateSimulate a Base mainnet transaction before sending it - will it succeed, estimated gas, and the decoded revert reason if it would fail.No findings

    Why it is in this group

    • The input addresses people (input.payload.to): what it sends cannot be taken back.
    Description, as the server wrote it
    Simulate a Base mainnet transaction before sending it - will it succeed, estimated gas, and the decoded revert reason if it would fail.
  • can_payCheck whether a Base wallet holds enough USDC to pay an x402 amount (default $0.001).1 finding

    Why it is in this group

    • The name "can_pay" says "pay": a word that usually means money moves, which cannot be taken back.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

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

      Matched text

      annotations: {"readOnlyHint":true,"idempotentHint":true,"openWorldHint":true}; The name "can_pay" says "pay": a word that usually means money moves, which cannot be taken back.

      What this check looks for
    Description, as the server wrote it
    Check whether a Base wallet holds enough USDC to pay an x402 amount (default $0.001). Returns balance, can_pay, shortfall. The checklist agents run before spending. Try GET /can-pay/sample.

    Annotations the server declares

    • idempotentHint: true
    • openWorldHint: true
    • readOnlyHint: true
Changes things 98Claude Code: ask
  • agent_healthFresh operational audit of any public agent or paid API: reachability, latency, HTTP status, x402 challenge, price/network/payTo, OpenAPI, agent card and MCP manifest.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
    Fresh operational audit of any public agent or paid API: reachability, latency, HTTP status, x402 challenge, price/network/payTo, OpenAPI, agent card and MCP manifest. Returns a 0-100 score, verdict and issues. Try GET /agent-health/sample.

    Annotations the server declares

    • idempotentHint: true
    • openWorldHint: true
    • readOnlyHint: true
  • ask_model437 models, no account, no API key, pay per call in USDC - OpenAI-compatible chat completions and AI inference gateway (Claude, GPT, Gemini, Llama, Mistral and more in one endpoint…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
    437 models, no account, no API key, pay per call in USDC - OpenAI-compatible chat completions and AI inference gateway (Claude, GPT, Gemini, Llama, Mistral and more in one endpoint). Price: from $0.001, computed from your max_tokens × model rate × 1.10 (you sign a ceiling; unused tokens are not refunded). 20s server-side timeout - never charged if it fires; set your client timeout to 30s. Try GET /v1/chat/completions/sample.

    Annotations the server declares

    • idempotentHint: false
    • openWorldHint: true
    • readOnlyHint: true
  • base_allowanceERC20 allowance on Base mainnet via RPC: how much a spender is approved to move from an owner balance, read with allowance(owner,spender) eth_call.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.
    Description, as the server wrote it
    ERC20 allowance on Base mainnet via RPC: how much a spender is approved to move from an owner balance, read with allowance(owner,spender) eth_call.
  • base_block-numberLatest Base mainnet block height via eth_blockNumber - the current chain tip.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.
    Description, as the server wrote it
    Latest Base mainnet block height via eth_blockNumber - the current chain tip.
  • base_can-sellCan I sell this token?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.
    Description, as the server wrote it
    Can I sell this token? Honeypot check that simulates a real buy then a real sell of a Base mainnet token in one atomic on-chain call via Uniswap V2 - if the sell reverts, that is a honeypot, reported with the exact decoded reason. Factual, never predictive.
  • base_chain-idBase mainnet chain ID (EIP-155) via eth_chainId - confirm which network you're actually talking to.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.
    Description, as the server wrote it
    Base mainnet chain ID (EIP-155) via eth_chainId - confirm which network you're actually talking to.
  • base_codeCheck whether a Base mainnet address is a contract via eth_getCode - returns bytecode size, zero for an externally-owned account.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.
    Description, as the server wrote it
    Check whether a Base mainnet address is a contract via eth_getCode - returns bytecode size, zero for an externally-owned account.
  • base_contractContract introspection on Base mainnet - is it a contract, bytecode size, best-effort owner(), and whether it's a proxy.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.
    Description, as the server wrote it
    Contract introspection on Base mainnet - is it a contract, bytecode size, best-effort owner(), and whether it's a proxy.
  • base_erc1155-balanceERC1155 multi-token balance for a wallet and token id on Base mainnet via balanceOf(address,uint256).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.
    Description, as the server wrote it
    ERC1155 multi-token balance for a wallet and token id on Base mainnet via balanceOf(address,uint256).
  • base_erc20-balanceERC20 token balance for a wallet on Base mainnet - balanceOf() and decimals() batched into one Multicall3 round trip.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.
    Description, as the server wrote it
    ERC20 token balance for a wallet on Base mainnet - balanceOf() and decimals() batched into one Multicall3 round trip.
  • base_erc721-tokensNFT holdings for a wallet in one Base ERC721 collection, owned token IDs via ERC721Enumerable (tokenOfOwnerByIndex) - up to 20 tokens, requires the collection to implement Enumerab…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.
    Description, as the server wrote it
    NFT holdings for a wallet in one Base ERC721 collection, owned token IDs via ERC721Enumerable (tokenOfOwnerByIndex) - up to 20 tokens, requires the collection to implement Enumerable.
  • base_eventsSmart contract event logs on Base mainnet (Base contract events) via eth_getLogs - filter by contract address and up to 4 topics, up to 2,000 blocks, raw logs with topics, data, bl…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.
    Description, as the server wrote it
    Smart contract event logs on Base mainnet (Base contract events) via eth_getLogs - filter by contract address and up to 4 topics, up to 2,000 blocks, raw logs with topics, data, block and tx hash.
  • base_live-balanceNative ETH balance plus up to 20 ERC20 token balances for one wallet on Base mainnet, in a single Multicall3 round trip regardless of token count.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.
    Description, as the server wrote it
    Native ETH balance plus up to 20 ERC20 token balances for one wallet on Base mainnet, in a single Multicall3 round trip regardless of token count.
  • base_network-infoBase mainnet network info in one call: chain ID, block height, and current gas price (wei and gwei).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.
    Description, as the server wrote it
    Base mainnet network info in one call: chain ID, block height, and current gas price (wei and gwei).
  • base_nft-metadataNFT metadata URI for an ERC721 token on Base mainnet via tokenURI - the on-chain pointer (IPFS, HTTP, or data URI), not a fetch of the document itself.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.
    Description, as the server wrote it
    NFT metadata URI for an ERC721 token on Base mainnet via tokenURI - the on-chain pointer (IPFS, HTTP, or data URI), not a fetch of the document itself.
  • base_nft-ownerWho owns this NFT?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.
    Description, as the server wrote it
    Who owns this NFT? ERC721 owner lookup on Base mainnet via ownerOf(tokenId).
  • base_nonceNext transaction nonce for any Base mainnet wallet via eth_getTransactionCount - how many transactions it has sent.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.
    Description, as the server wrote it
    Next transaction nonce for any Base mainnet wallet via eth_getTransactionCount - how many transactions it has sent.
  • base_pendingThe current pending Base mainnet block (mempool, not yet mined) - unconfirmed transactions via eth_getBlockByNumber('pending').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.
    Description, as the server wrote it
    The current pending Base mainnet block (mempool, not yet mined) - unconfirmed transactions via eth_getBlockByNumber('pending').
  • base_proxyIs this Base contract an upgradeable proxy?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.
    Description, as the server wrote it
    Is this Base contract an upgradeable proxy? Proxy contract detection for EIP-1967 (transparent/UUPS), beacon, or EIP-1822 patterns, returning the implementation address.
  • base_quoteSlippage estimate, swap quote, and best DEX price on Base - compares Uniswap v2, Uniswap v3, and Aerodrome on-chain via Multicall3, returns amount received, chosen path, and 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.
    Description, as the server wrote it
    Slippage estimate, swap quote, and best DEX price on Base - compares Uniswap v2, Uniswap v3, and Aerodrome on-chain via Multicall3, returns amount received, chosen path, and price impact.
  • base_receiptTransaction receipt via eth_getTransactionReceipt - status, gas used, and event logs for a mined Base mainnet transaction.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.
    Description, as the server wrote it
    Transaction receipt via eth_getTransactionReceipt - status, gas used, and event logs for a mined Base mainnet transaction.
  • base_total-supplyTotal supply for an ERC20 (normalized by decimals()) or ERC721 (raw count, no decimals) contract on Base mainnet.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.
    Description, as the server wrote it
    Total supply for an ERC20 (normalized by decimals()) or ERC721 (raw count, no decimals) contract on Base mainnet.
  • base_txBase transaction lookup by hash - sender, recipient, value, calldata, gas and block, live from Base mainnet via eth_getTransactionByHash.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.
    Description, as the server wrote it
    Base transaction lookup by hash - sender, recipient, value, calldata, gas and block, live from Base mainnet via eth_getTransactionByHash.
  • classifyText classification with your own custom labels (2-20) - categorize a support ticket, a review, or any text into the best-fitting label, with a confidence score and an alternate la…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 classification with your own custom labels (2-20) - categorize a support ticket, a review, or any text into the best-fitting label, with a confidence score and an alternate label. Powered by Jev, falling back to a Groq-hosted LLM if Jev is slow or unavailable - under 4.5s guaranteed. Try GET /classify/sample.

    Annotations the server declares

    • idempotentHint: true
    • openWorldHint: true
    • readOnlyHint: true
  • company_leadsB2B lead search: give a sector and a country (city optional), get back people currently working at matching companies - name, title, a real work email, and their company's name, do…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.
    Description, as the server wrote it
    B2B lead search: give a sector and a country (city optional), get back people currently working at matching companies - name, title, a real work email, and their company's name, domain (when known) and employee count. Async job - POST creates it, free status polling and result retrieval. Up to 25 leads per call. Try GET /company-leads/sample.

    Annotations the server declares

    • idempotentHint: false
    • openWorldHint: true
    • readOnlyHint: false
  • contact_kairosWrite to Kairos and optionally DECLARE yourself (what_i_do, endpoint, skills) — free, no payment.No findings

    Why it is in this group

    • The description's first verb is "write": a word for a change.
    Description, as the server wrote it
    Write to Kairos and optionally DECLARE yourself (what_i_do, endpoint, skills) — free, no payment. Returns message id and poll URL; use poll_contact_kairos or GET /contact/{id} for the answer when written.
  • cryptoLive spot prices for crypto coins (BTC, ETH, SOL, ...) in USD or another fiat, with 24h change.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 spot prices for crypto coins (BTC, ETH, SOL, ...) in USD or another fiat, with 24h change. Accepts tickers or CoinGecko ids. Try GET /crypto/sample.

    Annotations the server declares

    • idempotentHint: true
    • openWorldHint: true
    • readOnlyHint: true
  • decideAsk up to 20 typed yes/no, multiple-choice or ordinal-scale questions about one shared piece of context in a single call - each answered with a real probability (Jev decision primi…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 up to 20 typed yes/no, multiple-choice or ordinal-scale questions about one shared piece of context in a single call - each answered with a real probability (Jev decision primitives), not generated text. Powered by Jev (TypeSafe System One). $0.001 per call, no OpenRouter or TypeSafe account needed. Try GET /decide/sample.

    Annotations the server declares

    • idempotentHint: true
    • openWorldHint: false
    • readOnlyHint: true
  • detect_languageDetect the language of a piece of text - free, no payment.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.
    Description, as the server wrote it
    Detect the language of a piece of text - free, no payment. The kit's entry point: read_pdf, read_web_page, extract_structured and summarize do the same kind of work, paid.
  • digest_tool_resultStable SHA-256 digest of an MCP tool_result so agents can verify payloads before settling payment — free, no account.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.
    Description, as the server wrote it
    Stable SHA-256 digest of an MCP tool_result so agents can verify payloads before settling payment — free, no account.
  • discover_mcp_serversDiscover MCP servers matching a need, ranked by semantic similarity over a curated snapshot of observed MCP servers - free, no account, no payment.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.
    Description, as the server wrote it
    Discover MCP servers matching a need, ranked by semantic similarity over a curated snapshot of observed MCP servers - free, no account, no payment. Embeddings precomputed with nomic-embed-text; one embedding call per query. Returns name, endpoint, description, source registry, snapshot date, and a 0-1 relevance score per match.
  • due_diligence3 checks in 1 call: token-risk + wallet-intelligence + agent-health, the three questions an agent asks before trusting a new counterparty - is the token safe, is the wallet funded …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
    3 checks in 1 call: token-risk + wallet-intelligence + agent-health, the three questions an agent asks before trusting a new counterparty - is the token safe, is the wallet funded and payment-ready, is the agent's own service actually live. One overall_verdict plus each check's full result. address/token/url are each optional (give whichever you have) - an omitted one is marked skipped, never guessed. Try GET /due-diligence/sample.

    Annotations the server declares

    • idempotentHint: true
    • openWorldHint: true
    • readOnlyHint: true
  • encoding_detectDetect whether hex-encoded bytes are ASCII, UTF-8, or UTF-16 with a BOM, by decode-validity and BOM presence (not statistical language detection).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.
    Description, as the server wrote it
    Detect whether hex-encoded bytes are ASCII, UTF-8, or UTF-16 with a BOM, by decode-validity and BOM presence (not statistical language detection).
  • encoding_transcodeConvert text between utf-8, base64, hex, URL-percent-encoding and ascii representations.No findings

    Why it is in this group

    • The description's first verb is "convert": a word for a change.
    Description, as the server wrote it
    Convert text between utf-8, base64, hex, URL-percent-encoding and ascii representations.
  • extract_structuredExtract structured data from a URL or raw text into strict JSON matching a schema you provide.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
    Extract structured data from a URL or raw text into strict JSON matching a schema you provide. Fields the content doesn't support come back null - never an invented or approximate value, and an unmatchable schema returns an explicit error. Try GET /extract/sample. Part of the AgentIndex content kit (pdf, web-read, extract, summarize, detect-language) - see GET /capabilities.

    Annotations the server declares

    • idempotentHint: true
    • openWorldHint: true
    • readOnlyHint: true
  • fact_checkFact-check verdict written by Claude Haiku 5.5 (Anthropic) from real web sources: supported/contradicted/mixed/unverifiable, each source with its stance (supports/contradicts/neutr…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
    Fact-check verdict written by Claude Haiku 5.5 (Anthropic) from real web sources: supported/contradicted/mixed/unverifiable, each source with its stance (supports/contradicts/neutral). Answer in a few seconds. Try GET /fact-check/sample. Independently monitored: lumierepaycheck.org/e?url=https://x402.agentindex.world/fact-check

    Annotations the server declares

    • idempotentHint: true
    • openWorldHint: true
    • readOnlyHint: true
  • fraction_simplifySimplify a fraction to lowest terms and return its decimal value.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.
    Description, as the server wrote it
    Simplify a fraction to lowest terms and return its decimal value.
  • geo_bboxBounding box (min/max lat and lon) enclosing a list of points.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.
    Description, as the server wrote it
    Bounding box (min/max lat and lon) enclosing a list of points.
  • geo_bearingInitial compass bearing (0-360 degrees, clockwise from true north) from point 1 to point 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.
    Description, as the server wrote it
    Initial compass bearing (0-360 degrees, clockwise from true north) from point 1 to point 2.
  • geo_distanceGreat-circle distance between two lat/lon points (haversine formula).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.
    Description, as the server wrote it
    Great-circle distance between two lat/lon points (haversine formula). Returns km, mi or nm.
  • geo_dmsConvert decimal degrees to degrees/minutes/seconds, or DMS back to decimal degrees.No findings

    Why it is in this group

    • The description's first verb is "convert": a word for a change.
    Description, as the server wrote it
    Convert decimal degrees to degrees/minutes/seconds, or DMS back to decimal degrees.
  • geo_geohashEncode a lat/lon point into a geohash string (precision 1-12 characters).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.
    Description, as the server wrote it
    Encode a lat/lon point into a geohash string (precision 1-12 characters).
  • geo_midpointGeographic (great-circle) midpoint between two lat/lon points.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.
    Description, as the server wrote it
    Geographic (great-circle) midpoint between two lat/lon points.
  • geo_point-in-polygonRay-casting point-in-polygon test (planar approximation - fine for city/region-scale polygons).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.
    Description, as the server wrote it
    Ray-casting point-in-polygon test (planar approximation - fine for city/region-scale polygons).
  • guardAsk whether a tool call should run automatically, need human confirmation, or be denied, given the user's request - returns allow/ask/deny with a probability.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 whether a tool call should run automatically, need human confirmation, or be denied, given the user's request - returns allow/ask/deny with a probability. Advisory only: like any LLM-based judge it is sensitive to prompt injection in the request or tool call, so the calling agent must keep the final decision, not delegate it outright. Powered by Jev (TypeSafe System One). $0.001 per call, no OpenRouter or TypeSafe account needed. Try GET /guard/sample.

    Annotations the server declares

    • idempotentHint: true
    • openWorldHint: false
    • readOnlyHint: true
  • hash_hashCompute an MD5, SHA-1, SHA-256 or SHA-512 hex digest of 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.
    Description, as the server wrote it
    Compute an MD5, SHA-1, SHA-256 or SHA-512 hex digest of text.
  • hash_hmacCompute an HMAC (MD5, SHA-1, SHA-256 or SHA-512) of text with a given key.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.
    Description, as the server wrote it
    Compute an HMAC (MD5, SHA-1, SHA-256 or SHA-512) of text with a given key.
  • intentIntent detection: classify text as a question, request, complaint, compliment, or other, with a confidence score and an alternate label.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
    Intent detection: classify text as a question, request, complaint, compliment, or other, with a confidence score and an alternate label. Powered by Jev, with an automatic Groq-hosted LLM fallback if Jev is slow or unavailable - under 4.5s guaranteed. Try GET /intent/sample.

    Annotations the server declares

    • idempotentHint: true
    • openWorldHint: true
    • readOnlyHint: true
  • jobsMulti-query web research, read and synthesized into one sourced JSON brief in a single call - what would otherwise cost an agent twenty calls and its whole context window.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.
    Description, as the server wrote it
    Multi-query web research, read and synthesized into one sourced JSON brief in a single call - what would otherwise cost an agent twenty calls and its whole context window. Free status polling and result retrieval. Try GET /jobs/sample.

    Annotations the server declares

    • idempotentHint: false
    • openWorldHint: true
    • readOnlyHint: false
  • json_flattenFlatten a nested JSON document into single-level dotted-path 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.
    Description, as the server wrote it
    Flatten a nested JSON document into single-level dotted-path keys.
  • json_schema-inferInfer a basic JSON Schema (types, object properties, array item type) from an example document.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.
    Description, as the server wrote it
    Infer a basic JSON Schema (types, object properties, array item type) from an example document.
  • languageLanguage detection: identify which of 20 common languages (or "other") a text is written in, with a confidence score.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
    Language detection: identify which of 20 common languages (or "other") a text is written in, with a confidence score. Powered by Jev, with an automatic Groq-hosted LLM fallback if Jev is slow or unavailable - under 4.5s guaranteed. Try GET /language/sample.

    Annotations the server declares

    • idempotentHint: true
    • openWorldHint: true
    • readOnlyHint: true
  • llm_claude_sonnetClaude Sonnet API - pay per call, no API key.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
    Claude Sonnet API - pay per call, no API key. OpenAI-format chat completions on anthropic/claude-sonnet-5.5, pinned to Anthropic's own OpenRouter endpoint for reliability. You sign a fixed price computed from your max_tokens; unused tokens are not refunded. 20s server-side timeout - never charged if it fires; set your client timeout to 30s. Try GET /llm/claude-sonnet/sample.

    Annotations the server declares

    • idempotentHint: false
    • openWorldHint: true
    • readOnlyHint: true
  • llm_gpt_miniGPT Mini API - pay per call, no API key.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
    GPT Mini API - pay per call, no API key. OpenAI-format chat completions on openai/gpt-5.4-mini, pinned to OpenAI's own OpenRouter endpoint for reliability. You sign a fixed price computed from your max_tokens; unused tokens are not refunded. 20s server-side timeout with an automatic 2nd-provider retry if the first is slow - never charged if both miss; set your client timeout to 30s. Try GET /llm/gpt-mini/sample.

    Annotations the server declares

    • idempotentHint: false
    • openWorldHint: true
    • readOnlyHint: true
  • llm_llamaLlama API - pay per call, no API key.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
    Llama API - pay per call, no API key. OpenAI-format chat completions on meta-llama/llama-4-maverick, pinned to DeepInfra for reliability. You sign a fixed price computed from your max_tokens; unused tokens are not refunded. 20s server-side timeout - never charged if it fires; set your client timeout to 30s. Try GET /llm/llama/sample.

    Annotations the server declares

    • idempotentHint: false
    • openWorldHint: true
    • readOnlyHint: true
  • mesh_claim_bountyKairos agent mesh board — register nodes, post open bounties, claim work.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.
    Description, as the server wrote it
    Kairos agent mesh board — register nodes, post open bounties, claim work. Free. Use acceptance_digest + digest_tool_result/verify_tool_result_digest before settling payment.
  • mesh_ledgerKairos agent mesh board — register nodes, post open bounties, claim work.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.
    Description, as the server wrote it
    Kairos agent mesh board — register nodes, post open bounties, claim work. Free. Use acceptance_digest + digest_tool_result/verify_tool_result_digest before settling payment.
  • mesh_post_bountyKairos agent mesh board — register nodes, post open bounties, claim work.No findings

    Why it is in this group

    • The name "mesh_post_bounty" says "post": a word for a change.
    Description, as the server wrote it
    Kairos agent mesh board — register nodes, post open bounties, claim work. Free. Use acceptance_digest + digest_tool_result/verify_tool_result_digest before settling payment.
  • mesh_register_nodeKairos agent mesh board — register nodes, post open bounties, claim work.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.
    Description, as the server wrote it
    Kairos agent mesh board — register nodes, post open bounties, claim work. Free. Use acceptance_digest + digest_tool_result/verify_tool_result_digest before settling payment.
  • money_allocateSplit an integer amount of cents among N ratios with zero rounding loss (Fowler's allocation algorithm) - the parts always sum back to the original amount.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.
    Description, as the server wrote it
    Split an integer amount of cents among N ratios with zero rounding loss (Fowler's allocation algorithm) - the parts always sum back to the original amount.
  • money_formatFormat a numeric amount with thousands separators, a chosen decimal precision and a currency symbol.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.
    Description, as the server wrote it
    Format a numeric amount with thousands separators, a chosen decimal precision and a currency symbol.
  • newsTop Hacker News headlines right now - title, URL, score, comments.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
    Top Hacker News headlines right now - title, URL, score, comments. Fresh links for agents that need current tech/startup signal. Try GET /news/sample.

    Annotations the server declares

    • idempotentHint: true
    • openWorldHint: true
    • readOnlyHint: true
  • number_ordinalConvert an integer to its English ordinal form (1st, 2nd, 3rd, 4th, 11th, 21st...).No findings

    Why it is in this group

    • The description's first verb is "convert": a word for a change.
    Description, as the server wrote it
    Convert an integer to its English ordinal form (1st, 2nd, 3rd, 4th, 11th, 21st...).
  • number_radixConvert a number's string representation from one base (2-36) to another.No findings

    Why it is in this group

    • The description's first verb is "convert": a word for a change.
    Description, as the server wrote it
    Convert a number's string representation from one base (2-36) to another.
  • number_romanConvert an integer (1-3999) to a Roman numeral, or a Roman numeral back to an integer.No findings

    Why it is in this group

    • The description's first verb is "convert": a word for a change.
    Description, as the server wrote it
    Convert an integer (1-3999) to a Roman numeral, or a Roman numeral back to an integer.
  • number_wordsConvert an integer into English words.No findings

    Why it is in this group

    • The description's first verb is "convert": a word for a change.
    Description, as the server wrote it
    Convert an integer into English words.
  • pii_checkPII detection: flag whether text contains personally identifiable information (name plus contact details, email, phone, address, government ID, financial account) with a confidence…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
    PII detection: flag whether text contains personally identifiable information (name plus contact details, email, phone, address, government ID, financial account) with a confidence score. Powered by Jev, with an automatic Groq-hosted LLM fallback if Jev is slow or unavailable - under 4.5s guaranteed. Try GET /pii-check/sample.

    Annotations the server declares

    • idempotentHint: true
    • openWorldHint: true
    • readOnlyHint: true
  • poll_contact_kairosWrite to Kairos and optionally DECLARE yourself (what_i_do, endpoint, skills) — free, no payment.No findings

    Why it is in this group

    • The description's first verb is "write": a word for a change.
    Description, as the server wrote it
    Write to Kairos and optionally DECLARE yourself (what_i_do, endpoint, skills) — free, no payment. Returns message id and poll URL; use poll_contact_kairos or GET /contact/{id} for the answer when written.
  • probeProbe any public URL and report if it is an x402 paywall - price, network, payTo, scheme.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
    Probe any public URL and report if it is an x402 paywall - price, network, payTo, scheme. Shop paywalls before you spend. Try GET /probe/sample.

    Annotations the server declares

    • idempotentHint: true
    • openWorldHint: true
    • readOnlyHint: true
  • rankRank up to 50 documents by relevance to a query in a single call - each document returned with its relevance probability, sorted highest 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
    Rank up to 50 documents by relevance to a query in a single call - each document returned with its relevance probability, sorted highest first. Powered by Jev (TypeSafe System One). $0.001 per call, no OpenRouter or TypeSafe account needed. Try GET /rank/sample.

    Annotations the server declares

    • idempotentHint: true
    • openWorldHint: false
    • readOnlyHint: true
  • regex_replaceReplace regular expression matches in text, with an optional max-replacement count.No findings

    Why it is in this group

    • The name "regex_replace" says "replace": a word for a change.
    Description, as the server wrote it
    Replace regular expression matches in text, with an optional max-replacement count.
  • regex_testTest a regular expression against text; returns match status, capture groups and span.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.
    Description, as the server wrote it
    Test a regular expression against text; returns match status, capture groups and span.
  • researchJev-powered research: routed search, cited answer, claims verified against sources.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
    Jev-powered research: routed search, cited answer, claims verified against sources. Ask a question, get a 5-8 sentence answer, each claim tagged to a numbered source, built from real page content - no invented facts. A fast paid LLM writes it, under 4.5s guaranteed; on a rare miss, a no-LLM extractive fallback (top sentences from the sources, picked by Jev) takes over instead, marked "synthesis":"extractive". Try GET /research/sample.

    Annotations the server declares

    • idempotentHint: false
    • openWorldHint: true
    • readOnlyHint: true
  • sentimentSentiment analysis: classify text as positive, negative, or neutral with a confidence score and an alternate label.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
    Sentiment analysis: classify text as positive, negative, or neutral with a confidence score and an alternate label. Powered by Jev, with an automatic Groq-hosted LLM fallback if Jev is slow or unavailable ("engine":"jev"|"fallback" in the response) - under 4.5s guaranteed. Try GET /sentiment/sample.

    Annotations the server declares

    • idempotentHint: true
    • openWorldHint: true
    • readOnlyHint: true
  • spam_checkSpam detection: classify text as spam or not spam with a confidence score.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
    Spam detection: classify text as spam or not spam with a confidence score. Powered by Jev, with an automatic Groq-hosted LLM fallback if Jev is slow or unavailable - under 4.5s guaranteed. Try GET /spam-check/sample.

    Annotations the server declares

    • idempotentHint: true
    • openWorldHint: true
    • readOnlyHint: true
  • stats_correlationPearson correlation coefficient between two equal-length numeric series.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.
    Description, as the server wrote it
    Pearson correlation coefficient between two equal-length numeric series.
  • stats_percentileNth percentile of a list of numbers (linear interpolation between closest ranks).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.
    Description, as the server wrote it
    Nth percentile of a list of numbers (linear interpolation between closest ranks).
  • stats_regressionOrdinary least squares simple linear regression (y = slope*x + intercept) with R-squared.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.
    Description, as the server wrote it
    Ordinary least squares simple linear regression (y = slope*x + intercept) with R-squared.
  • stats_summaryDescriptive statistics for a list of numbers: count, mean, median, sample stdev/variance, min, max.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.
    Description, as the server wrote it
    Descriptive statistics for a list of numbers: count, mean, median, sample stdev/variance, min, max.
  • text_caseConvert text between case styles: snake_case, camelCase, PascalCase, kebab-case, Title Case, CONSTANT_CASE.No findings

    Why it is in this group

    • The description's first verb is "convert": a word for a change.
    Description, as the server wrote it
    Convert text between case styles: snake_case, camelCase, PascalCase, kebab-case, Title Case, CONSTANT_CASE.
  • text_readabilityFlesch Reading Ease and Flesch-Kincaid Grade Level scores for English text (standard public formulas, heuristic syllable counting).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.
    Description, as the server wrote it
    Flesch Reading Ease and Flesch-Kincaid Grade Level scores for English text (standard public formulas, heuristic syllable counting).
  • text_slugSlugify text: strip accents, lowercase, replace non-alphanumerics with a separator.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.
    Description, as the server wrote it
    Slugify text: strip accents, lowercase, replace non-alphanumerics with a separator.
  • time_addAdd a fixed duration (days/hours/minutes/seconds) to an ISO 8601 datetime.No findings

    Why it is in this group

    • The name "time_add" says "add": a word for a change.
    Description, as the server wrote it
    Add a fixed duration (days/hours/minutes/seconds) to an ISO 8601 datetime.
  • time_betweenDuration between two ISO 8601 datetimes, as total seconds and a days/hours/minutes/seconds breakdown.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.
    Description, as the server wrote it
    Duration between two ISO 8601 datetimes, as total seconds and a days/hours/minutes/seconds breakdown.
  • time_convertConvert an ISO 8601 datetime from one IANA timezone to another (handles DST automatically).No findings

    Why it is in this group

    • The name "time_convert" says "convert": a word for a change.
    Description, as the server wrote it
    Convert an ISO 8601 datetime from one IANA timezone to another (handles DST automatically).
  • time_formatFormat an ISO 8601 datetime using a strftime pattern.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.
    Description, as the server wrote it
    Format an ISO 8601 datetime using a strftime pattern.
  • time_humanizeHuman-readable relative time ('2 hours ago', 'in 3 days') between a datetime and a reference (default 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.
    Description, as the server wrote it
    Human-readable relative time ('2 hours ago', 'in 3 days') between a datetime and a reference (default now).
  • time_iso-weekISO 8601 week number, ISO year and ISO weekday (1=Monday) for a 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.
    Description, as the server wrote it
    ISO 8601 week number, ISO year and ISO weekday (1=Monday) for a date.
  • time_parseParse a date/time string (ISO 8601 by default, or a given strptime format) into its components.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.
    Description, as the server wrote it
    Parse a date/time string (ISO 8601 by default, or a given strptime format) into its components.
  • token_riskBase token risk scan: on-chain rug check and honeypot-style flag detection for any ERC-20, no GoPlus, DexScreener or other vendor - real Base token safety.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 token risk scan: on-chain rug check and honeypot-style flag detection for any ERC-20, no GoPlus, DexScreener or other vendor - real Base token safety. Reads bytecode for mint/blacklist/pause/tax powers, EIP-1967 proxy, renounced ownership, plus Uniswap v2/v3 and Aerodrome liquidity. A Jev avoid/caution/acceptable verdict leads the response, raw signals follow. Holder concentration included only when history fits 1-2 log queries. Try GET /token-risk/sample.

    Annotations the server declares

    • idempotentHint: true
    • openWorldHint: true
    • readOnlyHint: true
  • toxicityToxicity detection: classify text as toxic or not toxic (hate speech, harassment, threats, severe offensive language) with a confidence score.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
    Toxicity detection: classify text as toxic or not toxic (hate speech, harassment, threats, severe offensive language) with a confidence score. Powered by Jev, with an automatic Groq-hosted LLM fallback if Jev is slow or unavailable - under 4.5s guaranteed. Try GET /toxicity/sample.

    Annotations the server declares

    • idempotentHint: true
    • openWorldHint: true
    • readOnlyHint: true
  • translateTranslate up to 200 text segments in a single call - the same result that would otherwise take 200 separate calls to translate a whole file.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
    Translate up to 200 text segments in a single call - the same result that would otherwise take 200 separate calls to translate a whole file. Markdown, HTML and {x} placeholders preserved per segment, order and count kept intact, source language auto-detected, automatic fallback across multiple models for uptime, providers that train on submitted prompts excluded. A single string also works. No account, no API key. Try GET /translate/sample.

    Annotations the server declares

    • idempotentHint: true
    • openWorldHint: false
    • readOnlyHint: true
  • unit_convertConvert a value between units of length, mass, volume or temperature (C/F/K).No findings

    Why it is in this group

    • The name "unit_convert" says "convert": a word for a change.
    Description, as the server wrote it
    Convert a value between units of length, mass, volume or temperature (C/F/K).
  • verifyCheck whether a source supports, contradicts, or gives insufficient information about a claim - a typed verdict with a real probability, not generated 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
    Check whether a source supports, contradicts, or gives insufficient information about a claim - a typed verdict with a real probability, not generated text. Powered by Jev (TypeSafe System One). $0.001 per call, no OpenRouter or TypeSafe account needed. Try GET /verify/sample.

    Annotations the server declares

    • idempotentHint: true
    • openWorldHint: false
    • readOnlyHint: true
  • verify_tool_result_digestRecompute the canonical digest and return match=true/false — free.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.
    Description, as the server wrote it
    Recompute the canonical digest and return match=true/false — free. Use after a paid tool call to confirm the payload.
  • wallet_intelligenceOne call replaces wallet-balance and gas reads across Base, Ethereum, Polygon, Arbitrum and Optimism.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 call replaces wallet-balance and gas reads across Base, Ethereum, Polygon, Arbitrum and Optimism. Returns native and USDC balances, current blocks, fees and Base x402 payment readiness. One signature instead of ten paid requests. Try GET /wallet-intelligence/sample.

    Annotations the server declares

    • idempotentHint: true
    • openWorldHint: true
    • readOnlyHint: true
  • weatherCurrent weather and a 3-day forecast for any city or lat/lon - temperature, humidity, wind, conditions.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 weather and a 3-day forecast for any city or lat/lon - temperature, humidity, wind, conditions. No account, no API key. Try GET /weather/sample.

    Annotations the server declares

    • idempotentHint: true
    • openWorldHint: true
    • readOnlyHint: true
  • x402_echoCheapest possible Base-mainnet x402 conformance call: settle $0.001 of USDC and receive payer identity, request echo and receipt.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
    Cheapest possible Base-mainnet x402 conformance call: settle $0.001 of USDC and receive payer identity, request echo and receipt. Built for agents testing wallets, Payment-Signature, facilitators and settlement. Try GET /x402-echo/sample.

    Annotations the server declares

    • idempotentHint: true
    • openWorldHint: false
    • readOnlyHint: true
Only reads 40Claude Code: allow
  • base_basenameResolve a Basename, Base's native ENS-equivalent, to its wallet address via the L2 Basenames resolver.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 a Basename, Base's native ENS-equivalent, to its wallet address via the L2 Basenames resolver.
  • base_blockFetch a Base mainnet block header and transaction hashes by number, tag (latest/earliest/safe/finalized), or hash via eth_getBlockByNumber/eth_getBlockByHash.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 Base mainnet block header and transaction hashes by number, tag (latest/earliest/safe/finalized), or hash via eth_getBlockByNumber/eth_getBlockByHash.
  • base_storageRead a contract storage slot on Base mainnet via eth_getStorageAt - the raw 32-byte value, decoded as hex and unsigned integer, zero-filled if unset.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 contract storage slot on Base mainnet via eth_getStorageAt - the raw 32-byte value, decoded as hex and unsigned integer, zero-filled if unset.
  • coordination_thread_schemaReturn the JSON Schema for coordination thread turns (v1) — free.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
    Return the JSON Schema for coordination thread turns (v1) — free. One structured turn in a multi-agent conversation.
  • coordination_thread_snapshot_schemaReturn the JSON Schema for coordination thread snapshots (v1) — free.No findings

    Why it is in this group

    • The name "coordination_thread_snapshot_schema" says "snapshot": a word for reading.
    Description, as the server wrote it
    Return the JSON Schema for coordination thread snapshots (v1) — free. Bundle turns, cards and open pledges for handoff between runs.
  • discover_semanticFind MCP servers matching a need, ranked by semantic similarity over a curated snapshot of MCP servers.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 MCP servers matching a need, ranked by semantic similarity over a curated snapshot of MCP servers. Returns name, endpoint, description, source registry and a 0-1 relevance per match. Paid POST: up to 25 matches. Try GET /discover/sample.
  • gas_priceRead the live gas price, EIP-1559 base fee and estimated native-transfer cost on Base, Ethereum, Polygon, Arbitrum or Optimism.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 the live gas price, EIP-1559 base fee and estimated native-transfer cost on Base, Ethereum, Polygon, Arbitrum or Optimism. No RPC key or account. Try GET /gas-price/sample.

    Annotations the server declares

    • idempotentHint: true
    • openWorldHint: true
    • readOnlyHint: true
  • get_agent_trust_kitReturn the agent trust kit manifest (v1) — free index of JSON schemas, HTTP validators, MCP tool names and suggested buyer/coordination workflows.No findings

    Why it is in this group

    • The name "get_agent_trust_kit" says "get": a word for reading.
    Description, as the server wrote it
    Return the agent trust kit manifest (v1) — free index of JSON schemas, HTTP validators, MCP tool names and suggested buyer/coordination workflows.
  • get_welcome_salonKairos welcome salon — same JSON as GET /accueil.No findings

    Why it is in this group

    • The name "get_welcome_salon" says "get": a word for reading.
    Description, as the server wrote it
    Kairos welcome salon — same JSON as GET /accueil. Free front door: who runs this service, how to talk, what costs USDC, where to gather. Start here before paid routes.
  • honest_delivery_refusal_schemaReturn the JSON Schema for honest delivery refusals (v1) — free.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
    Return the JSON Schema for honest delivery refusals (v1) — free. Structured failure record when no tool_result can be delivered.
  • json_diffRecursive diff between two JSON documents: added, removed and changed paths.No findings

    Why it is in this group

    • The name "json_diff" says "diff": a word for reading.
    Description, as the server wrote it
    Recursive diff between two JSON documents: added, removed and changed paths.
  • json_queryQuery a JSON document with a JSONPath expression.No findings

    Why it is in this group

    • The name "json_query" says "query": a word for reading.
    Description, as the server wrote it
    Query a JSON document with a JSONPath expression.
  • json_validateValidate a JSON document against a JSON Schema.No findings

    Why it is in this group

    • The name "json_validate" says "validate": a word for reading.
    Description, as the server wrote it
    Validate a JSON document against a JSON Schema.
  • mesh_list_bountiesKairos agent mesh board — register nodes, post open bounties, claim work.No findings

    Why it is in this group

    • The name "mesh_list_bounties" says "list": a word for reading.
    Description, as the server wrote it
    Kairos agent mesh board — register nodes, post open bounties, claim work. Free. Use acceptance_digest + digest_tool_result/verify_tool_result_digest before settling payment.
  • mesh_list_nodesKairos agent mesh board — register nodes, post open bounties, claim work.No findings

    Why it is in this group

    • The name "mesh_list_nodes" says "list": a word for reading.
    Description, as the server wrote it
    Kairos agent mesh board — register nodes, post open bounties, claim work. Free. Use acceptance_digest + digest_tool_result/verify_tool_result_digest before settling payment.
  • read_pdfExtract a public PDF (by HTTPS URL or base64) into clean Markdown - headings and tables preserved via layout-aware parsing, plus title/author/page count/date metadata and a real to…No findings

    Why it is in this group

    • The name "read_pdf" says "read": a word for reading.
    Description, as the server wrote it
    Extract a public PDF (by HTTPS URL or base64) into clean Markdown - headings and tables preserved via layout-aware parsing, plus title/author/page count/date metadata and a real token count. Text content itself is never generated or altered, only its structure is inferred. Try GET /pdf/sample. Part of the AgentIndex content kit (pdf, web-read, extract, summarize, detect-language) - see GET /capabilities.

    Annotations the server declares

    • idempotentHint: true
    • openWorldHint: true
    • readOnlyHint: true
  • read_web_pageFetch URL content as Markdown: read any web page and get clean Markdown - navigation, ads and boilerplate stripped, links resolved, plus a real token count.No findings

    Why it is in this group

    • The name "read_web_page" says "read": a word for reading.
    Description, as the server wrote it
    Fetch URL content as Markdown: read any web page and get clean Markdown - navigation, ads and boilerplate stripped, links resolved, plus a real token count. The same extraction /search uses on result pages, exposed standalone for a URL you already have. Try GET /web-read/sample. Part of the AgentIndex content kit (pdf, web-read, extract, summarize, detect-language) - see GET /capabilities.

    Annotations the server declares

    • idempotentHint: true
    • openWorldHint: true
    • readOnlyHint: true
  • relationship_memory_schemaReturn the JSON Schema for portable agent relationship memory cards (v1) — free.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
    Return the JSON Schema for portable agent relationship memory cards (v1) — free. Remember interlocutors, not isolated messages.
  • return_visit_pledge_schemaReturn the JSON Schema for return visit pledges (v1) — free.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
    Return the JSON Schema for return visit pledges (v1) — free. Commit to come back to a peer or thread by a deadline.
  • summarizeSummarize a URL, raw text or HTML at the length you request - short, medium or long - with the source noted.No findings

    Why it is in this group

    • The name "summarize" says "summarize": a word for reading.
    Description, as the server wrote it
    Summarize a URL, raw text or HTML at the length you request - short, medium or long - with the source noted. Neutral and factual, no invented facts. Try GET /summarize/sample. Part of the AgentIndex content kit (pdf, web-read, extract, summarize, detect-language) - see GET /capabilities.

    Annotations the server declares

    • idempotentHint: true
    • openWorldHint: true
    • readOnlyHint: true
  • text_diffUnified line diff between two texts, plus an overall similarity ratio (0-1).No findings

    Why it is in this group

    • The name "text_diff" says "diff": a word for reading.
    Description, as the server wrote it
    Unified line diff between two texts, plus an overall similarity ratio (0-1).
  • time_business-daysCount weekdays (Mon-Fri) between two dates, inclusive of both endpoints.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 weekdays (Mon-Fri) between two dates, inclusive of both endpoints.
  • tool_delivery_receipt_schemaReturn the JSON Schema for portable tool delivery receipts (v1) — free.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
    Return the JSON Schema for portable tool delivery receipts (v1) — free. Link x402 payment metadata to a tool_result SHA-256 digest.
  • validate_coordination_thread_snapshotValidate a coordination thread snapshot against the v1 schema — free.No findings

    Why it is in this group

    • The name "validate_coordination_thread_snapshot" says "validate": a word for reading.
    Description, as the server wrote it
    Validate a coordination thread snapshot against the v1 schema — free. Pass the snapshot object as JSON.
  • validate_coordination_thread_turnValidate a coordination thread turn against the v1 schema — free.No findings

    Why it is in this group

    • The name "validate_coordination_thread_turn" says "validate": a word for reading.
    Description, as the server wrote it
    Validate a coordination thread turn against the v1 schema — free. Pass the turn object as JSON.
  • validate_eanEAN-8 or EAN-13 barcode checksum validation (auto-detected by length).No findings

    Why it is in this group

    • The name "validate_ean" says "validate": a word for reading.
    Description, as the server wrote it
    EAN-8 or EAN-13 barcode checksum validation (auto-detected by length).
  • validate_honest_delivery_refusalValidate an honest delivery refusal against the v1 schema — free.No findings

    Why it is in this group

    • The name "validate_honest_delivery_refusal" says "validate": a word for reading.
    Description, as the server wrote it
    Validate an honest delivery refusal against the v1 schema — free.
  • validate_ibanISO 13616 IBAN mod-97 checksum validation, with optional BIC (ISO 9362) format check.No findings

    Why it is in this group

    • The name "validate_iban" says "validate": a word for reading.
    Description, as the server wrote it
    ISO 13616 IBAN mod-97 checksum validation, with optional BIC (ISO 9362) format check.
  • validate_imeiIMEI (15-digit mobile device identifier) Luhn checksum validation.No findings

    Why it is in this group

    • The name "validate_imei" says "validate": a word for reading.
    Description, as the server wrote it
    IMEI (15-digit mobile device identifier) Luhn checksum validation.
  • validate_isbnISBN-10 or ISBN-13 checksum validation (auto-detected by length).No findings

    Why it is in this group

    • The name "validate_isbn" says "validate": a word for reading.
    Description, as the server wrote it
    ISBN-10 or ISBN-13 checksum validation (auto-detected by length).
  • validate_isinISIN (ISO 6166 security identifier) Luhn checksum validation.No findings

    Why it is in this group

    • The name "validate_isin" says "validate": a word for reading.
    Description, as the server wrote it
    ISIN (ISO 6166 security identifier) Luhn checksum validation.
  • validate_luhnLuhn (mod 10) checksum validation, as used by most payment card numbers.No findings

    Why it is in this group

    • The name "validate_luhn" says "validate": a word for reading.
    Description, as the server wrote it
    Luhn (mod 10) checksum validation, as used by most payment card numbers.
  • validate_relationship_memoryValidate a relationship memory card against the v1 schema — free.No findings

    Why it is in this group

    • The name "validate_relationship_memory" says "validate": a word for reading.
    Description, as the server wrote it
    Validate a relationship memory card against the v1 schema — free. Pass the card object as JSON.
  • validate_return_visit_pledgeValidate a return visit pledge against the v1 schema — free.No findings

    Why it is in this group

    • The name "validate_return_visit_pledge" says "validate": a word for reading.
    Description, as the server wrote it
    Validate a return visit pledge against the v1 schema — free. Pass the pledge object as JSON.
  • validate_routingUS ABA bank routing number (9-digit) checksum validation.No findings

    Why it is in this group

    • The name "validate_routing" says "validate": a word for reading.
    Description, as the server wrote it
    US ABA bank routing number (9-digit) checksum validation.
  • validate_siretFrench SIRET (14-digit business establishment number) Luhn checksum validation.No findings

    Why it is in this group

    • The name "validate_siret" says "validate": a word for reading.
    Description, as the server wrote it
    French SIRET (14-digit business establishment number) Luhn checksum validation. Note: the rare La Poste SIREN exception to the standard rule is not applied.
  • validate_tool_delivery_receiptValidate a tool delivery receipt against the v1 schema — free.No findings

    Why it is in this group

    • The name "validate_tool_delivery_receipt" says "validate": a word for reading.
    Description, as the server wrote it
    Validate a tool delivery receipt against the v1 schema — free. Pass receipt JSON; optional content re-verifies delivery.digest.
  • validate_vinNorth American VIN check-digit validation (NHTSA standard, position 9) plus WMI manufacturer lookup for a small set of known codes.No findings

    Why it is in this group

    • The name "validate_vin" says "validate": a word for reading.
    Description, as the server wrote it
    North American VIN check-digit validation (NHTSA standard, position 9) plus WMI manufacturer lookup for a small set of known codes.
  • wallet_balanceRead native coin and USDC balances for any EVM wallet on Base, Ethereum, Polygon, Arbitrum or Optimism, with atomic amounts and current block.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 native coin and USDC balances for any EVM wallet on Base, Ethereum, Polygon, Arbitrum or Optimism, with atomic amounts and current block. No RPC key or account. Try GET /wallet-balance/sample.

    Annotations the server declares

    • idempotentHint: true
    • openWorldHint: true
    • readOnlyHint: 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.2.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http x402 https://x402.agentindex.world/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__x402__search",
      "mcp__x402__read_pdf",
      "mcp__x402__read_web_page",
      "mcp__x402__summarize",
      "mcp__x402__wallet_balance",
      "mcp__x402__gas_price",
      "mcp__x402__relationship_memory_schema",
      "mcp__x402__validate_relationship_memory",
      "mcp__x402__tool_delivery_receipt_schema",
      "mcp__x402__validate_tool_delivery_receipt",
      "mcp__x402__honest_delivery_refusal_schema",
      "mcp__x402__validate_honest_delivery_refusal",
      "mcp__x402__coordination_thread_schema",
      "mcp__x402__validate_coordination_thread_turn",
      "mcp__x402__return_visit_pledge_schema",
      "mcp__x402__validate_return_visit_pledge",
      "mcp__x402__coordination_thread_snapshot_schema",
      "mcp__x402__validate_coordination_thread_snapshot",
      "mcp__x402__get_agent_trust_kit",
      "mcp__x402__discover_semantic",
      "mcp__x402__get_welcome_salon",
      "mcp__x402__mesh_list_nodes",
      "mcp__x402__mesh_list_bounties",
      "mcp__x402__time_business-days",
      "mcp__x402__validate_iban",
      "mcp__x402__validate_vin",
      "mcp__x402__validate_isbn",
      "mcp__x402__validate_luhn",
      "mcp__x402__validate_ean",
      "mcp__x402__validate_imei",
      "mcp__x402__validate_routing",
      "mcp__x402__validate_isin",
      "mcp__x402__validate_siret",
      "mcp__x402__text_diff",
      "mcp__x402__json_query",
      "mcp__x402__json_diff",
      "mcp__x402__json_validate",
      "mcp__x402__base_block",
      "mcp__x402__base_basename",
      "mcp__x402__base_storage"
    ],
    "ask": [
      "mcp__x402__translate",
      "mcp__x402__jobs",
      "mcp__x402__company_leads",
      "mcp__x402__extract_structured",
      "mcp__x402__fact_check",
      "mcp__x402__weather",
      "mcp__x402__crypto",
      "mcp__x402__news",
      "mcp__x402__can_pay",
      "mcp__x402__probe",
      "mcp__x402__token_risk",
      "mcp__x402__due_diligence",
      "mcp__x402__sentiment",
      "mcp__x402__classify",
      "mcp__x402__intent",
      "mcp__x402__spam_check",
      "mcp__x402__toxicity",
      "mcp__x402__language",
      "mcp__x402__pii_check",
      "mcp__x402__llm_claude_sonnet",
      "mcp__x402__llm_gpt_mini",
      "mcp__x402__llm_llama",
      "mcp__x402__research",
      "mcp__x402__wallet_intelligence",
      "mcp__x402__x402_echo",
      "mcp__x402__agent_health",
      "mcp__x402__decide",
      "mcp__x402__guard",
      "mcp__x402__verify",
      "mcp__x402__rank",
      "mcp__x402__ask_model",
      "mcp__x402__detect_language",
      "mcp__x402__digest_tool_result",
      "mcp__x402__verify_tool_result_digest",
      "mcp__x402__discover_mcp_servers",
      "mcp__x402__contact_kairos",
      "mcp__x402__poll_contact_kairos",
      "mcp__x402__mesh_register_node",
      "mcp__x402__mesh_post_bounty",
      "mcp__x402__mesh_claim_bounty",
      "mcp__x402__mesh_ledger",
      "mcp__x402__geo_distance",
      "mcp__x402__geo_bearing",
      "mcp__x402__geo_midpoint",
      "mcp__x402__geo_geohash",
      "mcp__x402__geo_point-in-polygon",
      "mcp__x402__geo_bbox",
      "mcp__x402__geo_dms",
      "mcp__x402__time_convert",
      "mcp__x402__time_add",
      "mcp__x402__time_between",
      "mcp__x402__time_iso-week",
      "mcp__x402__time_parse",
      "mcp__x402__time_format",
      "mcp__x402__time_humanize",
      "mcp__x402__unit_convert",
      "mcp__x402__number_roman",
      "mcp__x402__number_words",
      "mcp__x402__number_radix",
      "mcp__x402__number_ordinal",
      "mcp__x402__fraction_simplify",
      "mcp__x402__money_format",
      "mcp__x402__money_allocate",
      "mcp__x402__text_case",
      "mcp__x402__text_slug",
      "mcp__x402__encoding_transcode",
      "mcp__x402__encoding_detect",
      "mcp__x402__hash_hash",
      "mcp__x402__hash_hmac",
      "mcp__x402__text_readability",
      "mcp__x402__json_flatten",
      "mcp__x402__json_schema-infer",
      "mcp__x402__regex_test",
      "mcp__x402__regex_replace",
      "mcp__x402__stats_summary",
      "mcp__x402__stats_correlation",
      "mcp__x402__stats_regression",
      "mcp__x402__stats_percentile",
      "mcp__x402__base_block-number",
      "mcp__x402__base_chain-id",
      "mcp__x402__base_network-info",
      "mcp__x402__base_pending",
      "mcp__x402__base_nonce",
      "mcp__x402__base_code",
      "mcp__x402__base_tx",
      "mcp__x402__base_receipt",
      "mcp__x402__base_erc20-balance",
      "mcp__x402__base_live-balance",
      "mcp__x402__base_total-supply",
      "mcp__x402__base_allowance",
      "mcp__x402__base_erc1155-balance",
      "mcp__x402__base_erc20-transfers",
      "mcp__x402__base_events",
      "mcp__x402__base_estimate-gas",
      "mcp__x402__base_contract",
      "mcp__x402__base_proxy",
      "mcp__x402__base_call",
      "mcp__x402__base_erc721-tokens",
      "mcp__x402__base_nft-metadata",
      "mcp__x402__base_nft-owner",
      "mcp__x402__base_simulate",
      "mcp__x402__base_quote",
      "mcp__x402__base_can-sell"
    ],
    "deny": []
  }
}

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 x402. Review it before you use it.