MCP HeartbeatTHE MCP OBSERVATORY
Public workspace

Explore

Evidence for your next connection.

Independent measurements of remote MCP servers. Every observation has a timestamp.

Read-only probes

MCP server · Data access / search

AgentIndex x402

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

Checks passed
11 / 22

3 failed · 8 not measured

Median response
321 ms

Median of successful probes over 7 days

30-day uptime
Not measured

Share of countable probes over 30 days, including daily rollups. Auth challenges are excluded.

Discovered tools
145

Tool definitions returned by this server

Independent monitoring

Health & checks

Status history

Outdated check

Last connection measurement is over 24 hours old. Current availability is unknown.

Last checked
Check summary by test group
Test areaPassedFailedUnmeasured
ConnectionCan a client connect and discover tools?
500
Reliability & speedDoes it respond consistently and quickly?
004
Access & authenticationWhat is required to use this server?
102
Tool qualityAre the tool definitions usable by an agent?
220
Publisher identityCan the publisher be traced to its source?
312

Unmeasured means there is not enough evidence to decide. How these checks work

Inspect individual checks 22 recorded

Core

  • Pass
    Reachable

    Latest probe returned HTTP 200 in 321 ms.

  • Pass
    Valid handshake

    protocolVersion 2025-11-25, serverInfo.name AgentIndex x402.

  • Pass
    Lists tools

    tools/list returned 145 tools.

  • Pass
    Current protocol

    Negotiated 2025-11-25. The bar is 2025-06-18 or newer.

  • Pass
    HTTPS

    The endpoint URL is https.

Performance

  • Not measured
    Fast (p50)

    Median latency 321 ms over 1 samples in 7 days. The bar is 1000 ms. Need at least 5 samples.

  • Not measured
    Consistent (p95)

    95th percentile 321 ms over 1 samples in 7 days. The bar is 3000 ms. Need at least 20 samples.

  • Not measured
    Reliable (uptime)

    1 of 1 attempts returned a tool list in 30 days (100%). The bar is 99%. Need at least 30 samples.

  • Not measured
    Stable tool list

    Fewer than two successful probes in 30 days, so tool-list stability is not measured.

Access

  • Pass
    Open access

    tools/list succeeded with no credential, and the record declares none.

  • Not measured
    Standard auth

    Auth is not required, so the OAuth metadata check does not apply.

  • Not measured
    Free tier cited

    No publisher quote has been checked.

Tools

  • Pass
    Tools described

    Every tool description is at least 20 characters.

  • Pass
    Valid input schemas

    Every inputSchema is a JSON Schema object.

  • Fail
    Parameters documented

    80 of 371 parameters have a description (22%). The bar is 80%.

  • Fail
    Safety hints

    108 tools set neither readOnlyHint nor destructiveHint.

Publisher

  • Pass
    Verified namespace

    Listed in the Official MCP Registry.

  • Fail
    Website matches publisher

    The website host does not match the reverse-domain namespace.

  • Pass
    Source repo linked

    A repository URL is on file.

  • Not measured
    Repo owner matches

    This namespace is not an io.github login, so the owner comparison does not apply.

  • Pass
    Recently updated

    Updated 2026-09-27T19:28:13.033138Z, within 180 days.

  • Not measured
    Open-source licence

    The GitHub licence lookup has not returned an OSI result yet.

Start using AgentIndex x402

Connect to this server

Choose your client, copy the configuration, then enable the server in your client’s MCP settings.

Run this command in your terminal, then restart Claude Code.

Claude Code

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

Capabilities

Tools 145

Showing 100 of 145 tools.

agent_health

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.

Discovered
ask_model

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.

Discovered
base_allowance

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.

Discovered
base_basename

Resolve a Basename, Base's native ENS-equivalent, to its wallet address via the L2 Basenames resolver.

Discovered
base_block

Fetch a Base mainnet block header and transaction hashes by number, tag (latest/earliest/safe/finalized), or hash via eth_getBlockByNumber/eth_getBlockByHash.

Discovered
base_block-number

Latest Base mainnet block height via eth_blockNumber - the current chain tip.

Discovered
base_call

Generic read-only eth_call against any Base mainnet contract - pass raw calldata, get the raw return data back.

Discovered
base_can-sell

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.

Discovered
base_chain-id

