Skip to main content
Glama

Server Details

Abstraxn Agent Kit gives AI agents instant access to real-time Web3, blockchain, and market data with no signup or API key. Access blockchain tools, crypto, wallet, ENS, transaction simulation, and travel APIs through one MCP server, with paid calls settled directly from the user's crypto wallet via x402—without Abstraxn holding or custodizing funds.

Ownership verified
Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Tool DescriptionsA

Average 4.5/5 across 11 of 11 tools scored. Lowest: 3.9/5.

Server CoherenceA
Disambiguation4/5

Tools are grouped by domain (market, network, places, social, travel, web3) and each has a distinct purpose. However, within the 'network' group, tools like token_price, token_info, and market.crypto/price_feed could be confused for similar price lookups, but descriptions clarify their differences (free vs paid, DEX vs CoinGecko).

Naming Consistency3/5

The naming uses a dot-separated domain prefix (e.g., market.crypto, network.blocknumber, places.lookup) which is consistent in structure, but the action selection within each tool (e.g., search vs price_feed) is not reflected in the tool name itself. This hybrid approach is clear but not strictly uniform.

Tool Count4/5

With 11 tools covering a wide range of domains (crypto, network, places, social, travel, web3), the count is appropriate for a multi-purpose server. Each domain has a focused set of actions, so the tool count feels well-scoped without being excessive.

Completeness3/5

The server covers a broad but shallow surface across multiple domains. For example, crypto market data is well-covered, but places lacks a reverse geocode or photo tool. Travel has only flight and hotel search, missing car rentals or activities. The network domain is relatively complete for read operations, but lacks write support beyond prepare_transfer.

Available Tools

12 tools
market.cryptoCrypto market data (pay-per-call)A
Read-onlyIdempotent
Inspect

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:

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

  • price_feed ($0.001): current price (and optionally 24h change / market cap) for one or more coins. Requires ids (comma-separated coin ids). Optional currencies (comma-separated fiat codes, default "usd"), include_24h (default true), include_mcap (default false).

  • market_data ($0.002): coins ranked by market cap (or another order) — use for "top N coins" / market overview questions. Optional currency (default "usd"), category, order (default "market_cap_desc"), limit (1-250, default 100), page (default 1).

  • historical_data ($0.003): historical price/market cap/volume series for one coin. Requires id. Optional currency (default "usd"), days (lookback window or "max", default 30), interval (e.g. "daily").

  • trending ($0.001): currently trending coins by search interest. No extra parameters.

  • token_prices ($0.005): DEX-derived prices for up to 200 tokens in one call. Requires tokens, an array of {chain, token_address} objects.

Prices above are indicative — the exact charge for a given call is always whatever the live payment challenge specifies for that request. The first call (no paymentPayload) returns paymentRequired; retry with the same arguments plus paymentPayload to complete payment and get the real result.

ParametersJSON Schema
NameRequiredDescriptionDefault
qNosearch: coin name or symbol to search for, e.g. "btc".
idNohistorical_data: coin id, e.g. "bitcoin".
idsNoprice_feed: comma-separated coin IDs, e.g. "bitcoin,ethereum".
daysNohistorical_data: lookback window in days, or "max". Default 30.
pageNomarket_data: page number, default 1.
limitNomarket_data: max results, default 100.
orderNomarket_data: sort order, default "market_cap_desc".
actionYesWhich market-data operation to perform.
tokensNotoken_prices: array of {chain, token_address} pairs to price, max 200 entries.
categoryNomarket_data: category filter, e.g. "decentralized-finance-defi".
currencyNomarket_data / historical_data: currency code, default "usd".
intervalNohistorical_data: data granularity, e.g. "daily".
currenciesNoprice_feed: comma-separated fiat currency codes, default "usd".
include_24hNoprice_feed: include 24h price change (default true).
include_mcapNoprice_feed: include market cap (default false).
paymentPayloadNox402 payment payload from a previous `paymentRequired` challenge. Omit on the first call.

Output Schema

ParametersJSON Schema
NameRequiredDescription
errorNo
paymentRequiredNo
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses key behavioral traits beyond annotations: the two-step payment protocol ('first call returns paymentRequired; retry with the same arguments plus paymentPayload'), the need for coin IDs rather than tickers, and the indicative pricing model. It also clarifies data source (CoinGecko) and that no account is needed, adding significant context beyond the readOnlyHint annotation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with a clear front-loaded overview, bulleted action list with prices and parameters, and a separate payment flow explanation. Every sentence adds value, and the length is justified by the tool's complexity (six actions, 16 params, payment protocol). No fluff or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity and the presence of an output schema, the description is complete: it covers all six actions, their parameters, defaults, required vs optional, pricing, the payment challenge flow, and important usage notes (e.g., search-first workflow, ID not ticker). It also acknowledges that exact charges come from the live challenge, which is essential for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already has 100% parameter descriptions, but the description adds action-level parameter semantics: it groups parameters by action, states which are required (q, ids, id, tokens), gives examples ('bitcoin'), and clarifies defaults and constraints (e.g., 'limit 1-250, default 100'). This goes beyond the schema, though some information is redundant with schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Crypto market-data lookups (CoinGecko-sourced pricing and market data)' and enumerates six specific operations (search, price_feed, market_data, historical_data, trending, token_prices). This specific verb+resource combination distinguishes it from sibling tools like network.token_price by highlighting its multi-action, CoinGecko-sourced, pay-per-call nature.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides detailed guidance for when to use each action, such as 'Call this first to resolve a coin id before using price_feed or historical_data' and 'use for "top N coins" / market overview questions'. It explains selection criteria, required parameters, and the payment flow. However, it does not explicitly mention alternative sibling tools or when not to use this tool, so it falls short of full cross-tool differentiation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

