Abstraxn
Server Details
Abstraxn Agent Kit gives AI agents instant access to real-time Web3, blockchain, and market data with no signup or API key. Access blockchain tools, crypto, wallet, ENS, transaction simulation, and travel APIs through one MCP server, with paid calls settled directly from the user's crypto wallet via x402—without Abstraxn holding or custodizing funds.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
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.
Tool Definition Quality
Average 4.4/5 across 8 of 8 tools scored. Lowest: 3.9/5.
The tool names are clearly separated by domain, but there is functional overlap between the free network.* lookups (token_price, token_info) and the paid market.crypto/web3.lookup actions (price_feed, token_metadata). An agent could easily misselect a paid tool when a free alternative exists, leading to unnecessary payment requests.
All tool names follow a consistent {domain}.{subdomain} pattern using lowercase and dots, with snake_case for multi-word subdomains. The pattern is predictable and no camelCase or mixed conventions are present.
8 tools is well within the ideal range for a server with a broad multi-domain scope. Each tool encapsulates multiple related actions, keeping the top-level count manageable while still offering substantial functionality.
Each domain covers its core read-only workflows: crypto market data includes search, prices, historical data, rankings, and trending; network covers block height, gas, token metadata, price, and transaction status; web3 covers wallet balances, transactions, PnL, ENS, and simulation. Minor gaps exist (e.g., no transaction sending or travel booking), but these are outside the stated data-access purpose.
Available Tools
8 toolsmarket.cryptoCrypto market data (pay-per-call)ARead-onlyIdempotentInspect
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). Optionalcurrencies(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. Optionalcurrency(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.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | search: coin name or symbol to search for, e.g. "btc". | |
| id | No | historical_data: coin id, e.g. "bitcoin". | |
| ids | No | price_feed: comma-separated coin IDs, e.g. "bitcoin,ethereum". | |
| days | No | historical_data: lookback window in days, or "max". Default 30. | |
| page | No | market_data: page number, default 1. | |
| limit | No | market_data: max results, default 100. | |
| order | No | market_data: sort order, default "market_cap_desc". | |
| action | Yes | Which market-data operation to perform. | |
| tokens | No | token_prices: array of {chain, token_address} pairs to price, max 200 entries. | |
| category | No | market_data: category filter, e.g. "decentralized-finance-defi". | |
| currency | No | market_data / historical_data: currency code, default "usd". | |
| interval | No | historical_data: data granularity, e.g. "daily". | |
| currencies | No | price_feed: comma-separated fiat currency codes, default "usd". | |
| include_24h | No | price_feed: include 24h price change (default true). | |
| include_mcap | No | price_feed: include market cap (default false). | |
| paymentPayload | No | x402 payment payload from a previous `paymentRequired` challenge. Omit on the first call. |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | |
| paymentRequired | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses key behavioral traits beyond annotations: the two-step payment protocol ('first call returns paymentRequired; retry with the same arguments plus paymentPayload'), the need for coin IDs rather than tickers, and the indicative pricing model. It also clarifies data source (CoinGecko) and that no account is needed, adding significant context beyond the readOnlyHint annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a clear front-loaded overview, bulleted action list with prices and parameters, and a separate payment flow explanation. Every sentence adds value, and the length is justified by the tool's complexity (six actions, 16 params, payment protocol). No fluff or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity and the presence of an output schema, the description is complete: it covers all six actions, their parameters, defaults, required vs optional, pricing, the payment challenge flow, and important usage notes (e.g., search-first workflow, ID not ticker). It also acknowledges that exact charges come from the live challenge, which is essential for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already has 100% parameter descriptions, but the description adds action-level parameter semantics: it groups parameters by action, states which are required (q, ids, id, tokens), gives examples ('bitcoin'), and clarifies defaults and constraints (e.g., 'limit 1-250, default 100'). This goes beyond the schema, though some information is redundant with schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Crypto market-data lookups (CoinGecko-sourced pricing and market data)' and enumerates six specific operations (search, price_feed, market_data, historical_data, trending, token_prices). This specific verb+resource combination distinguishes it from sibling tools like network.token_price by highlighting its multi-action, CoinGecko-sourced, pay-per-call nature.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides detailed guidance for when to use each action, such as 'Call this first to resolve a coin id before using price_feed or historical_data' and 'use for "top N coins" / market overview questions'. It explains selection criteria, required parameters, and the payment flow. However, it does not explicitly mention alternative sibling tools or when not to use this tool, so it falls short of full cross-tool differentiation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
network.blocknumberGet current block number / slotARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| chain | No | Blockchain network, or "all" (default) for every supported chain. One of: solana, solana-devnet, ethereum, sepolia, polygon, amoy, bsc, bsc-testnet, base, base-sepolia, tempo, tempo-testnet, arbitrum-one, monad, skale-base-sepolia, all |
Output Schema
| Name | Required | Description |
|---|---|---|
| slot | No | Solana slot number. |
| chain | No | |
| error | No | |
| blocks | No | Per-chain results, present for multi-chain queries. |
| message | No | |
| blockNumber | No | Hex-encoded EVM block number. |
| blockNumberDecimal | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, so the safety profile is established. The description adds value beyond annotations by stating 'Free, read-only, no wallet needed' and explaining the default behavior when chain is omitted (query all chains), which enriches the agent's understanding of the tool's runtime behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well structured with a purpose statement, use cases, and parameter guidance. It is a bit longer than the get_calls example but every sentence contributes useful information; no fluff or repetition of schema data beyond what is necessary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one optional parameter and an output schema, the description covers the core behavior, supported chains, default behavior, and practical use cases. There is no major gap; the output schema can handle return value details, so the description is complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a description and enum in the schema, so the parameter is well-documented. The description still adds meaning by explaining that omitting `chain` (or passing 'all') queries every resolvable chain, and by repeating the chain list for immediate reference without requiring schema lookup.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as reading the current chain head (EVM block number or Solana slot) for a supported network, with a specific verb 'Read' and a concrete resource. It also distinguishes itself from sibling tools like network.gas_info and network.transaction_status by emphasizing read-only, free, and no wallet needed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear usage context: confirming network progress, correlating off-chain events, and choosing a safe starting point for log scanning. It does not explicitly name alternative tools or state when not to use this tool, but the use cases are well-defined and the parameter behavior (omit chain for all) is covered.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
network.gas_infoGet gas price infoARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| chain | Yes | EVM 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
| Name | Required | Description |
|---|---|---|
| chain | No | |
| error | No | |
| message | No | |
| gasPrice | No | Current gas price in wei. |
| timestamp | No | Unix ms timestamp of the reading. |
| gasPriceGwei | No | Current gas price in gwei. |
| maxFeePerGas | No | |
| supportsEip1559 | No | |
| maxPriorityFeePerGas | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior. The description adds useful context beyond annotations: 'Free, read-only, no wallet needed' clarifies auth and cost requirements. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, front-loaded with the core purpose, and every sentence adds value: purpose, usage, and required parameter. No fluff or redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-parameter tool with a complete output schema and strong annotations, the description covers all necessary aspects: purpose, usage guidance, and parameter requirement. No gaps in essential information.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single parameter 'chain' already has a comprehensive description with an enum. The description repeats the chain list but adds no semantic meaning beyond what the schema provides, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get the current gas price and EIP-1559 fee hints for an EVM chain,' using a specific verb and resource. It distinguishes itself from sibling tools like network.blocknumber and network.token_price by focusing on gas/fee information.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear usage context: 'Use this to estimate transaction cost or explain fees to a user before they send a transaction.' It implies when to use it but does not explicitly name alternatives or exclusions, which would warrant a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
network.token_infoGet ERC-20 token infoARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| chain | Yes | EVM network for the token contract. | |
| token | Yes | ERC-20 contract address (0x…) or symbol USDC / USDC.e where configured for the chain. |
Output Schema
| Name | Required | Description |
|---|---|---|
| name | No | |
| chain | No | |
| error | No | |
| symbol | No | |
| message | No | |
| decimals | No | |
| timestamp | No | |
| totalSupply | No | Raw total supply (base units). |
| tokenAddress | No | |
| totalSupplyFormatted | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint false. The description adds meaningful behavioral context: it is 'Free, read-only', the server never holds a caller wallet, and no balance is ever returned—only public token metadata. This directly informs the user about the tool's limitations and safety profile, exceeding what annotations alone convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is succinct and well-structured, opening with the primary purpose and then covering parameter formats, limitations, required fields, and supported chains in a logical flow. Every sentence provides necessary information without redundancy, making it highly scannable for an AI agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool with two parameters and an output schema, the description is complete. It specifies supported chains, token input format, required fields, and behavioral limitations. The output schema covers return values, so no further elaboration is needed. The description fully equips an agent to decide when and how to invoke the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds value by explicitly explaining the token parameter accepts a contract address (0x…) or a symbol like USDC / USDC.e where configured, and clarifies that both chain and token are required. While the schema already says this, the description reinforces it in context, slightly elevating the score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states exactly what the tool does: 'Read ERC-20 token metadata — name, symbol, decimals, total supply — for a token contract on an EVM chain.' The verb 'Read' plus the resource and specific metadata fields clearly distinguish it from sibling tools like network.token_price, which would return price data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context on when to use the tool and how to specify inputs, such as accepting contract address or symbol (e.g., USDC / USDC.e) where configured. It also notes that both chain and token are required and lists supported chains. However, it does not explicitly mention alternatives or exclusions beyond implying this is for metadata, not balances.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
network.token_priceGet token spot priceARead-onlyIdempotentInspect
Get a spot token price from a public market API (CoinGecko). Free — no payment or wallet needed. Defaults to ETH/USD.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | CoinGecko token id (e.g. "ethereum", "bitcoin", "solana"). Defaults to "ethereum". | |
| vsCurrency | No | Quote currency code. Defaults to "usd". |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | |
| price | No | |
| source | No | e.g. "coingecko". |
| symbol | No | |
| message | No | |
| vsCurrency | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is clear. The description adds meaningful behavioral context beyond this: it names the external API (CoinGecko), states the default pair (ETH/USD), and confirms no payment or wallet is required. There is no contradiction with the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, tightly written sentence that front-loads the core purpose and includes only high-value context (source, cost, defaults). Every phrase contributes meaning, making it an example of effective brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple: two optional, well-documented parameters and an output schema, so the description does not need to explain return values. It provides the essential context—external API, free usage, and default behavior—making it complete for an agent to select and invoke the tool appropriately in most cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers 100% of the parameters, with both 'symbol' and 'vsCurrency' having clear descriptions and default values. The description's mention of 'Defaults to ETH/USD' reinforces but does not extend beyond what the schema already states, so it meets the baseline but adds no new semantic value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Get a spot token price from a public market API (CoinGecko).' It specifies a concrete verb, resource, and source, and notes the default pair. However, it does not explicitly differentiate from the sibling tool 'market.crypto', so it misses the highest bar for sibling distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool (for a spot token price) and adds useful context such as 'Free — no payment or wallet needed.' It does not provide explicit guidance on when not to use it or mention alternatives like 'market.crypto' for broader market data, leaving usage somewhat implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
network.transaction_statusGet transaction statusARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| chain | Yes | Blockchain network. One of: solana, solana-devnet, ethereum, sepolia, polygon, amoy, bsc, bsc-testnet, base, base-sepolia, tempo, tempo-testnet, arbitrum-one, monad, skale-base-sepolia | |
| transaction_hash | Yes | Transaction hash (EVM, 0x + 64 hex) or Solana signature (base58). |
Output Schema
| Name | Required | Description |
|---|---|---|
| to | No | |
| from | No | |
| chain | No | |
| error | No | |
| value | No | |
| status | No | e.g. "success", "failed", "not_found", "pending". |
| gasUsed | No | |
| message | No | |
| gasPrice | No | |
| timestamp | No | |
| blockNumber | No | |
| transaction_hash | No | |
| blockNumberDecimal | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds 'Free, read-only' (redundant) and mentions supported chains, but no new behavioral traits such as error handling, rate limits, or return behavior. It is consistent with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded, but the chain list duplicates the schema enum, making it slightly redundant. Overall it is efficient and well-structured without being verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool with complete schema, annotations, and output schema, the description adequately covers purpose, usage, and required inputs. It lacks explicit exclusions or error-handling notes, which are not necessary given the tool's simplicity and existing metadata.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers 100% of parameters with descriptions and an enum for chain. The description repeats the chain list and required-parameter info, adding no new semantic meaning beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Check the status of a transaction' with explicit support for both EVM and Solana. This distinguishes it from sibling tools like network.blocknumber or network.token_info, which serve different purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit use cases: 'confirm a transfer landed, debug a failed transaction, or report status to a user,' and notes that both chain and transaction_hash are required. It does not mention alternatives or when-not-to-use, but the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
travel.searchFlight / hotel search (pay-per-call)ARead-onlyIdempotentInspect
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. OptionalreturnDate,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. Optionaladults,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.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | hotel_search: city or hotel name to search for, e.g. "hotels in Paris". | |
| stops | No | flight_search: stop preference — 0=nonstop only, 1=up to 1 stop, 2=up to 2 stops. Optional. | |
| action | Yes | Which travel operation to perform. | |
| adults | No | flight_search / hotel_search: number of adult passengers/guests. Optional. | |
| origin | No | flight_search: departure airport IATA code, e.g. "JFK". | |
| sortBy | No | hotel_search: sort order — 3=lowest price, 8=highest rating, 13=most reviewed. Optional. | |
| children | No | flight_search / hotel_search: number of children. Optional. | |
| currency | No | flight_search / hotel_search: currency code, default "USD". | |
| maxPrice | No | flight_search / hotel_search: maximum price filter. Optional. | |
| minPrice | No | hotel_search: minimum price per night filter. Optional. | |
| hotelClass | No | hotel_search: star rating filter, 2-5. Optional. | |
| returnDate | No | flight_search: return date for round trips, YYYY-MM-DD. Optional. | |
| checkInDate | No | hotel_search: check-in date, YYYY-MM-DD. | |
| destination | No | flight_search: arrival airport IATA code, e.g. "LAX". | |
| travelClass | No | flight_search: cabin class — 1=Economy, 2=Premium Economy, 3=Business, 4=First. Optional. | |
| checkOutDate | No | hotel_search: check-out date, YYYY-MM-DD. | |
| departureDate | No | flight_search: departure date, YYYY-MM-DD. | |
| paymentPayload | No | x402 payment payload from a previous `paymentRequired` challenge. Omit on the first call. |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | |
| paymentRequired | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
It discloses the two-step payment flow (paymentRequired then paymentPayload), pricing, and that the exact charge comes from the live challenge. This goes well beyond the readOnly/idempotent annotations, providing crucial behavioral context for the agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with bullet-point action breakdowns and front-loads the most important info (paid, x402, no account). Every sentence earns its place; no fluff or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and annotations covering safety, the description fully covers action selection, required params, pricing, and the payment retry handshake. It is complete enough for an agent to invoke correctly without additional context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds value by grouping parameters by action and marking which are required vs optional (e.g., 'Requires origin, destination, departureDate'), which the schema alone doesn't explicitly convey. Enum meanings are already in the schema, so no extra credit there.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool performs flight and hotel search via Google Flights and Google Hotels, using specific action subtypes. It distinguishes from sibling tools (all crypto/network unrelated) and provides a specific verb and resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context: pay-per-call, x402 protocol, no account needed, and explicit required vs optional parameters for each action. It doesn't explicitly state when not to use or name alternatives, but no comparable siblings exist.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
web3.lookupWallet / token / ENS / tx-simulation lookups (pay-per-call)ARead-onlyIdempotentInspect
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
chainandaddress.wallet_transactions ($0.005): transaction history with asset transfers for a wallet. Requires
address. Optionalchain,limit.wallet_pnl ($0.01): realized and unrealized profit/loss per token for a wallet. Requires
chainandaddress.token_metadata ($0.002): name/symbol/decimals for a token contract. Requires
chainandaddress.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. Optionalvalue,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.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | tx_simulate: recipient/contract address for the simulated transaction. | |
| gas | No | tx_simulate: gas limit override. Optional. | |
| data | No | tx_simulate: hex-encoded calldata. Optional. | |
| from | No | tx_simulate: sender address for the simulated transaction. | |
| name | No | ens_resolve: ENS name to resolve, e.g. "vitalik.eth". | |
| chain | No | wallet_balances / wallet_transactions / wallet_pnl / token_metadata: chain name, e.g. "ethereum", "base", "solana". | |
| limit | No | wallet_transactions: max transactions to return, default 100. | |
| value | No | tx_simulate: transaction value in wei, as a string. Optional, default "0". | |
| action | Yes | Which web3 operation to perform. | |
| address | No | Address to look up — a wallet address for wallet_balances / wallet_transactions / wallet_pnl / ens_reverse, or a token contract address for token_metadata. | |
| network_id | No | tx_simulate: EVM chain id as a string, e.g. "1" or "8453". | |
| paymentPayload | No | x402 payment payload from a previous `paymentRequired` challenge. Omit on the first call. |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | |
| paymentRequired | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, but the description adds vital behavioral details: the payment protocol, the two-step paymentRequired flow, and the note that prices are indicative while exact charges come from the live challenge. This goes beyond the structured annotations and helps the agent manage the payment round-trip.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is structured as a bullet list with one line per action, each containing price, scope, and required parameters. It is front-loaded with the main purpose and payment model, and no sentence is redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 12 parameters and a pay-per-call flow, the description covers all major aspects: payment challenge handling, per-action requirements, optional parameters, and the nature of results (e.g., tx_simulate returns gas estimate and trace). The presence of an output schema means return values don't need to be detailed, but the description still gives a preview.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers all 12 parameters with descriptions, so baseline is 3. The description adds per-action parameter requirements, examples (e.g., 'vitalik.eth' for ens_resolve, chain names like 'ethereum', 'base', 'solana'), and clarifies which parameters are required for each action. This makes it easier to construct a correct call.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Multi-chain wallet, token, ENS, and transaction-simulation lookups' which clearly states the tool's function. It enumerates seven distinct actions (wallet_balances, wallet_transactions, etc.), each with a specific purpose, distinguishing it from sibling tools focused on network or market data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance on which action to use for each lookup, including required parameters for each. It notes the pay-per-call x402 flow and the need to retry with paymentPayload, but it does not explicitly contrast with sibling tools or state when this tool should not be used.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- AlicenseAqualityAmaintenanceGTM signal intelligence suite for AI agents. Six tools: hiring signals, tech stack detection, company-to-LinkedIn resolution, ICP scoring, job board scanning, and a combined signals aggregator. Built for outbound sales workflows.111111MIT

industrylens-mcpofficial
Flicense-qualityCmaintenanceBrowse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.
Sociality MCPofficial
Alicense-qualityDmaintenanceSocial media analytics, post insights, and competitor benchmarking for AI agents.6MIT- AlicenseAqualityAmaintenanceDetects hiring intent signals by scanning job boards for specific companies. Returns structured role data for outbound sales targeting.1901MIT