Skip to main content
Glama

Abstraxn Agent Layer

Server Details

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

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
Abstraxn-Labs/abstraxn-agent-layer
GitHub Stars
4
Server Listing
Abstraxn Public Web3 MCP

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.4/5 across 8 of 8 tools scored. Lowest: 3.9/5.

Server CoherenceA
Disambiguation4/5

Most tools are clearly distinct by domain and purpose, but there is some overlap: network.token_price and market.crypto's price_feed both provide CoinGecko spot prices, and network.token_info overlaps with web3.lookup's token_metadata. These could cause misselection, though descriptions clarify the differences.

Naming Consistency4/5

The naming pattern is mostly consistent with <domain>.<action> (e.g., network.gas_info, travel.search, web3.lookup), but market.crypto is a domain+category rather than an action, and network.blocknumber uses a noun rather than a verb. Minor deviations but the overall style is predictable.

Tool Count5/5

Eight top-level tools is well-scoped, and each bundles related actions (e.g., market.crypto has six actions, web3.lookup has seven). This keeps the tool count manageable while covering a broad surface area, fitting the server's multi-domain purpose.

Completeness4/5

The server covers market data, network status, token metadata, gas fees, transaction status, travel search, wallet lookups, ENS, and transaction simulation. Minor gaps exist (e.g., no contract read, no actual transaction sending), but the surface is comprehensive for an informational/agent layer.

Available Tools

8 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?

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

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?

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.

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?

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.

Discussions

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

Related MCP Servers

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.