Skip to main content
Glama

Server Details

Abstraxn: public Web3 MCP server for read-only chain data and pay-per-call relays.

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
Abstraxn-Labs/abstraxn-agent-layer
GitHub Stars
4
Server Listing
Abstraxn Public Web3 MCP

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

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior, but the description adds crucial context: the per-call payment via x402 from the caller's wallet, the fact that the first call returns paymentRequired and must be retried with paymentPayload, and that prices are indicative with the exact charge from the live payment challenge. This goes well beyond the annotations and illuminates the actual call flow.

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 lengthy but exceptionally well-structured with bulleted actions, pricing, required parameters, and defaults. Every sentence earns its place, and the front-loaded payment model gives immediate context. The structure is scannable and directly maps to the complex multi-action tool, making the length justified.

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 6 actions and 16 parameters, the description covers each action's purpose, pricing, required and optional parameters, defaults, and the non-trivial payment challenge flow. Since an output schema exists, there is no need to describe return values. Minor omissions like supported chains for token_prices are not essential for tool 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 has 100% description coverage, the description enriches parameter understanding by grouping parameters per action, marking required parameters (e.g., 'Requires q', 'Requires ids', 'Requires tokens'), and clarifying critical semantics like using coin IDs rather than tickers. It also explains the paymentPayload lifecycle, which the schema only labels as a generic object.

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 'Crypto market-data lookups' with CoinGecko-sourced pricing and market data, establishing a specific verb+resource. It further enumerates six distinct actions (search, price_feed, market_data, historical_data, trending, token_prices), each with a clear functional role, making it easily distinguishable from sibling network/web3/travel tools.

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 excellent within-tool usage guidance, such as 'Call this first to resolve a coin id before using price_feed or historical_data' and explains market_data is for 'top N coins' / market overview questions. However, it does not explicitly contrast alternatives across sibling tools (e.g., when to use network.token_price instead), so it stops short of fully explicit when-not-to-use guidance.

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

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint false. The description adds behavioral context beyond these: it clarifies that the operation is free, requires no wallet, and that omitting chain (or passing 'all') queries every resolvable chain in one call. This extra detail about multi-chain behavior and cost is valuable beyond the structured 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 well-structured: the first sentence states the core purpose, the second paragraph gives concrete use cases, and the third covers parameter details. It is compact and front-loaded, with no filler. The chain list repetition is slightly redundant with the schema but serves as helpful inline reference.

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, the description correctly focuses on usage context rather than return format. It covers the key aspects: purpose, supported networks, use cases, default behavior, and non-functional properties (free, read-only, no wallet). This makes the tool fully understandable for an agent to select and invoke correctly.

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 already documents the 'chain' parameter with a full enum and description, including the default behavior for 'all'. Schema description coverage is 100%, so the bar for added value is lower. The description reiterates the chain list and default behavior but adds little new semantic meaning beyond what the schema provides.

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 reads the current chain head (EVM block number or Solana slot) for a supported network. It uses a specific verb ('Read') and resource, and distinguishes it from siblings like network.transaction_status and market.crypto by focusing on block height.

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 use cases: confirming network progression before a transaction, correlating off-chain events with on-chain height, and choosing a safe starting point for log scanning. It does not explicitly name alternative tools, but the context implies when this tool is appropriate versus transaction status or token pricing tools, and notes it is free and read-only.

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

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, destructiveHint. The description adds useful context: 'Free, read-only, no wallet needed' and the requirement that 'chain' is required. This adds value beyond the annotations without contradicting them.

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 two sentences, front-loaded with the core purpose, and includes only necessary details. No wasted words.

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?

This is a simple single-parameter tool with an output schema available. The description sufficiently covers what the tool does, when to use it, and the required chain input. No missing critical 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 description repeats the supported chains and requirement, but adds no new meaning beyond the schema. The baseline of 3 applies because the schema already documents the only parameter fully.

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 verb and resource: 'Get the current gas price and EIP-1559 fee hints for an EVM chain.' This is specific and differentiates from sibling tools like network.blocknumber or market.crypto.

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?

Provides clear usage context: 'Use this to estimate transaction cost or explain fees to a user before they send a transaction.' However, it does not explicitly mention when not to use or name alternative tools, so it stops short of fully distinguishing from siblings.

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

TDQS

A4.6/5.0
Behavior5/5

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