network.blocknumberGet current block number / slotA
Read-onlyIdempotent
Inspect

Read the current chain head — EVM block number or Solana slot — for a supported network. Free, read-only, no wallet needed.

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

Pass 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 (or pass all) to query every resolvable chain in one call.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoBlockchain 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

Output Schema

ParametersJSON Schema
NameRequiredDescription
slotNoSolana slot number.
chainNo
errorNo
blocksNoPer-chain results, present for multi-chain queries.
messageNo
blockNumberNoHex-encoded EVM block number.
blockNumberDecimalNo
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, so the safety profile is established. The description adds value beyond annotations by stating 'Free, read-only, no wallet needed' and explaining the default behavior when chain is omitted (query all chains), which enriches the agent's understanding of the tool's runtime behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well structured with a purpose statement, use cases, and parameter guidance. It is a bit longer than the get_calls example but every sentence contributes useful information; no fluff or repetition of schema data beyond what is necessary.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one optional parameter and an output schema, the description covers the core behavior, supported chains, default behavior, and practical use cases. There is no major gap; the output schema can handle return value details, so the description is complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with a description and enum in the schema, so the parameter is well-documented. The description still adds meaning by explaining that omitting `chain` (or passing 'all') queries every resolvable chain, and by repeating the chain list for immediate reference without requiring schema lookup.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the tool as reading the current chain head (EVM block number or Solana slot) for a supported network, with a specific verb 'Read' and a concrete resource. It also distinguishes itself from sibling tools like network.gas_info and network.transaction_status by emphasizing read-only, free, and no wallet needed.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear usage context: confirming network progress, correlating off-chain events, and choosing a safe starting point for log scanning. It does not explicitly name alternative tools or state when not to use this tool, but the use cases are well-defined and the parameter behavior (omit chain for all) is covered.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

network.gas_infoGet gas price infoA
Read-onlyIdempotent
Inspect

Get the current gas price and EIP-1559 fee hints for an EVM chain. Free, read-only, no wallet needed.

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

ParametersJSON Schema
NameRequiredDescriptionDefault
chainYesEVM network slug. One of: ethereum, sepolia, polygon, amoy, bsc, bsc-testnet, base, base-sepolia, tempo, tempo-testnet, arbitrum-one, monad, skale-base-sepolia

Output Schema

ParametersJSON Schema
NameRequiredDescription
chainNo
errorNo
messageNo
gasPriceNoCurrent gas price in wei.
timestampNoUnix ms timestamp of the reading.
gasPriceGweiNoCurrent gas price in gwei.
maxFeePerGasNo
supportsEip1559No
maxPriorityFeePerGasNo
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior. The description adds useful context beyond annotations: 'Free, read-only, no wallet needed' clarifies auth and cost requirements. No contradictions with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, front-loaded with the core purpose, and every sentence adds value: purpose, usage, and required parameter. No fluff or redundant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple single-parameter tool with a complete output schema and strong annotations, the description covers all necessary aspects: purpose, usage guidance, and parameter requirement. No gaps in essential information.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the single parameter 'chain' already has a comprehensive description with an enum. The description repeats the chain list but adds no semantic meaning beyond what the schema provides, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Get the current gas price and EIP-1559 fee hints for an EVM chain,' using a specific verb and resource. It distinguishes itself from sibling tools like network.blocknumber and network.token_price by focusing on gas/fee information.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear usage context: 'Use this to estimate transaction cost or explain fees to a user before they send a transaction.' It implies when to use it but does not explicitly name alternatives or exclusions, which would warrant a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

network.prepare_transferPrepare an unsigned transfer transactionA
Read-onlyIdempotent
Inspect

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.

Supported chains: solana, solana-devnet, ethereum, sepolia, polygon, amoy, bsc, bsc-testnet, base, base-sepolia, tempo, tempo-testnet, arbitrum-one, monad, skale-base-sepolia.

Token (token field):

  • Solana: 'SOL' (native, default) or 'USDC'.

  • EVM: native symbol (default), 'USDC', 'USDC.e' where configured for the chain, or a raw 0x contract address (decimals are read live from the contract; token_decimals is only a fallback if that read fails).

Gas: the sender pays gas in the chain's native token once they sign — this server never sponsors it.