Base mainnet chain ID (EIP-155) via eth_chainId - confirm which network you're actually talking to.

Discovered
base_code

Check whether a Base mainnet address is a contract via eth_getCode - returns bytecode size, zero for an externally-owned account.

Discovered
base_contract

Contract introspection on Base mainnet - is it a contract, bytecode size, best-effort owner(), and whether it's a proxy.

Discovered
base_erc1155-balance

ERC1155 multi-token balance for a wallet and token id on Base mainnet via balanceOf(address,uint256).

Discovered
base_erc20-balance

ERC20 token balance for a wallet on Base mainnet - balanceOf() and decimals() batched into one Multicall3 round trip.

Discovered
base_erc20-transfers

ERC20 Transfer event logs for one token over a Base mainnet block range (max 2,000 blocks) via eth_getLogs.

Discovered
base_erc721-tokens

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.

Discovered
base_estimate-gas

Gas estimate for a Base mainnet swap or any other call (to/from/value/data) via eth_estimateGas, without broadcasting a transaction.

Discovered
base_events

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.

Discovered
base_live-balance

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.

Discovered
base_network-info

Base mainnet network info in one call: chain ID, block height, and current gas price (wei and gwei).

Discovered
base_new-pools

Newly created Base liquidity pools, each with a pre-computed pretrade safety score (same checks as POST /base/pretrade, run by a background worker so this call is a fast read, not a live scan). Filter by age (since_minutes, up to 60) and minimum liquidity.

Discovered
base_nft-metadata

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.

Discovered
base_nft-owner

Who owns this NFT? ERC721 owner lookup on Base mainnet via ownerOf(tokenId).

Discovered
base_nonce

Next transaction nonce for any Base mainnet wallet via eth_getTransactionCount - how many transactions it has sent.

Discovered
base_pending

The current pending Base mainnet block (mempool, not yet mined) - unconfirmed transactions via eth_getBlockByNumber('pending').

Discovered
base_pretrade

Pre-trade safety check for a Base token in one call: bytecode risk flags, real liquidity, a real on-chain buy-then-sell simulation (honeypot/tax detection, not a guess), the token owner's wallet reputation, and current gas price. Verdict go/caution/no_go with a 0-100 score and the exact reasons behind it.

Discovered
base_proxy

Is this Base contract an upgradeable proxy? Proxy contract detection for EIP-1967 (transparent/UUPS), beacon, or EIP-1822 patterns, returning the implementation address.

Discovered
base_quote

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.

Discovered
base_receipt

Transaction receipt via eth_getTransactionReceipt - status, gas used, and event logs for a mined Base mainnet transaction.

Discovered
base_simulate

Simulate a Base mainnet transaction before sending it - will it succeed, estimated gas, and the decoded revert reason if it would fail.

Discovered
base_storage

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.

Discovered
base_total-supply

Total supply for an ERC20 (normalized by decimals()) or ERC721 (raw count, no decimals) contract on Base mainnet.

Discovered
base_tx

Base transaction lookup by hash - sender, recipient, value, calldata, gas and block, live from Base mainnet via eth_getTransactionByHash.

Discovered
can_pay

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.

Discovered
classify

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.

Discovered
company_leads

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.

Discovered
contact_kairos

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.

Discovered
coordination_thread_schema

Return the JSON Schema for coordination thread turns (v1) — free. One structured turn in a multi-agent conversation.

Discovered
coordination_thread_snapshot_schema

Return the JSON Schema for coordination thread snapshots (v1) — free. Bundle turns, cards and open pledges for handoff between runs.

Discovered
crypto

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.

Discovered
decide

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.

Discovered
detect_language

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.

Discovered
digest_tool_result

Stable SHA-256 digest of an MCP tool_result so agents can verify payloads before settling payment — free, no account.

Discovered
discover_mcp_servers

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.

Discovered
discover_semantic

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.

Discovered
due_diligence

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.

Discovered
encoding_detect

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

Discovered
encoding_transcode

Convert text between utf-8, base64, hex, URL-percent-encoding and ascii representations.

Discovered
extract_structured

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.

Discovered
fact_check

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

Discovered
fraction_simplify

Simplify a fraction to lowest terms and return its decimal value.

Discovered
gas_price

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.

Discovered
geo_bbox