The description extensively discloses behavioral traits beyond annotations: it's read-only, never signs or broadcasts, does not hold keys, enforces no allowlists/spend limits, and requires 'from' always. This complements readOnlyHint=true, idempotentHint=true, and destructiveHint=false perfectly, adding concrete details about live reads (nonce/gas/fees) and privacy 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 sections and bullet points, front-loading the key purpose. All sentences add value, but it's somewhat lengthy; could be slightly more concise without losing clarity.

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, 15 chains, mixed EVM/Solana semantics, privacy options), the description is thoroughly complete. No output schema is needed for return values as the description covers the transaction building process comprehensively.

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 baseline is 3. The description adds significant semantic value beyond the schema: explains token field semantics (Solana vs EVM, raw contract address, decimals fallback), gas responsibility, raw calldata usage for EVM, and privacy specifics. Minor improvement possible with more examples or edge cases.

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: preparing an unsigned native or token transfer transaction for supported chains. It specifies the verb 'build', the resource 'unsigned transaction', and distinguishes from broadcasting/signing tools. The scope and limitations are explicit.

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 when to use this tool (free, read-only, never signs or broadcasts) and lists supported chains and token types. However, it does not explicitly state when NOT to use it or provide alternative tools for signing or broadcasting, though the sibling tools indicate this is a unique capability.

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

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already declare read-only, idempotent, and non-destructive hints, but the description adds meaningful behavioral context: the server never holds caller wallets, so no balance is returned, and symbol lookups only work on configured chains. This goes well beyond the structured annotations and clarifies limits.

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 and front-loaded, with the core purpose in the first sentence. Each subsequent sentence adds necessary operational detail (token format, no balance, required fields, supported chains) with no filler. The organized structure makes it easy for an agent to scan.

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 present, the description is complete. It covers what the tool does, how to pass parameters, safety characteristics, supported chains, and requirements. The output schema handles return value details, so no further description is needed.

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 the baseline is 3. The description adds value by restating that both parameters are required, providing concrete examples like 'USDC' / 'USDC.e', and noting that symbol lookup is conditional on chain configuration. This extra context justifies a score above baseline.

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 a specific verb and resource: 'Read ERC-20 token metadata — name, symbol, decimals, total supply — for a token contract on an EVM chain.' This clearly distinguishes the tool from siblings like network.token_price by focusing on metadata, not pricing, and explicitly notes it never returns balances.

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 for when to use this tool: it is free, read-only, and returns only public metadata. It also explains the token parameter format (address or symbol) and caveats that symbol lookup depends on chain configuration. However, it does not explicitly name alternative tools or state 'use X instead' for cases like price queries, which keeps it just below a 5.

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

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, open-world, and non-destructive. The description adds that no payment or wallet is needed, which is useful cost/auth context beyond annotations. It doesn't disclose error/rate-limit behavior, but with annotations covering safety, this is adequate.

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 three concise sentences, front-loaded with the core function, then cost and default behavior. Every sentence adds value.

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 simplicity, the presence of a rich output schema, full parameter coverage, and annotations, the description covers the essential behavioral context (public API, free, defaults). No major gaps for an AI agent to correctly select and invoke this tool.

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?

Input schema covers both parameters with descriptions and defaults. The description's 'Defaults to ETH/USD' adds no new information beyond schema (symbol defaults to ethereum, vsCurrency to usd). With 100% schema coverage, the description's contribution to parameter meaning is minimal, but not incomplete.

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 fetches a spot token price from CoinGecko, using a specific verb and resource. It does not explicitly compare to sibling tools like market.crypto, but the scope is well defined. Given the mention of CoinGecko and spot price, it is easy to distinguish from other network tools, though not explicitly.

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 gives context that the API is public and free, and mentions default ETH/USD, which guides basic usage. However, it does not state when to prefer this tool over market.crypto or other siblings, nor any exclusions (e.g., not for historical data). Usage is implied but not explicitly detailed.

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

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, openWorldHint, idempotentHint true and destructiveHint false. The description adds useful context beyond annotations: 'Free, read-only' and the support for both transaction hash formats. No contradictions exist.

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 front-loaded with purpose, followed by usage context, requirements, and a chain list. It is slightly redundant with the schema's enum list, but overall it is compact and every section serves a purpose.

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?

With an output schema present and rich annotations, the description covers all necessary context: use cases, supported networks, parameter requirements, and safety profile. It lacks only minor behavioral details (e.g., pending timeouts) that are not essential for this tool.

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 description coverage is 100% with detailed descriptions for both chain and transaction_hash, including enum values and format hints. The description adds little beyond repeating requirements and chain list, so it does not meaningfully enhance schema-provided semantics.

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 'Check the status of a transaction' – a clear verb+resource pair. It explicitly states support for both EVM and Solana, distinguishing it from sibling tools like network.gas_info or network.blocknumber. The purpose is unambiguous.

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 explicit use cases: 'confirm a transfer landed, debug a failed transaction, or report status to a user.' It also notes both parameters are required. While it does not name alternatives or exclusion criteria, the context is clear and sufficient given the sibling set.

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