Raw calldata (EVM only): pass data (hex, 0x-prefixed) with to as the contract call target and amount as the native value to send (use "0" for a pure call).

Privacy (private, EVM only): requests SKALE BITE encryption, only supported on skale-base-sepolia, where it defaults to true — pass private: false there for a plaintext transfer. Rejected on every other chain.

ParametersJSON Schema
NameRequiredDescriptionDefault
toYesRecipient address (0x for EVM, base58 for Solana).
dataNoHex-encoded calldata for a raw EVM contract call (0x-prefixed). Requires `to` as the call target.
fromYesSender address (0x for EVM, base58 for Solana).
chainYesDestination 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
tokenNoToken symbol (native/USDC/USDC.e) or EVM contract address. Omit for the chain's native token.
amountYesAmount in human units (e.g. "0.1", "100"). Use "0" for a contract call that sends no native value.
privateNoRequest BITE privacy encryption. Only valid on skale-base-sepolia (defaults true there); rejected elsewhere.
token_decimalsNoFallback decimals for an EVM ERC-20 if a live decimals() read fails (default 18).

Output Schema

ParametersJSON Schema
NameRequiredDescription
toNo
fromNo
chainNo
errorNo
tokenNo
amountNo
policyNo
statusNo
messageNo
decimalsNo
executionNo
transactionNo
amountAtomicNo
tokenContractNo
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description goes far beyond the annotations, detailing that the tool reads live nonce/gas/fees, never sponsors gas, never holds keys, and never enforces allowlists or spend limits. It also explains the fallback behavior for token_decimals and the privacy encryption feature. Annotations already indicated readOnly, idempotent, and non-destructive, and the description aligns perfectly while adding significant operational context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with clear sections (supported chains, token, gas, raw calldata, privacy) and front-loaded with the core purpose. While it is fairly long, each sentence adds necessary detail for a complex tool with 8 parameters. It could be slightly tighter, but overall it is efficient and well-organized.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (8 parameters, multiple chain-specific behaviors, raw calldata, privacy, token types) and the presence of an output schema, the description covers all relevant aspects. It explains edge cases, limitations, and additional context not in the schema. No gaps are apparent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and the description adds substantial meaning to every parameter. For example, it explains the token field can be a symbol or contract address, with chain-specific options. It clarifies that amount is in human units, that data is for raw EVM calls, and that private only works on skale-base-sepolia. This exceeds basic parameter documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Build an unsigned native or token transfer transaction for a supported chain, from an explicit sender you provide.' It explicitly distinguishes itself from signing or broadcasting, making the action unambiguous. There are no sibling tools that perform a similar function, so no confusion.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context on when to use the tool: it is free, read-only, never signs or broadcasts, and requires an explicit sender. It also explains that gas is paid by the sender later. While there are no direct alternative tools to compare, the description gives sufficient guidance on the tool's limitations and prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

network.token_infoGet ERC-20 token infoA
Read-onlyIdempotent
Inspect

Read ERC-20 token metadata — name, symbol, decimals, total supply — for a token contract on an EVM chain. Free, read-only.

Pass 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, monad, skale-base-sepolia.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainYesEVM network for the token contract.
tokenYesERC-20 contract address (0x…) or symbol USDC / USDC.e where configured for the chain.

Output Schema

ParametersJSON Schema
NameRequiredDescription
nameNo
chainNo
errorNo
symbolNo
messageNo
decimalsNo
timestampNo
totalSupplyNoRaw total supply (base units).
tokenAddressNo
totalSupplyFormattedNo
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint false. The description adds meaningful behavioral context: it is 'Free, read-only', the server never holds a caller wallet, and no balance is ever returned—only public token metadata. This directly informs the user about the tool's limitations and safety profile, exceeding what annotations alone convey.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is succinct and well-structured, opening with the primary purpose and then covering parameter formats, limitations, required fields, and supported chains in a logical flow. Every sentence provides necessary information without redundancy, making it highly scannable for an AI agent.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only tool with two parameters and an output schema, the description is complete. It specifies supported chains, token input format, required fields, and behavioral limitations. The output schema covers return values, so no further elaboration is needed. The description fully equips an agent to decide when and how to invoke the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds value by explicitly explaining the token parameter accepts a contract address (0x…) or a symbol like USDC / USDC.e where configured, and clarifies that both chain and token are required. While the schema already says this, the description reinforces it in context, slightly elevating the score.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states exactly what the tool does: 'Read ERC-20 token metadata — name, symbol, decimals, total supply — for a token contract on an EVM chain.' The verb 'Read' plus the resource and specific metadata fields clearly distinguish it from sibling tools like network.token_price, which would return price data.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context on when to use the tool and how to specify inputs, such as accepting contract address or symbol (e.g., USDC / USDC.e) where configured. It also notes that both chain and token are required and lists supported chains. However, it does not explicitly mention alternatives or exclusions beyond implying this is for metadata, not balances.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

network.token_priceGet token spot priceA
Read-onlyIdempotent
Inspect