Bounding box (min/max lat and lon) enclosing a list of points.

Discovered
geo_bearing

Initial compass bearing (0-360 degrees, clockwise from true north) from point 1 to point 2.

Discovered
geo_distance

Great-circle distance between two lat/lon points (haversine formula). Returns km, mi or nm.

Discovered
geo_dms

Convert decimal degrees to degrees/minutes/seconds, or DMS back to decimal degrees.

Discovered
geo_geohash

Encode a lat/lon point into a geohash string (precision 1-12 characters).

Discovered
geo_midpoint

Geographic (great-circle) midpoint between two lat/lon points.

Discovered
geo_point-in-polygon

Ray-casting point-in-polygon test (planar approximation - fine for city/region-scale polygons).

Discovered
get_agent_trust_kit

Return the agent trust kit manifest (v1) — free index of JSON schemas, HTTP validators, MCP tool names and suggested buyer/coordination workflows.

Discovered
get_welcome_salon

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.

Discovered
guard

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.

Discovered
hash_hash

Compute an MD5, SHA-1, SHA-256 or SHA-512 hex digest of text.

Discovered
hash_hmac

Compute an HMAC (MD5, SHA-1, SHA-256 or SHA-512) of text with a given key.

Discovered
honest_delivery_refusal_schema

Return the JSON Schema for honest delivery refusals (v1) — free. Structured failure record when no tool_result can be delivered.

Discovered
intent

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.

Discovered
jobs

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.

Discovered
json_diff

Recursive diff between two JSON documents: added, removed and changed paths.

Discovered
json_flatten

Flatten a nested JSON document into single-level dotted-path keys.

Discovered
json_query

Query a JSON document with a JSONPath expression.

Discovered
json_schema-infer

Infer a basic JSON Schema (types, object properties, array item type) from an example document.

Discovered
json_validate

Validate a JSON document against a JSON Schema.

Discovered
language

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.

Discovered
llm_claude_sonnet

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.

Discovered
llm_gpt_mini

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.

Discovered
llm_llama

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.

Discovered
mesh_claim_bounty

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.

Discovered
mesh_ledger

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.

Discovered
mesh_list_bounties

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.

Discovered
mesh_list_nodes

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.

Discovered
mesh_post_bounty

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.

Discovered
mesh_register_node

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.

Discovered
money_allocate

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.

Discovered
money_format

Format a numeric amount with thousands separators, a chosen decimal precision and a currency symbol.

Discovered
news

Top Hacker News headlines right now - title, URL, score, comments. Fresh links for agents that need current tech/startup signal. Try GET /news/sample.

Discovered
number_ordinal

Convert an integer to its English ordinal form (1st, 2nd, 3rd, 4th, 11th, 21st...).

Discovered
number_radix

Convert a number's string representation from one base (2-36) to another.

Discovered
number_roman

Convert an integer (1-3999) to a Roman numeral, or a Roman numeral back to an integer.

Discovered
number_words

Convert an integer into English words.

Discovered
pii_check

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.

Discovered
poll_contact_kairos

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.

Discovered
probe

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.

Discovered
rank

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.

Discovered
read_pdf

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.

Discovered
read_web_page

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.

Discovered
regex_replace

Replace regular expression matches in text, with an optional max-replacement count.

Discovered
regex_test

Test a regular expression against text; returns match status, capture groups and span.

Discovered
relationship_memory_schema

Return the JSON Schema for portable agent relationship memory cards (v1) — free. Remember interlocutors, not isolated messages.

Discovered
research

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.

Discovered
return_visit_pledge_schema

Return the JSON Schema for return visit pledges (v1) — free. Commit to come back to a peer or thread by a deadline.

Discovered
search

Jev-routed web search: each query goes to the best specialised source (code, facts, news, prices), results ranked by relevance. 28/30 test queries answered. Up to 10 results per query, each with title, URL, snippet, short extract and publish date. Up to 5 queries per call, merged and de-duplicated. No account, no API key. Try GET /search/sample. Part of the AgentIndex content kit (pdf, web-read, extract, summarize, detect-language) - see GET /capabilities.

Discovered

Recent measurements

Probe history

View status
Latest stored probes. Raw probe rows are kept for 14 days.
CheckedResultResponseTools
Connected321 ms145