TDQS

A5/5.0
Behavior5/5

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

Discloses the two-step payment flow (paymentRequired → retry with paymentPayload), exact pricing per action, default excludeFields behavior, and the nuance that pixelSizeMeters is not schema-enforced. Adds significant behavioral context beyond the readOnly/idempotent hints, with no contradictions.

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?

Dense but well-organized: payment model first, then each action on its own line with all applicable params and defaults. No fluff; every sentence carries operational value. Length is justified given 34 parameters and 11 actions.

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?

Fully covers the tool's complexity: payment, per-action requirements, exclusions, pagination, mode selection, and conventions not enforced by schema. Output schema exists, so return values need no explanation. Nothing critical is missing.

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 schema coverage is 100%, the description adds meaning: per-action required/optional grouping, defaults, allowed ranges, mode conditionality (id OR lat/lng), and nested structures (locationBias/locationRestriction). This surpasses baseline by clarifying relationships between parameters.

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?

Description names a specific combined resource (Places/solar/aerial-view lookups) and enumerates 11 distinct actions with precise verbs and parameters. Clearly distinguishes from sibling tools that cover crypto, network, social, travel, and web3 domains.

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?

Provides explicit when-to-use guidance: partial vs full actions, text vs nearby search, rendering vs polling, page token repetition rules, and exactly-one-mode constraints. Emphasizes do-not-invent ids and correct structure of locationRestriction, giving clear exclusions and alternatives.

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

TDQS

A4.6/5.0
Behavior5/5

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

The description goes far beyond the annotations (readOnly, openWorld, idempotent, non-destructive) by detailing the x402 payment protocol, two operating modes, the requirement to retry with paymentPayload, the dynamic response shape, and the non-trivial field validation rules. 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.

Conciseness4/5

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

The description is well-structured with clear paragraphs and front-loaded purpose. However, it is somewhat verbose (e.g., repeats payment details in the first and last paragraphs). It could be slightly tightened without losing clarity, but overall every sentence adds value.

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 tool's complexity (payment flow, batch processing, dynamic response), the description covers all major aspects: modes, required fields, payment retry, optional filter, and response shape. It is missing only minor details like error handling or rate limits, but is otherwise complete.

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?

Despite 100% schema description coverage, the description adds substantial meaning: it explains the two modes (fuzzy match vs reverse lookup), the meaning of empty arrays, the match_condition_fields filter, and the paymentPayload flow. This is critical context that the schema alone does not convey.

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 verb 'resolve' and resource 'person / social-profile identity', specifies batch processing, and distinguishes the payment mechanism. The title reinforces the purpose. No sibling tools overlap, so differentiation is implicit.

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 explains when to use (identity resolution from names/emails/phones) and how to handle the two-step payment flow. It does not explicitly exclude alternatives, but given no similar sibling tools, the guidance is sufficient. It could be more explicit about prerequisites but is clear overall.

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

TDQS

A4.6/5.0
Behavior5/5

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

The description goes well beyond the annotations, disclosing that calls are paid per use via x402 from the caller's own wallet, no account needed, pricing is indicative, and the two-step payment challenge flow. This explains the tool's key behavioral trait (pay-per-call) that annotations alone don't convey.

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 lengthy but well-structured with bullet points and action-specific blocks. Every sentence provides necessary information (pricing, parameters, payment flow). It is appropriately detailed for a tool with 18 parameters and two modes, though slightly dense.

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 complex tool with two actions, 18 params, and a payment protocol, the description covers the purpose, usage, required params, payment flow, and pricing. An output schema exists, so return values are covered. The description gives the agent everything needed to invoke the tool correctly.

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 under each action, marking which are required vs optional, and explaining the paymentPayload special role. This helps the agent understand the parameter relationships beyond individual schema entries.

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 'Flight and hotel search' with a clear verb and resource, and distinguishes the two actions (flight_search and hotel_search) with their specific purposes. It is clearly differentiated from sibling tools like network.* or market.crypto, which are unrelated to travel.

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 detailed usage context: how to choose an action, required and optional parameters per action, and the exact payment flow (first call returns paymentRequired, then retry with paymentPayload). It doesn't mention alternatives or exclusions, but sibling tools are unrelated so no explicit 'when not to use' is needed.

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