Get a spot token price from a public market API (CoinGecko). Free — no payment or wallet needed. Defaults to ETH/USD.

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolNoCoinGecko token id (e.g. "ethereum", "bitcoin", "solana"). Defaults to "ethereum".
vsCurrencyNoQuote currency code. Defaults to "usd".

Output Schema

ParametersJSON Schema
NameRequiredDescription
errorNo
priceNo
sourceNoe.g. "coingecko".
symbolNo
messageNo
vsCurrencyNo
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is clear. The description adds meaningful behavioral context beyond this: it names the external API (CoinGecko), states the default pair (ETH/USD), and confirms no payment or wallet is required. There is no contradiction with the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, tightly written sentence that front-loads the core purpose and includes only high-value context (source, cost, defaults). Every phrase contributes meaning, making it an example of effective brevity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple: two optional, well-documented parameters and an output schema, so the description does not need to explain return values. It provides the essential context—external API, free usage, and default behavior—making it complete for an agent to select and invoke the tool appropriately in most cases.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema covers 100% of the parameters, with both 'symbol' and 'vsCurrency' having clear descriptions and default values. The description's mention of 'Defaults to ETH/USD' reinforces but does not extend beyond what the schema already states, so it meets the baseline but adds no new semantic value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: 'Get a spot token price from a public market API (CoinGecko).' It specifies a concrete verb, resource, and source, and notes the default pair. However, it does not explicitly differentiate from the sibling tool 'market.crypto', so it misses the highest bar for sibling distinction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use the tool (for a spot token price) and adds useful context such as 'Free — no payment or wallet needed.' It does not provide explicit guidance on when not to use it or mention alternatives like 'market.crypto' for broader market data, leaving usage somewhat implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

network.transaction_statusGet transaction statusA
Read-onlyIdempotent
Inspect

Check the status of a transaction. Supports both EVM (transaction hash) and Solana (signature). Free, read-only.

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

ParametersJSON Schema
NameRequiredDescriptionDefault
chainYesBlockchain 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_hashYesTransaction hash (EVM, 0x + 64 hex) or Solana signature (base58).

Output Schema

ParametersJSON Schema
NameRequiredDescription
toNo
fromNo
chainNo
errorNo
valueNo
statusNoe.g. "success", "failed", "not_found", "pending".
gasUsedNo
messageNo
gasPriceNo
timestampNo
blockNumberNo
transaction_hashNo
blockNumberDecimalNo
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds 'Free, read-only' (redundant) and mentions supported chains, but no new behavioral traits such as error handling, rate limits, or return behavior. It is consistent with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and front-loaded, but the chain list duplicates the schema enum, making it slightly redundant. Overall it is efficient and well-structured without being verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only tool with complete schema, annotations, and output schema, the description adequately covers purpose, usage, and required inputs. It lacks explicit exclusions or error-handling notes, which are not necessary given the tool's simplicity and existing metadata.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers 100% of parameters with descriptions and an enum for chain. The description repeats the chain list and required-parameter info, adding no new semantic meaning beyond the schema. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: 'Check the status of a transaction' with explicit support for both EVM and Solana. This distinguishes it from sibling tools like network.blocknumber or network.token_info, which serve different purposes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit use cases: 'confirm a transfer landed, debug a failed transaction, or report status to a user,' and notes that both chain and transaction_hash are required. It does not mention alternatives or when-not-to-use, but the context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

places.lookupPlaces / solar / aerial-view lookups (pay-per-call)A
Read-onlyIdempotent
Inspect

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:

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

  • text_search_partial ($0.02): same as text_search_full but returns fewer fields per place — cheaper for quick lookups. Same parameters.

  • nearby_search_full ($0.08): full-detail search for places within a radius. Requires locationRestriction ({circle:{center:{latitude,longitude},radius (0-50000)}}) — do NOT send a bare top-level latitude/longitude/radius. Optional includedTypes/excludedTypes (max 50 each), maxResultCount (1-5, default 5), excludeFields (default ["photos"]), languageCode (default "en"), rankPreference (POPULARITY default, or DISTANCE).

  • nearby_search_partial ($0.02): same as nearby_search_full, fewer fields, cheaper. Same parameters.

  • place_details_full ($0.05): full details for one place. Requires placeId — the exact place id returned by an earlier text_search/nearby_search result; do not invent or guess it. Optional excludeFields (default ["photos"]), languageCode (default "en").

  • place_details_partial ($0.02): same as place_details_full, fewer fields, cheaper. Same parameters.

  • solar_building_insights ($0.02): rooftop solar potential for one location. Requires latitude (-90..90) and longitude (-180..180). Optional requiredQuality (LOW/MEDIUM/HIGH, default HIGH).

  • solar_data_layers ($0.08): raw solar data layers for an area. Requires latitude, longitude. Optional radiusMeters (0.1-175, default 50), view (default "FULL_LAYERS"), requiredQuality (default HIGH), pixelSizeMeters (default 0.25, documented as one of 0.1/0.25/0.5/1.0 but not schema-enforced), exactQualityRequired (default false).

  • solar_rgb_image ($0.05): renders one of the solar_data_layers assets as a viewable image. Either id (the exact asset id already returned by an earlier solar_data_layers call — "Mode A"; do not invent or guess it) OR both latitude and longitude ("Mode B") is required — provide exactly one mode, not both. Optional radiusMeters (0.1-100, default 30, Mode B only), layer (default "rgb"), month (1-12), hour (0-23), format (png/jpeg, default png), scale (1-2, default 1), crop (default false), quality (1-100, default 85).

  • aerial_view_lookup_video ($0.01): check whether a rendered aerial-view video already exists / poll its render status. Exactly one of address or videoId is required — videoId must be the exact value returned by an earlier aerial_view_render_video call; do not invent or guess it.

  • aerial_view_render_video ($0.01): kick off rendering a new aerial-view video for an address. Requires address. Poll aerial_view_lookup_video with the returned videoId until ready.

