{"tools": [{"name": "web_search", "description": "Search the live web and get ranked results with title, URL, snippet and published date.", "title": "Web Search", "annotations": {"readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": true}, "inputSchema": {"type": "object", "properties": {"query": {"type": "string", "description": "Search query (1-200 characters)."}, "count": {"type": "integer", "description": "Number of results to return, 1-10. Default 5."}, "freshness": {"type": "string", "enum": ["day", "week", "month", "year"], "description": "Optional freshness filter."}, "site": {"type": "string", "description": "Optional: restrict results to one domain, e.g. github.com."}, "lang": {"type": "string", "description": "Optional language preference, e.g. zh-cn or en."}}, "required": ["query"], "additionalProperties": false}}, {"name": "web_fetch", "description": "Fetch one public web page and return its readable text as clean markdown or plain text, with navigation, scripts, headers and footers stripped.", "title": "Web Fetch", "annotations": {"readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": true}, "inputSchema": {"type": "object", "properties": {"url": {"type": "string", "description": "The http(s) URL to read (max 2048 chars)."}, "max_chars": {"type": "integer", "description": "Truncate the returned content to this many characters (2000-20000). Default 8000."}, "format": {"type": "string", "enum": ["markdown", "text"], "description": "Output format. Default markdown."}, "ocr": {"type": "boolean", "description": "Force OCR on scanned PDFs/images (auto-detected by default; set false to skip)."}}, "required": ["url"], "additionalProperties": false}}, {"name": "web_screenshot", "description": "Capture a screenshot of one public web page as an image (JPEG) plus metadata.", "title": "Web Screenshot", "annotations": {"readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": true}, "inputSchema": {"type": "object", "properties": {"url": {"type": "string", "description": "The http(s) URL to capture (max 2048 chars)."}, "width": {"type": "integer", "description": "Viewport width 320-1920. Default 1280."}, "height": {"type": "integer", "description": "Viewport height 240-1200. Default 800."}, "full_page": {"type": "boolean", "description": "Capture the whole page instead of the viewport. Default false."}}, "required": ["url"], "additionalProperties": false}}, {"name": "web_map", "description": "Discover the URLs of one site - sitemap first, then same-host links from the homepage.", "title": "Web Map", "annotations": {"readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": true}, "inputSchema": {"type": "object", "properties": {"url": {"type": "string", "description": "Site root or page URL (max 2048 chars)."}, "limit": {"type": "integer", "description": "Max URLs to return, 1-50. Default 50."}}, "required": ["url"], "additionalProperties": false}}, {"name": "web_fetch_batch", "description": "Fetch up to 5 public URLs in one call and return each page's title, engine and a short snippet (first ~1200 characters), so an agent can triage several links quickly.", "title": "Web Fetch Batch", "annotations": {"readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": true}, "inputSchema": {"type": "object", "properties": {"urls": {"type": "array", "items": {"type": "string"}, "minItems": 1, "maxItems": 5, "description": "1-5 http(s) URLs to fetch in one call."}, "max_chars": {"type": "integer", "description": "Snippet length per page, 200-2000. Default 1200."}, "format": {"type": "string", "enum": ["markdown", "text"], "description": "Snippet format. Default markdown."}}, "required": ["urls"], "additionalProperties": false}}, {"name": "web_feed", "description": "Read an RSS or Atom feed and return its latest items.", "title": "Web Feed", "annotations": {"readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": true}, "inputSchema": {"type": "object", "properties": {"url": {"type": "string", "description": "RSS/Atom feed URL (max 2048 chars)."}, "limit": {"type": "integer", "description": "Max items to return, 1-20. Default 10."}}, "required": ["url"], "additionalProperties": false}}, {"name": "web_metadata", "description": "Extract a page's structured metadata: Open Graph, Twitter cards, canonical URL, language and JSON-LD.", "title": "Web Metadata", "annotations": {"readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": true}, "inputSchema": {"type": "object", "properties": {"url": {"type": "string", "description": "The http(s) page URL (max 2048 chars)."}}, "required": ["url"], "additionalProperties": false}}, {"name": "web_crawl", "description": "Crawl one site's same-host pages starting from a URL (depth 1-2, at most 20 pages) and return each page's title, URL and readable text.", "title": "Web Crawl", "annotations": {"readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": true}, "inputSchema": {"type": "object", "properties": {"url": {"type": "string", "description": "Start URL (same host is crawled)."}, "depth": {"type": "integer", "description": "Link depth 1-2. Default 2."}, "max_pages": {"type": "integer", "description": "Max pages 1-20. Default 20."}, "max_chars": {"type": "integer", "description": "Per-page content cap 200-4000. Default 1000."}}, "required": ["url"], "additionalProperties": false}}, {"name": "web_extract", "description": "Extract structured data from one public page: tables (headers + rows), JSON-LD blocks, and Open Graph/Twitter/canonical/language metadata.", "title": "Web Extract", "annotations": {"readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": true}, "inputSchema": {"type": "object", "properties": {"url": {"type": "string", "description": "The http(s) page URL."}, "include_links": {"type": "boolean", "description": "Also return same-host links (max 100). Default false."}}, "required": ["url"], "additionalProperties": false}}, {"name": "web_act", "description": "Drive a real Chromium browser on one public page: click, type, press keys, scroll, wait for selectors, then return the resulting text (and optionally a screenshot and JSON XHR responses).", "title": "Web Act", "annotations": {"readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": true}, "inputSchema": {"type": "object", "properties": {"url": {"type": "string", "description": "The http(s) page URL."}, "actions": {"type": "array", "minItems": 1, "maxItems": 10, "items": {"type": "object"}, "description": "Actions: {type: click|type|press|scroll|wait_for|wait_ms, ...}"}, "screenshot": {"type": "boolean", "description": "Return a JPEG screenshot. Default false."}, "full_page": {"type": "boolean", "description": "Full-page screenshot. Default false."}, "include_xhr": {"type": "boolean", "description": "Return JSON XHR responses captured while acting. Default false."}, "max_chars": {"type": "integer", "description": "Text cap 1000-20000. Default 20000."}}, "required": ["url", "actions"], "additionalProperties": false}}, {"name": "web_crawl_async", "description": "Submit a same-host crawl as an asynchronous job and return a job_id immediately.", "title": "Web Crawl Async", "annotations": {"readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": true}, "inputSchema": {"type": "object", "properties": {"url": {"type": "string", "description": "Start URL (same host is crawled)."}, "depth": {"type": "integer", "description": "Link depth 1-2. Default 2."}, "max_pages": {"type": "integer", "description": "Max pages 1-20. Default 20."}, "max_chars": {"type": "integer", "description": "Per-page content cap 200-4000. Default 1000."}, "idempotency_key": {"type": "string", "description": "Optional; retries within 24h return the same job."}}, "required": ["url"], "additionalProperties": false}}, {"name": "web_crawl_job", "description": "Check or cancel an asynchronous crawl job created by web_crawl_async.", "title": "Web Crawl Job", "annotations": {"readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": true}, "inputSchema": {"type": "object", "properties": {"job_id": {"type": "string", "description": "job_id returned by web_crawl_async."}, "action": {"type": "string", "enum": ["status", "cancel"], "description": "Poll status (default) or cancel the job."}}, "required": ["job_id"], "additionalProperties": false}}, {"name": "web_extract_schema", "description": "Extract a page's structured data into a named schema's common fields (no LLM): article, product, event, faq, recipe, course, organization, local_business, breadcrumb, dataset or job_posting.", "title": "Web Extract Schema", "annotations": {"readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": true}, "inputSchema": {"type": "object", "properties": {"url": {"type": "string", "description": "The http(s) page URL."}, "schema": {"type": "string", "enum": ["auto", "article", "product", "event", "faq", "recipe", "course", "organization", "local_business", "breadcrumb", "dataset", "job_posting"], "description": "Target schema; auto detects from JSON-LD types. Default auto."}}, "required": ["url"], "additionalProperties": false}}, {"name": "web_diff", "description": "Fetch a page now and compare it with the previous snapshot of the same URL, returning whether it changed and a unified diff (no LLM).", "title": "Web Diff", "annotations": {"readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": true}, "inputSchema": {"type": "object", "properties": {"url": {"type": "string", "description": "The http(s) page URL."}, "max_chars": {"type": "integer", "description": "Compare at most this many chars (500-12000). Default 4000."}, "fresh": {"type": "boolean", "description": "Bypass the page cache with a cache-busting query. Default true."}}, "required": ["url"], "additionalProperties": false}}, {"name": "web_monitor_set", "description": "Create a scheduled change monitor for one public URL: the server re-fetches the page on an interval, stores a new snapshot and records a diff event whenever the readable text changes.", "title": "Web Monitor Set", "annotations": {"readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": true}, "inputSchema": {"type": "object", "properties": {"url": {"type": "string", "description": "The http(s) URL to watch (max 2048 chars)."}, "interval_minutes": {"type": "integer", "description": "Check interval 15-1440 minutes. Default 60."}, "webhook_url": {"type": "string", "description": "Optional https endpoint notified on each change (HMAC-signed)."}}, "required": ["url"], "additionalProperties": false}}, {"name": "web_monitor_list", "description": "List the scheduled change monitors owned by the calling IP, with latest/next check time, last title or error, and the 5 most recent change events.", "title": "Web Monitor List", "annotations": {"readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": true}, "inputSchema": {"type": "object", "properties": {"monitor_id": {"type": "string", "description": "Optional: return this monitor (owned by the calling IP) plus its most recent change diff."}, "include_diff": {"type": "boolean", "description": "With monitor_id, include the latest unified diff. Default true."}}, "additionalProperties": false}}, {"name": "web_monitor_delete", "description": "Delete one scheduled change monitor owned by the calling IP (its event history is removed too).", "title": "Web Monitor Delete", "annotations": {"readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": true}, "inputSchema": {"type": "object", "properties": {"monitor_id": {"type": "string", "description": "monitor_id returned by web_monitor_set."}}, "required": ["monitor_id"], "additionalProperties": false}}, {"name": "prediction_market_odds", "description": "Live implied probabilities from prediction markets (Polymarket primary, Manifold fallback).", "title": "Prediction Market Odds", "annotations": {"readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": false}, "inputSchema": {"type": "object", "properties": {"query": {"type": "string", "description": "Optional event/topic search, e.g. 'bitcoin ETF 2026'."}, "limit": {"type": "integer", "minimum": 1, "maximum": 10, "default": 5}}, "additionalProperties": false}}, {"name": "crypto_trending", "description": "Crypto attention and market context: CoinGecko trending coins, top markets, DeFi TVL and Fear & Greed.", "title": "Crypto Trending", "annotations": {"readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": false}, "inputSchema": {"type": "object", "properties": {"limit": {"type": "integer", "minimum": 1, "maximum": 20, "default": 10}, "query": {"type": "string", "description": "Optional token/theme hint (currently informational)."}}, "additionalProperties": false}}, {"name": "list_chains", "description": "List every chain on the RobotBase roster with its state.", "title": "List Chains", "annotations": {"readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": false}, "inputSchema": {"type": "object", "properties": {}, "additionalProperties": false}}, {"name": "chain_status", "description": "Live run-time state of one chain's node.", "title": "Chain Status", "annotations": {"readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": false}, "inputSchema": {"type": "object", "properties": {"chain": {"type": "string", "enum": ["btc", "eth", "xmr", "zec", "tron"], "description": "Chain id: btc / eth / xmr / zec / tron"}}, "required": ["chain"], "additionalProperties": false}}, {"name": "robotbase_services", "description": "Live availability of every service behind the RobotBase gateway: the chain nodes, Web3 Agent Hub, AITOKENS and MCP itself.", "title": "Robotbase Services", "annotations": {"readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": false}, "inputSchema": {"type": "object", "properties": {}, "additionalProperties": false}}, {"name": "robotbase_capabilities", "description": "Per-chain capability, retention boundary and fee model.", "title": "Robotbase Capabilities", "annotations": {"readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": false}, "inputSchema": {"type": "object", "properties": {}, "additionalProperties": false}}, {"name": "btc_get_mempool_state", "description": "Bitcoin mempool depth, capacity load and a busy/normal verdict.", "title": "Btc Get Mempool State", "annotations": {"readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": false}, "inputSchema": {"type": "object", "properties": {}, "additionalProperties": false}}, {"name": "btc_get_fee_rates", "description": "Bitcoin fee rates for confirmation targets, plus the mempool floor.", "title": "Btc Get Fee Rates", "annotations": {"readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": false}, "inputSchema": {"type": "object", "properties": {}, "additionalProperties": false}}, {"name": "btc_get_transaction", "description": "Look up one Bitcoin transaction by txid - the core settlement check.", "title": "Btc Get Transaction", "annotations": {"readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": false}, "inputSchema": {"type": "object", "properties": {"txid": {"type": "string", "pattern": "^[0-9a-fA-F]{64}$", "description": "Bitcoin transaction hash (64 hex chars)"}}, "required": ["txid"], "additionalProperties": false}}, {"name": "btc_get_block", "description": "Bitcoin block summary by height or hash; omit both for the chain tip.", "title": "Btc Get Block", "annotations": {"readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": false}, "inputSchema": {"type": "object", "properties": {"height": {"type": "integer", "description": "Block height (optional)"}, "blockhash": {"type": "string", "description": "Block hash (optional; use instead of height)"}}, "additionalProperties": false}}, {"name": "btc_get_address", "description": "Balance and activity of a Bitcoin address, with no key involved.", "title": "Btc Get Address", "annotations": {"readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": false}, "inputSchema": {"type": "object", "properties": {"address": {"type": "string", "description": "Bitcoin mainnet address"}}, "required": ["address"], "additionalProperties": false}}, {"name": "btc_get_network_stats", "description": "Bitcoin network and node state: difficulty, network hashrate, total transactions processed and the current tx/s rate, protocol version, peer connections, relay fee, mempool size, uptime and which indexes (txindex) are synced on our node.", "title": "Btc Get Network Stats", "annotations": {"readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": false}, "inputSchema": {"type": "object", "properties": {}, "additionalProperties": false}}, {"name": "broadcast_raw_transaction", "description": "Relay an already-signed raw transaction to the network through our own full node (non-custodial: we never see a private key).", "title": "Broadcast Raw Transaction", "annotations": {"readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": false}, "inputSchema": {"type": "object", "properties": {"chain": {"type": "string", "enum": ["btc"]}, "signed_raw_tx_hex": {"type": "string", "description": "Raw signed transaction hex"}}, "required": ["chain", "signed_raw_tx_hex"], "additionalProperties": false}}, {"name": "eth_get_block", "description": "One Ethereum block by number, tag (latest/finalized/safe) or hash: timestamp, transaction count, gas used against the limit, base fee, block builder and size.", "title": "Eth Get Block", "annotations": {"readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": false}, "inputSchema": {"type": "object", "properties": {"height": {"description": "Block number (integer or hex), or a tag like latest / finalized / safe"}, "block_hash": {"type": "string", "description": "0x + 64 hex block hash; takes precedence"}}, "additionalProperties": false}}, {"name": "eth_read_contract", "description": "Read-only (eth_call) against any Ethereum contract, executed by our own Reth node. ERC-20 helpers balanceOf / allowance / decimals / symbol / name / totalSupply are built in; any other function can be called by passing its 4-byte `select…", "title": "Eth Read Contract", "annotations": {"readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": false}, "inputSchema": {"type": "object", "properties": {"contract": {"type": "string", "description": "0x + 40 hex contract address"}, "function": {"type": "string", "description": "balanceOf | allowance | decimals | symbol | name | totalSupply, or a label for a raw selector"}, "argument": {"type": "string", "description": "Ethereum address argument (balanceOf / allowance)"}, "argument2": {"type": "string", "description": "Second address argument (allowance)"}, "selector": {"type": "string", "description": "Explicit 4-byte selector hex for non-ERC-20 calls"}, "parameter": {"type": "string", "description": "ABI-encoded parameter hex (with an explicit selector)"}, "output_type": {"type": "string", "enum": ["uint256", "address", "string", "bool"]}}, "required": ["contract", "function"], "additionalProperties": false}}, {"name": "eth_get_logs", "description": "Ethereum event logs over a block range, optionally filtered by contract address and event signature, with ERC-20 Transfer logs decoded (token, from, to, amount).", "title": "Eth Get Logs", "annotations": {"readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": false}, "inputSchema": {"type": "object", "properties": {"from_block": {"description": "Integer or hex or tag; defaults to 50 blocks back"}, "to_block": {"description": "Integer or hex or tag; defaults to latest"}, "address": {"type": "string", "description": "Optional contract address filter"}, "topic0": {"type": "string", "description": "Optional event signature hash filter"}, "limit": {"type": "integer", "minimum": 1, "maximum": 1000, "description": "Max logs to return (default 50)"}}, "additionalProperties": false}}, {"name": "eth_get_transaction", "description": "Ethereum transaction check by hash: success or reverted, gas used, fee paid, confirmations, whether the block is finalized, and any ERC-20 transfers decoded from the receipt logs (token, from, to, amount).", "title": "Eth Get Transaction", "annotations": {"readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": false}, "inputSchema": {"type": "object", "properties": {"txid": {"type": "string", "description": "0x + 64 hex transaction hash"}}, "required": ["txid"], "additionalProperties": false}}, {"name": "eth_get_account", "description": "Ethereum account state from our own node: ETH balance, nonce, and whether the address is a contract.", "title": "Eth Get Account", "annotations": {"readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": false}, "inputSchema": {"type": "object", "properties": {"address": {"type": "string", "description": "0x + 40 hex address"}}, "required": ["address"], "additionalProperties": false}}, {"name": "eth_get_fee_rates", "description": "Ethereum fee market from our own Reth node: current and next base fee, priority-fee percentiles over the last blocks, and the estimated ETH cost of a plain transfer and of an ERC-20 transfer.", "title": "Eth Get Fee Rates", "annotations": {"readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": false}, "inputSchema": {"type": "object", "properties": {}, "additionalProperties": false}}, {"name": "tron_check_address_risk", "description": "TRON address risk intelligence: judicial and black-market labels, account profile and a 0-100 safety score.", "title": "Tron Check Address Risk", "annotations": {"readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": true}, "inputSchema": {"type": "object", "properties": {"address": {"type": "string", "description": "TRON base58 address (T...)"}}, "required": ["address"], "additionalProperties": false}}, {"name": "tron_verify_usdt_transfer", "description": "TRC-20 USDT settlement check by transaction id: did it land, is it irreversible, how much, from and to whom.", "title": "Tron Verify Usdt Transfer", "annotations": {"readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": true}, "inputSchema": {"type": "object", "properties": {"txid": {"type": "string", "description": "TRON transaction id (64 hex chars)"}, "expected_to": {"type": "string", "description": "Optional: the recipient you expect"}, "expected_amount_usdt": {"type": "number", "description": "Optional: the USDT amount you expect"}}, "required": ["txid"], "additionalProperties": false}}, {"name": "tron_get_current_block", "description": "The current (tip) TRON block: number, id, parent, timestamp, transaction count and a breakdown by contract type, plus the producing witness.", "title": "Tron Get Current Block", "annotations": {"readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": false}, "inputSchema": {"type": "object", "properties": {}, "additionalProperties": false}}, {"name": "tron_get_transaction", "description": "One Tron transaction by txid: success or reverted, energy used, the call it made, and - this is the important part - any TRC-20 transfers decoded from the receipt logs (token, from, to, amount).", "title": "Tron Get Transaction", "annotations": {"readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": false}, "inputSchema": {"type": "object", "properties": {"txid": {"type": "string", "description": "64 hex char Tron transaction id"}}, "required": ["txid"], "additionalProperties": false}}, {"name": "tron_get_account", "description": "TRON account state read straight off our own node: TRX balance, whether the account is activated, energy and bandwidth (used / limit), whether it is a witness, and account age.", "title": "Tron Get Account", "annotations": {"readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": false}, "inputSchema": {"type": "object", "properties": {"address": {"type": "string", "description": "TRON address, base58 (T...) or 41-hex"}}, "required": ["address"], "additionalProperties": false}}, {"name": "tron_read_contract", "description": "Read-only (constant) call against any TRON contract, executed by our own node. TRC-20 helpers balanceOf / allowance / decimals / symbol / name / totalSupply are built in; any other function can be called with a raw selector plus ABI-enco…", "title": "Tron Read Contract", "annotations": {"readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": false}, "inputSchema": {"type": "object", "properties": {"contract": {"type": "string", "description": "Contract address (base58 or 41-hex)"}, "function": {"type": "string", "description": "balanceOf | allowance | decimals | symbol | name | totalSupply, or a raw selector like 'foo(uint256)'"}, "argument": {"type": "string", "description": "TRON address argument (for balanceOf / allowance)"}, "argument2": {"type": "string", "description": "Second address argument (for allowance)"}, "parameter": {"type": "string", "description": "Raw ABI-encoded parameter hex, for raw selectors"}, "output_type": {"type": "string", "enum": ["uint256", "address", "string", "bool"]}}, "required": ["contract", "function"], "additionalProperties": false}}, {"name": "tron_get_block", "description": "One Tron block by height or block id, read from our own node: producer, timestamp, transaction count split by contract type, and the tx ids in it.", "title": "Tron Get Block", "annotations": {"readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": false}, "inputSchema": {"type": "object", "properties": {"height": {"type": "integer", "description": "Block height"}, "block_id": {"type": "string", "description": "Block id (64 hex chars); takes precedence over height"}}, "additionalProperties": false}}, {"name": "tron_get_node_status", "description": "TRON node state from our own java-tron full node: tip height, finalized (solidity) height and how far solidity lags, peers, client version, transactions in the tip block.", "title": "Tron Get Node Status", "annotations": {"readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": false}, "inputSchema": {"type": "object", "properties": {}, "additionalProperties": false}}, {"name": "tron_get_contract", "description": "TRON contract metadata: name, creator, whether its ABI is published on chain, the function list, code hash and whether it looks like a TRC-20.", "title": "Tron Get Contract", "annotations": {"readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": false}, "inputSchema": {"type": "object", "properties": {"address": {"type": "string", "description": "TRON contract address"}}, "required": ["address"], "additionalProperties": false}}, {"name": "tron_get_chain_economics", "description": "TRON chain economics straight off our node: energy price (sun per energy unit), transaction fee, account creation fee, witness pay per block, total energy and bandwidth limits, maintenance interval and the next maintenance time, unfreeze…", "title": "Tron Get Chain Economics", "annotations": {"readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": false}, "inputSchema": {"type": "object", "properties": {}, "additionalProperties": false}}, {"name": "tron_list_witnesses", "description": "TRON super representatives and candidates: who is producing blocks, how many they produced, how many they missed, votes and websites - read from our own node.", "title": "Tron List Witnesses", "annotations": {"readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": false}, "inputSchema": {"type": "object", "properties": {"limit": {"type": "integer", "minimum": 1, "maximum": 200, "description": "How many top producers to return (default 30)"}}, "additionalProperties": false}}, {"name": "tron_list_proposals", "description": "Tron governance proposals: id, proposer, state, approvals, expiry and the parameters they would change.", "title": "Tron List Proposals", "annotations": {"readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": false}, "inputSchema": {"type": "object", "properties": {"limit": {"type": "integer", "minimum": 1, "maximum": 100, "description": "How many top proposals to return (default 20)"}}, "additionalProperties": false}}, {"name": "xmr_get_recent_blocks", "description": "The most recent Monero blocks with the observed block interval.", "title": "Xmr Get Recent Blocks", "annotations": {"readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": false}, "inputSchema": {"type": "object", "properties": {"limit": {"type": "integer", "minimum": 1, "maximum": 50, "description": "How many blocks (default 10, max 50)"}}, "additionalProperties": false}}, {"name": "xmr_get_block", "description": "One Monero block header, by height or by block hash.", "title": "Xmr Get Block", "annotations": {"readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": false}, "inputSchema": {"type": "object", "properties": {"height": {"type": "integer", "description": "Block height"}, "block_hash": {"type": "string", "description": "64 hex chars; takes precedence over height"}}, "anyOf": [{"required": ["height"]}, {"required": ["block_hash"]}], "additionalProperties": false}}, {"name": "xmr_get_node_status", "description": "Monero node state: height vs target, sync flag, difficulty, txpool size, database size, monerod version and peer counts.", "title": "Xmr Get Node Status", "annotations": {"readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": false}, "inputSchema": {"type": "object", "properties": {}, "additionalProperties": false}}, {"name": "xmr_get_fee_rates", "description": "Monero fee estimate per kB, split into ascending priority tiers, read from our own monerod.", "title": "Xmr Get Fee Rates", "annotations": {"readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": false}, "inputSchema": {"type": "object", "properties": {}, "additionalProperties": false}}, {"name": "xmr_get_mempool_state", "description": "Monero mempool: pending transaction count, total bytes and fees, age of the oldest pending tx, double-spend/failing counts.", "title": "Xmr Get Mempool State", "annotations": {"readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": false}, "inputSchema": {"type": "object", "properties": {}, "additionalProperties": false}}, {"name": "xmr_get_transaction", "description": "Look up one Monero transaction by txid: is it mined, in which block, how many confirmations, its size, output count and ring size.", "title": "Xmr Get Transaction", "annotations": {"readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": false}, "inputSchema": {"type": "object", "properties": {"txid": {"type": "string", "description": "64 hex char Monero transaction id"}}, "required": ["txid"], "additionalProperties": false}}, {"name": "xmr_get_network_stats", "description": "Monero network-wide state: network hashrate, difficulty, emission and fees over the last 720 blocks, protocol version and the next hard fork.", "title": "Xmr Get Network Stats", "annotations": {"readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": false}, "inputSchema": {"type": "object", "properties": {}, "additionalProperties": false}}, {"name": "xmr_verify_payment", "description": "Verify one Monero payment cryptographically, using proof material only the recipient can provide. Give it a txid plus either the transaction key (from your own wallet: get_tx_key <txid>) or a transaction proof signature (get_tx_proof), a…", "title": "Xmr Verify Payment", "annotations": {"readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": false}, "inputSchema": {"type": "object", "properties": {"txid": {"type": "string", "description": "64 hex char Monero transaction id"}, "address": {"type": "string", "description": "The Monero address that should have received the payment"}, "tx_key": {"type": "string", "description": "Transaction key from your own wallet (get_tx_key)"}, "signature": {"type": "string", "description": "Transaction proof signature (get_tx_proof) instead of tx_key"}, "message": {"type": "string", "description": "Optional message the proof was signed over"}}, "required": ["txid", "address"], "additionalProperties": false}}, {"name": "xmr_get_output_distribution", "description": "Monero output distribution: how many spendable outputs fall into each ring-size bucket, read from our own monerod. This is the anonymity-set side of Monero that free explorers rarely expose.", "title": "Xmr Get Output Distribution", "annotations": {"readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": false}, "inputSchema": {"type": "object", "properties": {"from_height": {"type": "integer", "description": "Start height; defaults to tip-5010"}, "to_height": {"type": "integer", "description": "End height; defaults to tip-5000"}}, "additionalProperties": false}}, {"name": "xmr_merchant_report", "description": "Historical incoming-payment ledger for one Monero address, computed with a view key. Returns per-day counts and totals, the largest common amounts, confirmations, unlocked flags and a completion flag for a 1-30 day window.", "title": "Xmr Merchant Report", "annotations": {"readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": false}, "inputSchema": {"type": "object", "properties": {"address": {"type": "string", "description": "Monero address to reconcile"}, "view_key": {"type": "string", "description": "64 hex char private view key (read-only, cannot spend)"}, "period_days": {"type": "integer", "description": "1-30 days window (default 7)"}, "include_pending": {"type": "boolean", "description": "include pool/pending transfers (default true)"}, "limit": {"type": "integer", "description": "max transfers returned, 1-2000 (default 500)"}}, "required": ["address", "view_key"], "additionalProperties": false}}, {"name": "xmr_wallet_balance", "description": "Balance for one Monero address using a view key: total, unlocked and pending XMR, with the scanned window and a completion flag.", "title": "Xmr Wallet Balance", "annotations": {"readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": false}, "inputSchema": {"type": "object", "properties": {"address": {"type": "string", "description": "Monero address"}, "view_key": {"type": "string", "description": "64 hex char private view key"}, "lookback_days": {"type": "integer", "description": "rescan window in days, 1-3650 (default 30)"}}, "required": ["address", "view_key"], "additionalProperties": false}}, {"name": "xmr_mining_profitability", "description": "Mining profitability calculator using live chain difficulty and the Monero tail-emission reward: gross XMR per day/month, power cost, net USD profit, break-even XMR price, break-even electricity price and hardware ROI days.", "title": "Xmr Mining Profitability", "annotations": {"readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": false}, "inputSchema": {"type": "object", "properties": {"hashrate_hs": {"type": "number", "description": "hashrate in H/s"}, "hashrate_khs": {"type": "number", "description": "alternative: kH/s"}, "hashrate_mhs": {"type": "number", "description": "alternative: MH/s"}, "power_watts": {"type": "number", "description": "rig power draw in watts"}, "power_cost_kwh": {"type": "number", "description": "electricity price per kWh (USD)"}, "xmr_price_usd": {"type": "number", "description": "XMR price in USD for profit calc"}, "hardware_cost_usd": {"type": "number", "description": "optional hardware cost for ROI"}, "service_fee_percent": {"type": "number", "description": "optional pool fee percent"}}, "required": [], "additionalProperties": false}}, {"name": "zec_get_recent_blocks", "description": "The most recent Zcash blocks.", "title": "Zec Get Recent Blocks", "annotations": {"readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": false}, "inputSchema": {"type": "object", "properties": {"n": {"type": "integer", "minimum": 1, "maximum": 20, "default": 5, "description": "How many recent blocks to return; default 5"}}, "additionalProperties": false}}, {"name": "zec_get_pool_status", "description": "Zcash chain state plus the distribution of all six value pools, in one call.", "title": "Zec Get Pool Status", "annotations": {"readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": false}, "inputSchema": {"type": "object", "properties": {}, "additionalProperties": false}}, {"name": "zec_get_transaction", "description": "Zcash transaction check by txid from our own Zebra node: confirmations, block height and time, whether it is in the active chain, size, and how much of it is transparent versus shielded.", "title": "Zec Get Transaction", "annotations": {"readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": false}, "inputSchema": {"type": "object", "properties": {"txid": {"type": "string", "description": "64 hex char Zcash transaction id"}}, "required": ["txid"], "additionalProperties": false}}, {"name": "zec_get_treestate", "description": "Zcash shielded commitment-tree state: the Sapling, Orchard and Ironwood anchor roots at a given block.", "title": "Zec Get Treestate", "annotations": {"readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": false}, "inputSchema": {"type": "object", "properties": {"block_hash": {"type": "string", "description": "64 hex block hash"}, "height": {"type": "integer", "description": "Block height instead of a hash"}}, "additionalProperties": false}}, {"name": "zec_get_network_stats", "description": "Zcash network and node state: mempool size and bytes, node version, difficulty, network hashrate, chain progress and disk, block subsidy, and the funding streams (including Zcash Community Grants).", "title": "Zec Get Network Stats", "annotations": {"readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": false}, "inputSchema": {"type": "object", "properties": {}, "additionalProperties": false}}], "note": "compact catalog; add ?full=1 for full descriptions"}