{"serverId":"mcp-registry/dev.fetchgate/fetchgate","tools":[{"name":"check_base_token","fixed":{"name":"check_base_token","description":"Screen a token contract on Base before an agent buys it. Reads the contract (ERC-20 metadata, owner, upgradeable proxy, and mint / pause / blacklist / fee selectors in its bytecode) and its DEX liquidity (WETH and USDC held by its Uniswap and Aerodrome pools, read on-chain). Returns a verdict — ok, caution, avoid or unknown — with the reasons. A heuristic screen: it does not simulate a sell, read tax rates or check pool age. Wraps GET /v1/token/check. Same free daily tier as read_url; $0.01/call","inputSchema":{"type":"object","required":["address"],"properties":{"address":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$","description":"The token contract address on Base."}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Check a Base token before swapping into it"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":210,"tokensAfter":210},{"name":"check_x402_endpoint","fixed":{"name":"check_x402_endpoint","description":"Decide whether an unfamiliar pay-per-call (x402) endpoint is worth paying. Sends one unpaid GET to read its live payment challenge (format, price, network, signing domain), then adds its settled-call and unique-payer history, whether its live price matches its listed price, and its domain's reputation (template farm or not, share of its endpoints that answer). Returns a verdict — ok, caution, avoid or unknown — with the reasons. Nothing is paid. Use before an agent sends money to an endpoint it ","inputSchema":{"type":"object","required":["url"],"properties":{"url":{"type":"string","format":"uri","description":"The x402 endpoint URL to check."}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Check an x402 endpoint before paying it"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":203,"tokensAfter":203},{"name":"get_agent_census","fixed":{"name":"get_agent_census","description":"Return the Agent Web Crawler Census: every named bot observed crawling a live, publicly-listed x402 + MCP endpoint over a 24-hour window, each with a case-insensitive regex `matcher` and a behavioural `category` (liveness-monitor, directory-crawler, price-scraper, security-research, ai-training, ...) so you can classify your own access log. Observed first-hand, not aggregated from third-party bot lists. Notable finding: of the named agent-web crawlers in the census, zero have ever presented a pa","inputSchema":{"type":"object","properties":{"category":{"type":"string","description":"Optional. Return only agents in this behavioural category, e.g. \"price-scraper\" or \"liveness-monitor\". Omit for the full census."}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Get Agent Web Crawler Census"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":222,"tokensAfter":222},{"name":"get_metadata","fixed":{"name":"get_metadata","description":"Fetch a URL server-side and return structured metadata: title, description, canonical URL, OpenGraph/Twitter card fields, favicon URL, language, and published/modified timestamps when present. Wraps GET /v1/meta. Same free tier as read_url; priced at $0.001/call via x402 once exhausted.","inputSchema":{"type":"object","required":["url"],"properties":{"url":{"type":"string","format":"uri","description":"Absolute http(s) URL to fetch."}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Get URL Metadata"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":142,"tokensAfter":142},{"name":"get_purchase_info","fixed":{"name":"get_purchase_info","description":"Look up a product by id (from list_products) and explain exactly how to buy it: its price, and the x402 purchase flow step by step (the 402 challenge shape, the PAYMENT-SIGNATURE header, and the signed download URL you get back on success). Does not take payment itself — informational only, mirroring the pre-payment leg of GET /v1/buy/:id.","inputSchema":{"type":"object","required":["product_id"],"properties":{"product_id":{"type":"string","description":"Product id, from list_products' `id` field."}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Get Purchase Info"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":161,"tokensAfter":161},{"name":"list_products","fixed":{"name":"list_products","description":"List Fetchgate's digital-goods catalog: id, name, description, priceUsd, currency, file format, size, sha256, and a walletless humanUrl checkout link for each product for sale. Wraps GET /v1/products. Free, no rate limit, no payment required just to browse.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"List Products"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":105,"tokensAfter":105},{"name":"read_url","fixed":{"name":"read_url","description":"Fetch a URL server-side and return its main content as clean Markdown, with scripts/styles/nav/ads/boilerplate stripped out. Wraps GET /v1/read. Free tier: 30 calls/day per caller; priced at $0.002/call via x402 once that's exhausted (see get_purchase_info for how the x402 flow works). Only http:// and https:// URLs are accepted; private/internal-network hosts are rejected.","inputSchema":{"type":"object","required":["url"],"properties":{"url":{"type":"string","format":"uri","description":"Absolute http(s) URL to fetch."}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Read URL as Markdown"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":165,"tokensAfter":165},{"name":"search_x402_services","fixed":{"name":"search_x402_services","description":"Search for a pay-per-call (x402) API that does what you need. Unlike a raw directory, results are limited to endpoints that answered a real x402 payment challenge AND had at least 5 settled calls from at least 2 distinct payers in the last 30 days, so dead, never-bought and template-farm listings are left out. Each result has the endpoint URL, method, price in USD, networks, 30-day calls and unique payers, and a flag when the payer count looks farmed. Use it when you need a paid API (search, scr","inputSchema":{"type":"object","required":["query"],"properties":{"limit":{"type":"integer","maximum":25,"minimum":1,"description":"Results to return (default 10)."},"query":{"type":"string","description":"What the API should do, in a few words, e.g. 'web search' or 'email verification'."},"network":{"type":"string","description":"Payment network: base, solana, polygon, arbitrum, optimism, or a CAIP-2 id."},"max_price_usd":{"type":"number","description":"Only return endpoints priced at or below this, per call."}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Find live, paid-for x402 APIs for a task"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":305,"tokensAfter":305}],"toolsChanged":8,"tokensSaved":0,"todo":[],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}