Pagination: text_search_full/partial and nearby_search_full/partial return nextPageToken when more results exist — repeat the ORIGINAL call (same textQuery / locationRestriction / etc.) with pageToken set to page further. pageToken must be the exact nextPageToken value from that earlier response — do not invent or guess it. excludeFields: colon-separated nested-path syntax trims nested response fields, e.g. "organization:technologies" excludes just that sub-field. All place-search/details actions default-exclude photos if excludeFields is omitted — pass excludeFields: [] to include photos.

Prices above are indicative — the exact charge for a given call is always whatever the live payment challenge specifies for that request. The first call (no paymentPayload) returns paymentRequired; retry with the same arguments plus paymentPayload to complete payment and get the real result.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNosolar_rgb_image (Mode A): asset id from a prior solar_data_layers call.
cropNosolar_rgb_image: crop to a circle, default false. Optional.
hourNosolar_rgb_image: hour for hourlyShade layer. Optional.
viewNosolar_data_layers: which layer set to return, default FULL_LAYERS. Optional.
layerNosolar_rgb_image: which layer to render, default "rgb". Optional.
monthNosolar_rgb_image: month for monthlyFlux/hourlyShade layers. Optional.
scaleNosolar_rgb_image: image scale factor, default 1. Optional.
actionYesWhich places/solar/aerial-view operation to perform.
formatNosolar_rgb_image: output image format, default png. Optional.
addressNoaerial_view_render_video: REQUIRED address to render. aerial_view_lookup_video: exactly one of address/videoId is required.
openNowNotext_search_full / text_search_partial: only return places currently open. Optional.
placeIdNoplace_details_full / place_details_partial: REQUIRED place id.
qualityNosolar_rgb_image: JPEG quality (1-100), default 85. Optional.
videoIdNoaerial_view_lookup_video: exactly one of address/videoId is required.
latitudeNosolar_building_insights / solar_data_layers / solar_rgb_image (Mode B): latitude.
longitudeNosolar_building_insights / solar_data_layers / solar_rgb_image (Mode B): longitude.
minRatingNotext_search_full / text_search_partial: minimum average rating filter (0-5). Optional.
pageTokenNotext/nearby search: pagination token from a previous nextPageToken. Optional.
textQueryNotext_search_full / text_search_partial: free-text query, e.g. "coffee shops in Brooklyn".
priceLevelsNotext_search_full / text_search_partial: filter by one or more price levels. Optional.
includedTypeNotext_search_full / text_search_partial: restrict to one place type, e.g. "restaurant". Optional.
languageCodeNotext/nearby search, place details: response language, default "en". Optional.
locationBiasNotext_search_full / text_search_partial: soft location bias. Optional.
radiusMetersNosolar_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.
excludeFieldsNoNested-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.
excludedTypesNonearby_search_full / nearby_search_partial: place types to exclude. Optional.
includedTypesNonearby_search_full / nearby_search_partial: place types to include. Optional.
maxResultCountNotext/nearby search: max results per page (1-5, default 5). Optional.
paymentPayloadNox402 payment payload from a previous `paymentRequired` challenge. Omit on the first call.
rankPreferenceNonearby_search_full / nearby_search_partial: result ranking, default POPULARITY. Optional.
pixelSizeMetersNosolar_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.
requiredQualityNosolar_building_insights / solar_data_layers: minimum imagery quality, default HIGH. Optional.
locationRestrictionNonearby_search_full / nearby_search_partial: REQUIRED hard boundary — {circle:{center:{latitude,longitude}, radius (0-50000)}}.
exactQualityRequiredNosolar_data_layers: fail instead of falling back to lower quality, default false. Optional.

Output Schema

