{"serverId":"mcp-registry/io.github.sandeep-antier/abstraxn","tools":[{"name":"market.crypto","fixed":{"name":"market_crypto","description":"Crypto market-data lookups (CoinGecko-sourced pricing and market data), paid per call in USDC/USDm directly from the caller's own wallet via the x402 protocol — no Abstraxn account needed. Pick one `action`:\n\n- search ($0.001): fuzzy-search coins by name/symbol. Requires `q`. Call this first to resolve a coin id before using price_feed or historical_data, both of which need an id (e.g. \"bitcoin\"), not a ticker.\n- price_feed ($0.001): current price (and optionally 24h change / market cap) for one","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["action"],"properties":{"q":{"type":"string","description":"search: coin name or symbol to search for, e.g. \"btc\"."},"id":{"type":"string","description":"historical_data: coin id, e.g. \"bitcoin\"."},"ids":{"type":"string","description":"price_feed: comma-separated coin IDs, e.g. \"bitcoin,ethereum\"."},"days":{"type":"string","description":"historical_data: lookback window in days, or \"max\". Default 30."},"page":{"type":"integer","maximum":9007199254740991,"minimum":1,"description":"market_data: page number, default 1."},"limit":{"type":"integer","maximum":250,"minimum":1,"description":"market_data: max results, default 100."},"order":{"type":"string","description":"market_data: sort order, default \"market_cap_desc\"."},"action":{"enum":["search","price_feed","market_data","historical_data","trending","token_prices"],"type":"string","description":"Which market-data operation to perform."},"tokens":{"type":"array","items":{"type":"object","required":["chain","token_address"],"properties":{"chain":{"type":"string"},"token_address":{"type":"string"}}},"maxItems":200,"description":"token_prices: array of {chain, token_address} pairs to price, max 200 entries."},"category":{"type":"string","description":"market_data: category filter, e.g. \"decentralized-finance-defi\"."},"currency":{"type":"string","description":"market_data / historical_data: currency code, default \"usd\"."},"interval":{"type":"string","description":"historical_data: data granularity, e.g. \"daily\"."},"currencies":{"type":"string","description":"price_feed: comma-separated fiat currency codes, default \"usd\"."},"include_24h":{"type":"boolean","description":"price_feed: include 24h price change (default true)."},"include_mcap":{"type":"boolean","description":"price_feed: include market cap (default false)."},"paymentPayload":{"type":"object","description":"x402 payment payload from a previous `paymentRequired` challenge. Omit on the first call.","propertyNames":{"type":"string"},"additionalProperties":{}}}},"annotations":{"title":"Crypto market data (pay-per-call)","readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"title":"Crypto market data (pay-per-call)"},"changes":[{"kind":"name","detail":"Renamed \"market.crypto\" → \"market_crypto\" (letters, digits, _ and - only; max 64). Keep the old name as an alias for a release if clients already call it.","verify":true}],"tokensBefore":738,"tokensAfter":738},{"name":"network.blocknumber","fixed":{"name":"network_blocknumber","description":"Read the current chain head — EVM block number or Solana slot — for a supported network. Free, read-only, no wallet needed.\n\nUse this to confirm a network is progressing before submitting a transaction, correlate off-chain events with on-chain height, or choose a safe starting point when scanning logs.\n\nPass `chain` as one of: solana, solana-devnet, ethereum, sepolia, polygon, amoy, bsc, bsc-testnet, base, base-sepolia, tempo, tempo-testnet, arbitrum-one, monad, skale-base-sepolia. Omit `chain` ","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"chain":{"enum":["solana","solana-devnet","ethereum","sepolia","polygon","amoy","bsc","bsc-testnet","base","base-sepolia","tempo","tempo-testnet","arbitrum-one","monad","skale-base-sepolia","all"],"type":"string","description":"Blockchain network, or \"all\" (default) for every supported chain. One of: solana, solana-devnet, ethereum, sepolia, polygon, amoy, bsc, bsc-testnet, base, base-sepolia, tempo, tempo-testnet, arbitrum-one, monad, skale-base-sepolia, all"}}},"annotations":{"title":"Get current block number / slot","readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"title":"Get current block number / slot"},"changes":[{"kind":"name","detail":"Renamed \"network.blocknumber\" → \"network_blocknumber\" (letters, digits, _ and - only; max 64). Keep the old name as an alias for a release if clients already call it.","verify":true}],"tokensBefore":311,"tokensAfter":311},{"name":"network.gas_info","fixed":{"name":"network_gas_info","description":"Get the current gas price and EIP-1559 fee hints for an EVM chain. Free, read-only, no wallet needed.\n\nUse this to estimate transaction cost or explain fees to a user before they send a transaction. `chain` is required. Supported chains: ethereum, sepolia, polygon, amoy, bsc, bsc-testnet, base, base-sepolia, tempo, tempo-testnet, arbitrum-one, monad, skale-base-sepolia.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["chain"],"properties":{"chain":{"enum":["ethereum","sepolia","polygon","amoy","bsc","bsc-testnet","base","base-sepolia","tempo","tempo-testnet","arbitrum-one","monad","skale-base-sepolia"],"type":"string","description":"EVM network slug. One of: ethereum, sepolia, polygon, amoy, bsc, bsc-testnet, base, base-sepolia, tempo, tempo-testnet, arbitrum-one, monad, skale-base-sepolia"}}},"annotations":{"title":"Get gas price info","readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"title":"Get gas price info"},"changes":[{"kind":"name","detail":"Renamed \"network.gas_info\" → \"network_gas_info\" (letters, digits, _ and - only; max 64). Keep the old name as an alias for a release if clients already call it.","verify":true}],"tokensBefore":250,"tokensAfter":250},{"name":"network.prepare_transfer","fixed":{"name":"network_prepare_transfer","description":"Build an **unsigned** native or token transfer transaction for a supported chain, from an explicit sender you provide. Free, read-only against the chain (nonce/gas/fees are read live) — this tool never signs, broadcasts, holds a key, or enforces any allowlist/spend limit. This server never binds a caller wallet, so `from` is always required.\n\nSupported chains: solana, solana-devnet, ethereum, sepolia, polygon, amoy, bsc, bsc-testnet, base, base-sepolia, tempo, tempo-testnet, arbitrum-one, monad,","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["chain","from","to","amount"],"properties":{"to":{"type":"string","description":"Recipient address (0x for EVM, base58 for Solana)."},"data":{"type":"string","description":"Hex-encoded calldata for a raw EVM contract call (0x-prefixed). Requires `to` as the call target."},"from":{"type":"string","description":"Sender address (0x for EVM, base58 for Solana)."},"chain":{"enum":["solana","solana-devnet","ethereum","sepolia","polygon","amoy","bsc","bsc-testnet","base","base-sepolia","tempo","tempo-testnet","arbitrum-one","monad","skale-base-sepolia"],"type":"string","description":"Destination chain. One of: solana, solana-devnet, ethereum, sepolia, polygon, amoy, bsc, bsc-testnet, base, base-sepolia, tempo, tempo-testnet, arbitrum-one, monad, skale-base-sepolia"},"token":{"type":"string","description":"Token symbol (native/USDC/USDC.e) or EVM contract address. Omit for the chain's native token."},"amount":{"type":"string","description":"Amount in human units (e.g. \"0.1\", \"100\"). Use \"0\" for a contract call that sends no native value."},"private":{"type":"boolean","description":"Request BITE privacy encryption. Only valid on skale-base-sepolia (defaults true there); rejected elsewhere."},"token_decimals":{"type":"integer","maximum":9007199254740991,"minimum":-9007199254740991,"description":"Fallback decimals for an EVM ERC-20 if a live decimals() read fails (default 18)."}}},"annotations":{"title":"Prepare an unsigned transfer transaction","readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"title":"Prepare an unsigned transfer transaction"},"changes":[{"kind":"name","detail":"Renamed \"network.prepare_transfer\" → \"network_prepare_transfer\" (letters, digits, _ and - only; max 64). Keep the old name as an alias for a release if clients already call it.","verify":true}],"tokensBefore":569,"tokensAfter":569},{"name":"network.token_info","fixed":{"name":"network_token_info","description":"Read ERC-20 token metadata — name, symbol, decimals, total supply — for a token contract on an EVM chain. Free, read-only.\n\nPass `token` as a contract address (0x…) or symbol `USDC` / `USDC.e` on chains where a lookup is configured. This server never holds a caller wallet, so no balance is ever returned — only public token metadata. Both `chain` and `token` are required. Supported chains: ethereum, sepolia, polygon, amoy, bsc, bsc-testnet, base, base-sepolia, tempo, tempo-testnet, arbitrum-one, ","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["chain","token"],"properties":{"chain":{"enum":["ethereum","sepolia","polygon","amoy","bsc","bsc-testnet","base","base-sepolia","tempo","tempo-testnet","arbitrum-one","monad","skale-base-sepolia"],"type":"string","description":"EVM network for the token contract."},"token":{"type":"string","description":"ERC-20 contract address (0x…) or symbol USDC / USDC.e where configured for the chain."}}},"annotations":{"title":"Get ERC-20 token info","readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"title":"Get ERC-20 token info"},"changes":[{"kind":"name","detail":"Renamed \"network.token_info\" → \"network_token_info\" (letters, digits, _ and - only; max 64). Keep the old name as an alias for a release if clients already call it.","verify":true}],"tokensBefore":289,"tokensAfter":289},{"name":"network.token_price","fixed":{"name":"network_token_price","description":"Get a spot token price from a public market API (CoinGecko). Free — no payment or wallet needed. Defaults to ETH/USD.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"symbol":{"type":"string","description":"CoinGecko token id (e.g. \"ethereum\", \"bitcoin\", \"solana\"). Defaults to \"ethereum\"."},"vsCurrency":{"type":"string","description":"Quote currency code. Defaults to \"usd\"."}}},"annotations":{"title":"Get token spot price","readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"title":"Get token spot price"},"changes":[{"kind":"name","detail":"Renamed \"network.token_price\" → \"network_token_price\" (letters, digits, _ and - only; max 64). Keep the old name as an alias for a release if clients already call it.","verify":true}],"tokensBefore":135,"tokensAfter":135},{"name":"network.transaction_status","fixed":{"name":"network_transaction_status","description":"Check the status of a transaction. Supports both EVM (transaction hash) and Solana (signature). Free, read-only.\n\nUse this to confirm a transfer landed, debug a failed transaction, or report status to a user. Both `chain` and `transaction_hash` are required. Available chains: solana, solana-devnet, ethereum, sepolia, polygon, amoy, bsc, bsc-testnet, base, base-sepolia, tempo, tempo-testnet, arbitrum-one, monad, skale-base-sepolia.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["chain","transaction_hash"],"properties":{"chain":{"enum":["solana","solana-devnet","ethereum","sepolia","polygon","amoy","bsc","bsc-testnet","base","base-sepolia","tempo","tempo-testnet","arbitrum-one","monad","skale-base-sepolia"],"type":"string","description":"Blockchain network. One of: solana, solana-devnet, ethereum, sepolia, polygon, amoy, bsc, bsc-testnet, base, base-sepolia, tempo, tempo-testnet, arbitrum-one, monad, skale-base-sepolia"},"transaction_hash":{"type":"string","description":"Transaction hash (EVM, 0x + 64 hex) or Solana signature (base58)."}}},"annotations":{"title":"Get transaction status","readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"title":"Get transaction status"},"changes":[{"kind":"name","detail":"Renamed \"network.transaction_status\" → \"network_transaction_status\" (letters, digits, _ and - only; max 64). Keep the old name as an alias for a release if clients already call it.","verify":true}],"tokensBefore":322,"tokensAfter":322},{"name":"places.lookup","fixed":{"name":"places_lookup","description":"Places, solar, and aerial-view lookups, paid per call directly from the caller's own wallet via the x402 protocol — no Abstraxn account needed. Pick one `action`:\n\n- text_search_full ($0.08): full-detail place text search. Requires `textQuery`. Optional `maxResultCount` (1-5, default 5), `excludeFields` (default [\"photos\"]), `pageToken`, `locationBias` ({circle:{center:{latitude,longitude},radius}}), `includedType`, `languageCode` (default \"en\"), `openNow`, `minRating` (0-5), `priceLevels`.\n- te","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["action"],"properties":{"id":{"type":"string","description":"solar_rgb_image (Mode A): asset id from a prior solar_data_layers call."},"crop":{"type":"boolean","description":"solar_rgb_image: crop to a circle, default false. Optional."},"hour":{"type":"integer","maximum":23,"minimum":0,"description":"solar_rgb_image: hour for hourlyShade layer. Optional."},"view":{"enum":["DSM_LAYER","IMAGERY_LAYERS","IMAGERY_AND_ANNUAL_FLUX_LAYERS","IMAGERY_AND_ALL_FLUX_LAYERS","FULL_LAYERS"],"type":"string","description":"solar_data_layers: which layer set to return, default FULL_LAYERS. Optional."},"layer":{"enum":["rgb","dsm","annualFlux","monthlyFlux","hourlyShade","mask"],"type":"string","description":"solar_rgb_image: which layer to render, default \"rgb\". Optional."},"month":{"type":"integer","maximum":12,"minimum":1,"description":"solar_rgb_image: month for monthlyFlux/hourlyShade layers. Optional."},"scale":{"type":"integer","maximum":2,"minimum":1,"description":"solar_rgb_image: image scale factor, default 1. Optional."},"action":{"enum":["text_search_full","text_search_partial","nearby_search_full","nearby_search_partial","place_details_full","place_details_partial","solar_building_insights","solar_data_layers","solar_rgb_image","aerial_view_lookup_video","aerial_view_render_video"],"type":"string","description":"Which places/solar/aerial-view operation to perform."},"format":{"enum":["png","jpeg"],"type":"string","description":"solar_rgb_image: output image format, default png. Optional."},"address":{"type":"string","description":"aerial_view_render_video: REQUIRED address to render. aerial_view_lookup_video: exactly one of address/videoId is required."},"openNow":{"type":"boolean","description":"text_search_full / text_search_partial: only return places currently open. Optional."},"placeId":{"type":"string","description":"place_details_full / place_details_partial: REQUIRED place id."},"quality":{"type":"integer","maximum":100,"minimum":1,"description":"solar_rgb_image: JPEG quality (1-100), default 85. Optional."},"videoId":{"type":"string","description":"aerial_view_lookup_video: exactly one of address/videoId is required."},"latitude":{"type":"number","maximum":90,"minimum":-90,"description":"solar_building_insights / solar_data_layers / solar_rgb_image (Mode B): latitude."},"longitude":{"type":"number","maximum":180,"minimum":-180,"description":"solar_building_insights / solar_data_layers / solar_rgb_image (Mode B): longitude."},"minRating":{"type":"number","maximum":5,"minimum":0,"description":"text_search_full / text_search_partial: minimum average rating filter (0-5). Optional."},"pageToken":{"type":"string","description":"text/nearby search: pagination token from a previous nextPageToken. Optional."},"textQuery":{"type":"string","description":"text_search_full / text_search_partial: free-text query, e.g. \"coffee shops in Brooklyn\"."},"priceLevels":{"type":"array","items":{"enum":["PRICE_LEVEL_FREE","PRICE_LEVEL_INEXPENSIVE","PRICE_LEVEL_MODERATE","PRICE_LEVEL_EXPENSIVE","PRICE_LEVEL_VERY_EXPENSIVE"],"type":"string"},"description":"text_search_full / text_search_partial: filter by one or more price levels. Optional."},"includedType":{"type":"string","description":"text_search_full / text_search_partial: restrict to one place type, e.g. \"restaurant\". Optional."},"languageCode":{"type":"string","description":"text/nearby search, place details: response language, default \"en\". Optional."},"locationBias":{"type":"object","required":["circle"],"properties":{"circle":{"type":"object","required":["center"],"properties":{"center":{"type":"object","required":["latitude","longitude"],"properties":{"latitude":{"type":"number"},"longitude":{"type":"number"}}},"radius":{"type":"number"}}}},"description":"text_search_full / text_search_partial: soft location bias. Optional."},"radiusMeters":{"type":"number","description":"solar_data_layers: radius in meters (0.1-175, default 50). solar_rgb_image (Mode B only): radius in meters (0.1-100, default 30). Optional."},"excludeFields":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"string"}],"description":"Nested-path field names to exclude from the response (colon-separated for nested paths, e.g. \"organization:technologies\"). Defaults to [\"photos\"] on every place-search/details action if omitted — pass [] to include photos. Optional."},"excludedTypes":{"type":"array","items":{"type":"string"},"maxItems":50,"description":"nearby_search_full / nearby_search_partial: place types to exclude. Optional."},"includedTypes":{"type":"array","items":{"type":"string"},"maxItems":50,"description":"nearby_search_full / nearby_search_partial: place types to include. Optional."},"maxResultCount":{"type":"integer","maximum":5,"minimum":1,"description":"text/nearby search: max results per page (1-5, default 5). Optional."},"paymentPayload":{"type":"object","description":"x402 payment payload from a previous `paymentRequired` challenge. Omit on the first call.","propertyNames":{"type":"string"},"additionalProperties":{}},"rankPreference":{"enum":["POPULARITY","DISTANCE"],"type":"string","description":"nearby_search_full / nearby_search_partial: result ranking, default POPULARITY. Optional."},"pixelSizeMeters":{"type":"number","description":"solar_data_layers: pixel resolution in meters, default 0.25. One of 0.1/0.25/0.5/1.0 by convention but not schema-enforced. Optional."},"requiredQuality":{"enum":["LOW","MEDIUM","HIGH"],"type":"string","description":"solar_building_insights / solar_data_layers: minimum imagery quality, default HIGH. Optional."},"locationRestriction":{"type":"object","required":["circle"],"properties":{"circle":{"type":"object","required":["center","radius"],"properties":{"center":{"type":"object","required":["latitude","longitude"],"properties":{"latitude":{"type":"number"},"longitude":{"type":"number"}}},"radius":{"type":"number","maximum":50000,"minimum":0}}}},"description":"nearby_search_full / nearby_search_partial: REQUIRED hard boundary — {circle:{center:{latitude,longitude}, radius (0-50000)}}."},"exactQualityRequired":{"type":"boolean","description":"solar_data_layers: fail instead of falling back to lower quality, default false. Optional."}}},"annotations":{"title":"Places / solar / aerial-view lookups (pay-per-call)","readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"title":"Places / solar / aerial-view lookups (pay-per-call)"},"changes":[{"kind":"name","detail":"Renamed \"places.lookup\" → \"places_lookup\" (letters, digits, _ and - only; max 64). Keep the old name as an alias for a release if clients already call it.","verify":true}],"tokensBefore":1909,"tokensAfter":1909},{"name":"social.profile_lookup","fixed":{"name":"social_profile_lookup","description":"Resolve person / social-profile identity for a batch of records, paid per call directly from the caller's own wallet via the x402 protocol — no Abstraxn account needed. Supports two modes per record:\n\n- Fuzzy match: supply `first_name` and/or `last_name` plus `emails` and/or `phones`.\n- Reverse lookup: supply only `emails` and/or `phones`, no name required.\n\nEvery record needs a caller-chosen `record_id` (any string) to correlate it with its match in the response, plus at least one non-empty fir","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["records"],"properties":{"records":{"type":"array","items":{"type":"object","required":["record_id"],"properties":{"emails":{"type":"array","items":{"type":"string"}},"phones":{"type":"array","items":{"type":"string"}},"last_name":{"type":"string"},"record_id":{"type":"string","description":"Caller-chosen id to correlate this record with its match in the response."},"first_name":{"type":"string"}}},"minItems":1,"description":"Records to resolve. Each needs record_id plus at least one non-empty first_name/last_name, emails entry, or phones entry."},"paymentPayload":{"type":"object","description":"x402 payment payload from a previous `paymentRequired` challenge. Omit on the first call.","propertyNames":{"type":"string"},"additionalProperties":{}},"match_condition_fields":{"type":"array","items":{"type":"string"},"description":"Optional filter — only return matches whose result includes ALL of these fields, e.g. [\"linkedin_url\"]."}}},"annotations":{"title":"Social / person profile lookup (pay-per-call)","readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"title":"Social / person profile lookup (pay-per-call)"},"changes":[{"kind":"name","detail":"Renamed \"social.profile_lookup\" → \"social_profile_lookup\" (letters, digits, _ and - only; max 64). Keep the old name as an alias for a release if clients already call it.","verify":true}],"tokensBefore":444,"tokensAfter":444},{"name":"travel.search","fixed":{"name":"travel_search","description":"Flight and hotel search, paid per call in USDC/USDm directly from the caller's own wallet via the x402 protocol — no Abstraxn account needed. Pick one `action`:\n\n- flight_search ($0.02): live flight fares via Google Flights. Requires `origin`, `destination`, `departureDate`. Optional `returnDate`, `adults`, `children`, `travelClass`, `stops`, `maxPrice`, `currency`.\n- hotel_search ($0.02): live hotel prices/ratings via Google Hotels. Requires `q` (city or hotel name), `checkInDate`, `checkOutDat","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["action"],"properties":{"q":{"type":"string","description":"hotel_search: city or hotel name to search for, e.g. \"hotels in Paris\"."},"stops":{"type":"string","description":"flight_search: stop preference — 0=nonstop only, 1=up to 1 stop, 2=up to 2 stops. Optional."},"action":{"enum":["flight_search","hotel_search"],"type":"string","description":"Which travel operation to perform."},"adults":{"type":"string","description":"flight_search / hotel_search: number of adult passengers/guests. Optional."},"origin":{"type":"string","description":"flight_search: departure airport IATA code, e.g. \"JFK\"."},"sortBy":{"type":"string","description":"hotel_search: sort order — 3=lowest price, 8=highest rating, 13=most reviewed. Optional."},"children":{"type":"string","description":"flight_search / hotel_search: number of children. Optional."},"currency":{"type":"string","description":"flight_search / hotel_search: currency code, default \"USD\"."},"maxPrice":{"type":"string","description":"flight_search / hotel_search: maximum price filter. Optional."},"minPrice":{"type":"string","description":"hotel_search: minimum price per night filter. Optional."},"hotelClass":{"type":"string","description":"hotel_search: star rating filter, 2-5. Optional."},"returnDate":{"type":"string","description":"flight_search: return date for round trips, YYYY-MM-DD. Optional."},"checkInDate":{"type":"string","description":"hotel_search: check-in date, YYYY-MM-DD."},"destination":{"type":"string","description":"flight_search: arrival airport IATA code, e.g. \"LAX\"."},"travelClass":{"type":"string","description":"flight_search: cabin class — 1=Economy, 2=Premium Economy, 3=Business, 4=First. Optional."},"checkOutDate":{"type":"string","description":"hotel_search: check-out date, YYYY-MM-DD."},"departureDate":{"type":"string","description":"flight_search: departure date, YYYY-MM-DD."},"paymentPayload":{"type":"object","description":"x402 payment payload from a previous `paymentRequired` challenge. Omit on the first call.","propertyNames":{"type":"string"},"additionalProperties":{}}}},"annotations":{"title":"Flight / hotel search (pay-per-call)","readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"title":"Flight / hotel search (pay-per-call)"},"changes":[{"kind":"name","detail":"Renamed \"travel.search\" → \"travel_search\" (letters, digits, _ and - only; max 64). Keep the old name as an alias for a release if clients already call it.","verify":true}],"tokensBefore":757,"tokensAfter":757},{"name":"weather.forecast","fixed":{"name":"weather_forecast","description":"Weather data from a global weather data provider — current conditions, short-range forecast, astronomy, historical, marine, and location search. Free, read-only, no wallet needed. Every action requires `q`, a location: a city name (e.g. \"Paris\"), \"lat,lon\" (e.g. \"48.85,2.35\"), a US/UK/Canadian postal code, or an IATA airport code. Pick one `action`:\n\n- current: current conditions for `q`. Optional `aqi` (default false) adds basic air quality data.\n- forecast: forecast for `q`. Optional `days` — ","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["action","q"],"properties":{"q":{"type":"string","description":"Location: city name, \"lat,lon\", postal code, or airport code. Required for every action."},"aqi":{"type":"boolean","description":"current / forecast / history: include basic air quality data (default false)."},"date":{"type":"string","description":"astronomy / history: date in YYYY-MM-DD format. Required for both."},"days":{"type":"integer","maximum":3,"minimum":1,"description":"forecast: number of forecast days (1-3 on this deployment's plan). Omit for the provider default."},"action":{"enum":["current","forecast","astronomy","search","history","marine"],"type":"string","description":"Which weather operation to perform."},"alerts":{"type":"boolean","description":"forecast: include active weather alerts for the location (default false)."}}},"annotations":{"title":"Weather forecast and current conditions","readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"title":"Weather forecast and current conditions"},"changes":[{"kind":"name","detail":"Renamed \"weather.forecast\" → \"weather_forecast\" (letters, digits, _ and - only; max 64). Keep the old name as an alias for a release if clients already call it.","verify":true}],"tokensBefore":407,"tokensAfter":407},{"name":"web3.lookup","fixed":{"name":"web3_lookup","description":"Multi-chain wallet, token, ENS, and transaction-simulation lookups, paid per call in USDC/USDm directly from the caller's own wallet via the x402 protocol — no Abstraxn account needed. Pick one `action`:\n\n- wallet_balances ($0.005): token balances for a wallet across 20+ chains. Requires `chain` and `address`.\n- wallet_transactions ($0.005): transaction history with asset transfers for a wallet. Requires `address`. Optional `chain`, `limit`.\n- wallet_pnl ($0.01): realized and unrealized profit/l","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["action"],"properties":{"to":{"type":"string","description":"tx_simulate: recipient/contract address for the simulated transaction."},"gas":{"type":"integer","maximum":9007199254740991,"minimum":-9007199254740991,"description":"tx_simulate: gas limit override. Optional."},"data":{"type":"string","description":"tx_simulate: hex-encoded calldata. Optional."},"from":{"type":"string","description":"tx_simulate: sender address for the simulated transaction."},"name":{"type":"string","description":"ens_resolve: ENS name to resolve, e.g. \"vitalik.eth\"."},"chain":{"type":"string","description":"wallet_balances / wallet_transactions / wallet_pnl / token_metadata: chain name, e.g. \"ethereum\", \"base\", \"solana\"."},"limit":{"type":"integer","maximum":1000,"minimum":1,"description":"wallet_transactions: max transactions to return, default 100."},"value":{"type":"string","description":"tx_simulate: transaction value in wei, as a string. Optional, default \"0\"."},"action":{"enum":["wallet_balances","wallet_transactions","wallet_pnl","token_metadata","ens_resolve","ens_reverse","tx_simulate"],"type":"string","description":"Which web3 operation to perform."},"address":{"type":"string","description":"Address to look up — a wallet address for wallet_balances / wallet_transactions / wallet_pnl / ens_reverse, or a token contract address for token_metadata."},"network_id":{"type":"string","description":"tx_simulate: EVM chain id as a string, e.g. \"1\" or \"8453\"."},"paymentPayload":{"type":"object","description":"x402 payment payload from a previous `paymentRequired` challenge. Omit on the first call.","propertyNames":{"type":"string"},"additionalProperties":{}}}},"annotations":{"title":"Wallet / token / ENS / tx-simulation lookups (pay-per-call)","readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"title":"Wallet / token / ENS / tx-simulation lookups (pay-per-call)"},"changes":[{"kind":"name","detail":"Renamed \"web3.lookup\" → \"web3_lookup\" (letters, digits, _ and - only; max 64). Keep the old name as an alias for a release if clients already call it.","verify":true}],"tokensBefore":645,"tokensAfter":645}],"toolsChanged":12,"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."}