TDQS

A5/5.0
Behavior5/5

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

Beyond the read-only annotation, it discloses deployment-specific limits: forecast capped at 3 days, history restricted to yesterday, marine limited to 1 day with no tides, and rejection before a provider call. It adds a safety disclaimer that results must not be used for aviation, marine navigation, or emergency planning.

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 earns its length: a one-sentence overview, a clear `q` rule, and six bulleted actions with their constraints. It is front-loaded and has no filler; every sentence conveys an operational requirement or caveat.

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 six parameters, six actions, an output schema, and deployment plan caps, the description covers all details an agent needs to select and invoke correctly. It explains date restrictions, defaults, and safety caveats, so the output schema handles return values and the description handles behavior.

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%, yet the description adds substantial meaning: accepted `q` formats (city, lat,lon, postal code, IATA), per-action parameter applicability, defaults, and server-side constraints. It clarifies which params matter for which action, going far 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 opens by identifying the tool's domain and capabilities: 'Weather data from a global weather data provider — current conditions, short-range forecast, astronomy, historical, marine, and location search.' It enumerates six concrete actions, which is specific and clearly separates it from non-weather sibling 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?

It gives explicit per-action guidance and even directs the agent to use `search` first when only an approximate place name exists. It also states constraints like 'history ... must be yesterday' and notes when to omit `days`, making when-to-use unambiguous.

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

TDQS

A4.7/5.0
Behavior5/5

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

Beyond the readOnlyHint=true annotation, the description discloses significant behavioral traits: the pay-per-call mechanism with indicative prices, the exact charge determined by the live payment challenge, and the two-step payment flow with `paymentPayload`. It also notes that no Abstraxn account is needed. These details are not deducible from annotations alone and add substantial transparency. There is no contradiction 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 well-structured with a clear overview sentence, a bulleted list of actions with prices and parameter requirements, and a concise note about the payment challenge flow. Every sentence provides useful information, and the format is easy to parse. Despite its length, it is not verbose or 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?

Given the tool's complexity (7 actions, 12 parameters, payment protocol), the description is remarkably complete. It covers all actions, their costs, required and optional parameters, the payment handshake, and clarifies the no-account requirement. With an output schema present and high schema coverage, it doesn't need to explain return values. There are no significant gaps.

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 descriptions for all 12 parameters (100% coverage), so baseline is 3. The description adds value by explicitly mapping which parameters are required or optional per action, and by providing examples like 'vitalik.eth' for ENS. This helps an agent select the correct parameters for a given action, which the schema alone does not do (the schema only requires `action`, not per-action prerequisites).

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 starts with a specific verb and resource: 'Multi-chain wallet, token, ENS, and transaction-simulation lookups'. It then enumerates seven distinct actions, each with a precise verb phrase (e.g., 'wallet_balances: token balances for a wallet across 20+ chains'). This clearly differentiates from sibling tools like market.crypto and network.token_price, which likely cover different lookup domains.

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 for when to use each action, including required and optional parameters for each. For example, 'Requires `chain` and `address`' for wallet_balances, and 'Optional `chain`, `limit`' for wallet_transactions. It also explains the payment flow (first call returns paymentRequired, retry with paymentPayload). However, it doesn't explicitly mention alternatives or exclusion cases like 'use network.token_price for simple price queries', so it lacks explicit when-not guidance.

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 Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.1/5.0
Disambiguation4/5

Tools are broadly distinct by domain (market, network, social, travel, web3), but some overlap exists between market.crypto and network.token_price (both provide token prices), and between network.token_info and web3.lookup's token_metadata action. However, the descriptions clarify the differences well.

Naming Consistency3/5

Tool names use a domain.subdomain pattern (e.g., market.crypto, network.gas_info), but the subdomains mix styles: dots (market.crypto), underscores (network.token_info), and plain names (travel.search). Additionally, actions within tools like 'places.lookup' have inconsistent naming (text_search_full vs. solar_building_insights).

Tool Count4/5

With 11 tools covering diverse domains (crypto, network, places, social, travel, web3), the count is reasonable. However, some tools encapsulate many actions (e.g., market.crypto has 6 actions, places.lookup has 12), hinting at a slightly heavy surface, but overall it fits the broad scope.

Completeness4/5

The tool set covers core workflows for each domain: crypto market data, network operations (block, gas, transfers, tokens), place search, social profile lookup, travel search, and web3 lookups. Minor gaps exist (e.g., no tool for sending transactions or managing user accounts), but the stated purpose (agent layer for diverse tasks) is mostly fulfilled.