ParametersJSON Schema
NameRequiredDescription
errorNo
paymentRequiredNo
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the bar is lower. The description adds significant behavioral context: the x402 payment flow (first call returns paymentRequired, retry with paymentPayload), pagination loops, default excludeFields behavior, and the two modes for solar_rgb_image (Mode A with id, Mode B with lat/lng). It does not contradict any annotation. Slightly less than 5 because the description is lengthy and some details (like defaults) are also in the schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with a bulleted list of actions, making it scannable. It front-loads the core concept (paid per call, pick one action). However, it is verbose, repeating 'same parameters' for partial variants and including many examples. Given the complexity (11 actions, 34 parameters, payment protocol), the length is justified. A score of 5 would require slightly more conciseness, such as summarizing partial variants more compactly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the high complexity (34 parameters, 11 actions, nested objects, payment protocol, output schema exists), the description is remarkably complete. It covers every action with required and optional parameters, defaults, special behaviors (modes, pagination, field exclusion syntax), and the two-step payment flow. It also notes that prices are indicative. The output schema is not shown, but the description does not need to explain return values. No gaps are apparent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The description adds substantial value beyond the schema: it explains the payment flow for paymentPayload, the colon-separated nested syntax for excludeFields, the two operational modes for solar_rgb_image, and the constraint that locationRestriction must be a nested circle object (not bare lat/lng/radius). It also provides default values and usage patterns (e.g., 'pageToken must be the exact nextPageToken from that earlier response'). This enriches the parameter semantics significantly.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states the tool's purpose: 'Places, solar, and aerial-view lookups, paid per call directly from the caller's own wallet via the x402 protocol'. It enumerates 11 distinct actions, each with a brief description of what it does and how it differs from others (e.g., full vs partial, search vs details). This clearly distinguishes between sibling actions and states the core resource (places, solar, aerial views).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit guidance for each action: required parameters, optional parameters, defaults, and critical constraints (e.g., 'do NOT send a bare top-level latitude/longitude/radius' for nearby_search_full, 'do not invent or guess it' for placeId and videoId). It also explains the two-step payment protocol ('first call returns paymentRequired; retry with paymentPayload'), pagination mechanics, and when to use partial vs full actions (cheaper, fewer fields). No alternative tools are needed since siblings are unrelated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

social.profile_lookupSocial / person profile lookup (pay-per-call)A
Read-onlyIdempotent
Inspect

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:

  • Fuzzy match: supply first_name and/or last_name plus emails and/or phones.

  • Reverse lookup: supply only emails and/or phones, no name required.

Every record needs a caller-chosen record_id (any string) to correlate it with its match in the response, plus at least one non-empty first_name/last_name, or at least one non-empty entry in emails, or at least one non-empty entry in phones — an empty array counts as not provided. Optional top-level match_condition_fields (e.g. ["linkedin_url"]) restricts results to matches that include ALL of the named fields.

The exact response shape (field names/nesting per match) is passed through unchanged from the upstream provider — read whatever comes back rather than assuming a fixed shape.

Charges ~$0.02 per call — the exact charge for a given call is always whatever the live payment challenge specifies for that request. The first call (no paymentPayload) returns paymentRequired; retry with the same arguments plus paymentPayload to complete payment and get the real result.

ParametersJSON Schema
NameRequiredDescriptionDefault
recordsYesRecords to resolve. Each needs record_id plus at least one non-empty first_name/last_name, emails entry, or phones entry.
paymentPayloadNox402 payment payload from a previous `paymentRequired` challenge. Omit on the first call.
match_condition_fieldsNoOptional filter — only return matches whose result includes ALL of these fields, e.g. ["linkedin_url"].

Output Schema

ParametersJSON Schema
NameRequiredDescription
errorNo
paymentRequiredNo
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description thoroughly explains the payment flow (first call returns paymentRequired, retry with paymentPayload), the batch processing nature, and the fact that response shape is passed through from upstream provider unchanged. Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint as true/false, and the description adds significant behavioral context beyond these (payment requirements, two modes, response shape variability).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured, front-loading the core purpose and payment model, then breaking down modes and requirements. It is slightly verbose in the parameter details section (could be more terse), but every sentence serves a purpose and the structure aids readability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (3 parameters, nested objects, payment protocol, output schema exists), the description is largely complete. It covers input requirements, payment flow, mode selection, result shape variability, and optional filtering. It does not explicitly state what happens on error or how to interpret the response beyond 'pass through', which is a minor gap, but the output schema helps mitigate this.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all parameters. The description adds significant value by explaining the two modes of operation (fuzzy match vs reverse lookup), the requirement for at least one non-empty field per record (with specific clarification about empty arrays), and the purpose of match_condition_fields. It also clarifies that record_id is caller-chosen for correlation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool resolves person/social-profile identity for a batch of records, explicitly distinguishing between fuzzy match and reverse lookup modes. It provides specific verb+resource (resolve person/social-profile identity) and explains the two operational modes, making it easy to understand what the tool does and how it differs from siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit guidance on when to use each mode (fuzzy match vs reverse lookup), details the required inputs per record, explains the payment protocol (x402, pay-per-call, first call returns paymentRequired), and describes the optional match_condition_fields filter. This is comprehensive and leaves no ambiguity about invocation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

travel.searchFlight / hotel search (pay-per-call)A
Read-onlyIdempotent
Inspect

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:

  • flight_search ($0.02): live flight fares via Google Flights. Requires origin, destination, departureDate. Optional returnDate, adults, children, travelClass, stops, maxPrice, currency.

  • hotel_search ($0.02): live hotel prices/ratings via Google Hotels. Requires q (city or hotel name), checkInDate, checkOutDate. Optional adults, children, sortBy, minPrice, maxPrice, hotelClass, currency.

Prices above are indicative — the exact charge for a given call is always whatever the live payment challenge specifies for that request. The first call (no paymentPayload) returns paymentRequired; retry with the same arguments plus paymentPayload to complete payment and get the real result.

ParametersJSON Schema
NameRequiredDescriptionDefault
qNohotel_search: city or hotel name to search for, e.g. "hotels in Paris".
stopsNoflight_search: stop preference — 0=nonstop only, 1=up to 1 stop, 2=up to 2 stops. Optional.
actionYesWhich travel operation to perform.
adultsNoflight_search / hotel_search: number of adult passengers/guests. Optional.
originNoflight_search: departure airport IATA code, e.g. "JFK".
sortByNohotel_search: sort order — 3=lowest price, 8=highest rating, 13=most reviewed. Optional.
childrenNoflight_search / hotel_search: number of children. Optional.
currencyNoflight_search / hotel_search: currency code, default "USD".
maxPriceNoflight_search / hotel_search: maximum price filter. Optional.
minPriceNohotel_search: minimum price per night filter. Optional.
hotelClassNohotel_search: star rating filter, 2-5. Optional.
returnDateNoflight_search: return date for round trips, YYYY-MM-DD. Optional.
checkInDateNohotel_search: check-in date, YYYY-MM-DD.
destinationNoflight_search: arrival airport IATA code, e.g. "LAX".
travelClassNoflight_search: cabin class — 1=Economy, 2=Premium Economy, 3=Business, 4=First. Optional.
checkOutDateNohotel_search: check-out date, YYYY-MM-DD.
departureDateNoflight_search: departure date, YYYY-MM-DD.
paymentPayloadNox402 payment payload from a previous `paymentRequired` challenge. Omit on the first call.

Output Schema

ParametersJSON Schema
NameRequiredDescription
errorNo
paymentRequiredNo
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

It discloses the two-step payment flow (paymentRequired then paymentPayload), pricing, and that the exact charge comes from the live challenge. This goes well beyond the readOnly/idempotent annotations, providing crucial behavioral context for the agent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with bullet-point action breakdowns and front-loads the most important info (paid, x402, no account). Every sentence earns its place; no fluff or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present and annotations covering safety, the description fully covers action selection, required params, pricing, and the payment retry handshake. It is complete enough for an agent to invoke correctly without additional context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds value by grouping parameters by action and marking which are required vs optional (e.g., 'Requires origin, destination, departureDate'), which the schema alone doesn't explicitly convey. Enum meanings are already in the schema, so no extra credit there.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool performs flight and hotel search via Google Flights and Google Hotels, using specific action subtypes. It distinguishes from sibling tools (all crypto/network unrelated) and provides a specific verb and resource.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context: pay-per-call, x402 protocol, no account needed, and explicit required vs optional parameters for each action. It doesn't explicitly state when not to use or name alternatives, but no comparable siblings exist.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

weather.forecastWeather forecast and current conditionsA
Read-onlyIdempotent
Inspect

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:

  • current: current conditions for q. Optional aqi (default false) adds basic air quality data.

  • forecast: forecast for q. Optional days — this deployment runs on a data plan capped at 3 days, so only 1-3 is accepted; omit for the provider default. Optional aqi, alerts (default false, adds active weather alerts for the location where available).

  • astronomy: sunrise/sunset/moonrise/moonset/moon phase for q on date (required, YYYY-MM-DD).

  • search: resolve a fuzzy q into matching locations (name, region, country, lat/lon) — use this first if you only have an approximate place name and need to disambiguate.

  • history: past weather for q on date (required, YYYY-MM-DD, must be yesterday). This deployment enforces a free-tier data plan that only allows yesterday's date — any other date is rejected before a provider call is made.

  • marine: marine/sailing conditions for q. This deployment runs on a data plan limited to 1 day of data with no tide information.

Results are for general informational purposes only — do not use them as the sole basis for decisions involving personal safety, aviation, marine navigation, or emergency planning.

ParametersJSON Schema
NameRequiredDescriptionDefault
qYesLocation: city name, "lat,lon", postal code, or airport code. Required for every action.
aqiNocurrent / forecast / history: include basic air quality data (default false).
dateNoastronomy / history: date in YYYY-MM-DD format. Required for both.
daysNoforecast: number of forecast days (1-3 on this deployment's plan). Omit for the provider default.
actionYesWhich weather operation to perform.
alertsNoforecast: include active weather alerts for the location (default false).

Output Schema

ParametersJSON Schema
NameRequiredDescription
errorNo
messageNo
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark the tool as read-only and non-destructive, and the description adds important deployment limitations: forecast capped at 3 days, history only yesterday, marine limited to 1 day with no tides. It also includes an appropriate safety disclaimer about informational use.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but efficiently organized: a lead sentence establishes scope, followed by one bullet per action with its relevant parameters and limitations. Every sentence adds non-redundant information that an agent needs for correct invocation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a six-action tool, the description covers all actions, location formats, per-action parameter applicability, deployment limits, and caveats. The presence of an output schema covers return-value details, so the description is complete for selection and invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Although the schema covers all parameters, the description adds real operational meaning: q format examples (city, lat,lon, postal code, IATA), which parameters apply to which action, and constraints like yesterday-only dates. This goes well beyond the schema's basic field descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the tool as a weather data provider covering current conditions, forecast, astronomy, history, marine, and location search. This specificity distinguishes it from unrelated sibling tools like network, crypto, and market tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Each action is documented with its own usage context, including explicit guidance to use 'search' first for approximate place names. Deployment-specific constraints like the 3-day forecast cap and yesterday-only history clarify exactly when requests will fail.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

web3.lookupWallet / token / ENS / tx-simulation lookups (pay-per-call)A
Read-onlyIdempotent
Inspect

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:

  • wallet_balances ($0.005): token balances for a wallet across 20+ chains. Requires chain and address.

  • wallet_transactions ($0.005): transaction history with asset transfers for a wallet. Requires address. Optional chain, limit.

  • wallet_pnl ($0.01): realized and unrealized profit/loss per token for a wallet. Requires chain and address.

  • token_metadata ($0.002): name/symbol/decimals for a token contract. Requires chain and address.

  • ens_resolve ($0.001): resolve an ENS name to an Ethereum address. Requires name.

  • ens_reverse ($0.001): resolve an Ethereum address to its ENS name. Requires address.

  • tx_simulate ($0.01): simulate an EVM transaction before sending — gas estimate, execution trace, revert reason. Requires network_id, from, to. Optional value, data, gas.

Prices above are indicative — the exact charge for a given call is always whatever the live payment challenge specifies for that request. The first call (no paymentPayload) returns paymentRequired; retry with the same arguments plus paymentPayload to complete payment and get the real result.

ParametersJSON Schema
NameRequiredDescriptionDefault
toNotx_simulate: recipient/contract address for the simulated transaction.
gasNotx_simulate: gas limit override. Optional.
dataNotx_simulate: hex-encoded calldata. Optional.
fromNotx_simulate: sender address for the simulated transaction.
nameNoens_resolve: ENS name to resolve, e.g. "vitalik.eth".
chainNowallet_balances / wallet_transactions / wallet_pnl / token_metadata: chain name, e.g. "ethereum", "base", "solana".
limitNowallet_transactions: max transactions to return, default 100.
valueNotx_simulate: transaction value in wei, as a string. Optional, default "0".
actionYesWhich web3 operation to perform.
addressNoAddress to look up — a wallet address for wallet_balances / wallet_transactions / wallet_pnl / ens_reverse, or a token contract address for token_metadata.
network_idNotx_simulate: EVM chain id as a string, e.g. "1" or "8453".
paymentPayloadNox402 payment payload from a previous `paymentRequired` challenge. Omit on the first call.

Output Schema

ParametersJSON Schema
NameRequiredDescription
errorNo
paymentRequiredNo
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and idempotentHint=true, but the description adds vital behavioral details: the payment protocol, the two-step paymentRequired flow, and the note that prices are indicative while exact charges come from the live challenge. This goes beyond the structured annotations and helps the agent manage the payment round-trip.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is structured as a bullet list with one line per action, each containing price, scope, and required parameters. It is front-loaded with the main purpose and payment model, and no sentence is redundant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 12 parameters and a pay-per-call flow, the description covers all major aspects: payment challenge handling, per-action requirements, optional parameters, and the nature of results (e.g., tx_simulate returns gas estimate and trace). The presence of an output schema means return values don't need to be detailed, but the description still gives a preview.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema covers all 12 parameters with descriptions, so baseline is 3. The description adds per-action parameter requirements, examples (e.g., 'vitalik.eth' for ens_resolve, chain names like 'ethereum', 'base', 'solana'), and clarifies which parameters are required for each action. This makes it easier to construct a correct call.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with 'Multi-chain wallet, token, ENS, and transaction-simulation lookups' which clearly states the tool's function. It enumerates seven distinct actions (wallet_balances, wallet_transactions, etc.), each with a specific purpose, distinguishing it from sibling tools focused on network or market data.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit guidance on which action to use for each lookup, including required parameters for each. It notes the pay-per-call x402 flow and the need to retry with paymentPayload, but it does not explicitly contrast with sibling tools or state when this tool should not be used.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Frequently Asked Questions

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables detection and analysis of pre-public product launches through web search, content extraction, AI-powered scoring, and automated alerting. Provides comprehensive tools for surfacing stealth startup signals before they trend publicly.
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Browse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI chat clients to perform market research and competitive intelligence by gathering company overviews, competitor lists, product portfolios, pricing snapshots, and recent news via live Tavily search.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources