Skip to main content
Glama

Server Details

LayerZero V2 tools over MCP: message quotes, OFT transfers, Stargate bridging, DVN lookups.

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.

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.1/5 across 21 of 21 tools scored. Lowest: 3.5/5.

Server CoherenceA
Disambiguation5/5

Each tool targets a distinct operation (quoting, building calldata, broadcasting, tracking, listing) with clear prefixes and domain-specific sub-names. No two tools have overlapping purposes; even similar ones like lz_oft_send and lz_stargate_send are clearly for different token standards.

Naming Consistency4/5

All tools start with 'lz_' and follow a consistent pattern within each subdomain (e.g., lz_oft_*, lz_stargate_*, lz_transfer_*). However, there is slight inconsistency in verb placement: some use verb_noun (list_chains, get_deployments) while others use noun_verb (oft_quote, transfer_build). This is a minor deviation from full consistency.

Tool Count5/5

21 tools cover the full LayerZero ecosystem: core messaging, OFT tokens, Stargate bridges, Value Transfer API, and utilities. Each tool serves a clear need without unnecessary bloat. The count is well-scoped for this domain.

Completeness5/5

The tool set covers the entire cross-chain message lifecycle: quote, build calldata, broadcast, track, and list chains/tokens/DVNs. Notable gaps like message proof or retry are not essential for common agent workflows. All major LayerZero V2 operations are represented.

Available Tools

21 tools
lz_broadcast_signed_txAInspect

Broadcast a pre-signed Ethereum transaction via eth_sendRawTransaction on the source chain RPC. Use this as the canonical broadcast path for calldata produced by lz_send_message (EndpointV2.send), lz_oft_send (OFT.send), lz_stargate_send (StargatePoolNative.sendToken), and lz_transfer_build (Value Transfer API steps). Returns the transaction hash on success. The caller must construct calldata, sign locally with msg.value = nativeFee from the corresponding quote tool, then submit the RLP-encoded signed tx hex here.

ParametersJSON Schema
NameRequiredDescriptionDefault
src_chainYesSource chain name (e.g. 'ethereum', 'arbitrum', 'base', 'optimism', 'polygon', 'avalanche', 'bsc')
signed_tx_hexYesPre-signed Ethereum transaction in hex format (the 0x-prefixed RLP-encoded signed transaction). Construct calldata via lz_send_message / lz_oft_send / lz_stargate_send / lz_transfer_build, sign locally with msg.value = nativeFee, then submit here.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYesUnderlying response payload verbatim.
Behavior4/5

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

Describes the action (broadcast, return tx hash) and prerequisite steps. Lacks details on failure modes or confirmation behavior, but given no annotations, the description provides adequate behavioral context.

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?

Three concise sentences: purpose, use cases, process. Front-loaded with core action, no redundant information. Every sentence earns its place.

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?

Covers prerequisites, result (transaction hash), and ties to sibling tools. With output schema present, return value documentation is covered externally. The description is complete for a broadcast tool.

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?

Adds significant meaning beyond the schema: for src_chain lists example values; for signed_tx_hex explains construction process (call other tools, sign with nativeFee, RLP-encode). Schema coverage is 100% but description enhances understanding.

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 broadcasts a pre-signed Ethereum transaction via eth_sendRawTransaction. It specifies the exact source of calldata (lz_send_message, lz_oft_send, etc.), distinguishing it from 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?

Explicitly tells when to use this tool: as the canonical broadcast path for calldata from listed tools. Provides step-by-step instructions on how to construct calldata, sign locally, and submit the signed transaction.

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

lz_encode_optionsAInspect

Encode LayerZero TYPE_3 options bytes for use with EndpointV2.quote() and EndpointV2.send(). TYPE_3 (version tag 0x0003) is the current standard options format for LayerZero V2. Builds binary options with executor worker ID 0x01 and option type 1 (lzReceive) with configurable gas limit and native token drop amount. Returns the hex-encoded options bytes.

ParametersJSON Schema
NameRequiredDescriptionDefault
gas_limitNoGas limit for lzReceive execution on destination (default: 200000)
native_dropNoNative token amount to drop on destination in wei (default: 0)

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYesUnderlying response payload verbatim.
Behavior4/5

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

With no annotations provided, the description carries the full burden. It describes the encoding process, specifying the binary format (executor worker ID 0x01, option type 1) and the return value (hex-encoded bytes). It implies a stateless, pure function without side effects. This is transparent enough for an agent to understand behavior, though it could explicitly state that it does not modify any state.

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, consisting of three sentences that front-load the primary purpose and then add necessary technical details. Every sentence adds value: purpose, protocol specifics, and output. There is no waste or repetition.

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

Completeness5/5

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

Given the tool's simplicity (2 parameters, fully described schema, and existence of an output schema), the description is complete. It explains the protocol version, the purpose, what the options are for, and the return format. No additional context is needed for correct invocation.

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 has 100% coverage with descriptions for both parameters: gas_limit and native_drop. The description adds 'configurable gas limit and native token drop amount', which is already in the schema. No additional semantic meaning or examples are provided beyond what the schema offers. Baseline 3 applies since schema coverage is high.

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: 'Encode LayerZero TYPE_3 options bytes for use with EndpointV2.quote() and EndpointV2.send().' It specifies the protocol version (TYPE_3), the executor and option type details, and the output format. This distinguishes it from sibling tools like lz_quote_fee or lz_send_message, as no other tool performs encoding.

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

Usage Guidelines3/5

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

The description implies usage as a preparatory step for EndpointV2.quote() and EndpointV2.send() by stating 'for use with', but it does not explicitly state when to use it vs alternatives, nor does it list any exclusions or prerequisites. No sibling tool performs the same function, so the context is clear, but explicit guidance is missing.

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

lz_get_chain_rpcAInspect

Get the public RPC URL for a supported chain by name. These RPC URLs are used by the server for eth_call queries against EndpointV2.

ParametersJSON Schema
NameRequiredDescriptionDefault
chain_nameYesChain name to get RPC URL for (e.g. 'ethereum', 'arbitrum', 'base')

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYesUnderlying response payload verbatim.
Behavior3/5

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

With no annotations, the description carries the full burden. It implies a read-only operation ('get'), but does not explicitly state safety, permissions, or potential errors (e.g., invalid chain name). The added context about eth_call queries is helpful but insufficient for full transparency.

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?

Two sentences with no wasted words. The first sentence states the core purpose, the second adds relevant context. Perfectly front-loaded and concise.

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

Completeness3/5

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

The description adequately explains the tool's purpose and context, but lacks completeness in areas like valid chain sources (e.g., referencing lz_list_chains) and handling of invalid inputs. Given the existence of an output schema, return format details are not required, but more context on usage boundaries would improve the score.

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 parameter description in the schema already explains what chain_name is. The tool description does not add any additional parameter-level information beyond what's in the schema.

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

Purpose4/5

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

The description clearly states the tool's purpose: 'Get the public RPC URL for a supported chain by name.' It also provides context about usage for eth_call queries. While it doesn't explicitly differentiate from siblings like lz_list_chains, the specific focus on RPC URL is clear.

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 provides context (used for eth_call queries) but does not offer explicit guidance on when to use this tool vs alternatives. No exclusions or mention of prerequisites, such as checking available chains with lz_list_chains.

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

lz_get_deploymentsAInspect

Get LayerZero V2 deployment addresses across all supported chains. Returns EndpointV2, SendLib, ReceiveLib, DVN, and Executor addresses from the LayerZero Metadata API.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYesUnderlying response payload verbatim.
Behavior3/5

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

No annotations are provided, so the description carries full burden. It indicates a read-only operation from the LayerZero Metadata API, but lacks details on potential limitations, rate limits, or whether the data is cached. The description is adequate but could be more transparent.

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-loading the main purpose and then specifying what addresses are returned. Every sentence is necessary and concise, with 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?

Given the simplicity of the tool (zero parameters, read-only, with an output schema), the description is complete. It explains what the tool returns and the source, and the output schema covers return values. No additional information 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?

There are no parameters, so the description adds no parameter details. However, schema coverage is 100% (zero params), so the baseline is 4. The description effectively handles the absence of 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?

The description clearly states that the tool retrieves LayerZero V2 deployment addresses across all supported chains, listing specific address types (EndpointV2, SendLib, etc.). It is specific and distinct from sibling tools like lz_get_chain_rpc or lz_list_chains.

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

Usage Guidelines3/5

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

The description implies usage for getting deployment addresses but does not provide explicit guidance on when to use versus alternatives. No exclusions or when-not scenarios are mentioned, though the purpose is clear.

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

lz_get_messageAInspect

Get a LayerZero message by its GUID (Global Unique Identifier). The GUID is returned by EndpointV2.send() and can also be found in the Scan API message tracking response.

ParametersJSON Schema
NameRequiredDescriptionDefault
guidYesLayerZero message GUID (hex, with or without 0x prefix)

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYesUnderlying response payload verbatim.
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It explains the source of the GUID and that the tool retrieves a message, but does not disclose behavior on missing GUID, rate limits, or the nature of the operation (read-only). However, for a simple 'get' operation, the information 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 two sentences long, front-loaded with the action, and contains no unnecessary words. 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 that an output schema exists (not shown), the description does not need to detail return values. It explains the GUID source, which is relevant context. For a simple retrieval tool, the description is nearly complete, though it could explicitly mention that it returns a single message.

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 input schema already provides detailed documentation for the 'guid' parameter (hex format). The description adds context by explaining where the GUID originates (EndpointV2.send() and Scan API), which enhances understanding beyond the schema.

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 retrieves a LayerZero message by its GUID, with specific sources for the GUID. It distinguishes from siblings like lz_get_messages_by_address (which uses an address) and lz_track_message (which tracks message status).

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

Usage Guidelines2/5

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

The description does not provide explicit guidance on when to use this tool versus alternatives. It implies usage when a GUID is known, but lacks direct comparison or when-not-to-use context.

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

lz_get_messages_by_addressAInspect

Get LayerZero messages for a specific wallet address. Queries the Scan API for all messages sent or received by the given address. Returns message details including status, source/destination chains, and timestamps.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of messages to return (default: 10)
addressYesWallet address to get LayerZero messages for (hex, with or without 0x prefix)

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYesUnderlying response payload verbatim.
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only mentions querying the Scan API and returning details, but does not disclose important traits like pagination, rate limits, or that it is a read-only operation. The description is insufficient for an agent to understand all behavioral implications.

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-loads the main action, and contains no redundant words. 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 simplicity (2 parameters, output schema exists), the description adequately covers what the tool does and what it returns (message details with status, chains, timestamps). It could mention pagination or default limit behavior, but it's mostly complete.

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%, so the baseline is 3. The description does not add extra meaning beyond the schema; it repeats the purpose. No additional parameter details are provided.

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 specifies the verb 'Get', resource 'LayerZero messages', and the filter 'for a specific wallet address'. It distinguishes from siblings like lz_get_message (singular message) by indicating it returns all messages sent or received by an address.

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

Usage Guidelines3/5

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

The description implies when to use the tool by stating its purpose, but provides no explicit guidance on when to use this versus alternatives or when not to use it. No exclusions or context for selection are given.

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

lz_list_chainsAInspect

List all 16 chains supported by this LayerZero MCP server with their Endpoint IDs (EIDs). Includes Ethereum, Arbitrum, Optimism, Polygon, BSC, Avalanche, Base, Solana, zkSync, Sei, Sonic, Berachain, Story, Monad, MegaETH, and Tron. EIDs are used in EndpointV2.quote() and EndpointV2.send() to identify destination chains.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYesUnderlying response payload verbatim.
Behavior4/5

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

No annotations provided, so description carries full burden. It discloses that it returns a list of 16 chains with their EIDs. No hidden behaviors or 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?

Two concise sentences with no wasted words. Front-loaded with the action and followed by details and usage context.

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 no parameters and a simple output, description fully covers what the tool does and why the output is useful. References the output schema indirectly by explaining the use of EIDs.

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?

No parameters exist; baseline is 4 per guidelines. Description does not need to add parameter details as there are none.

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?

Clearly states the action: 'List all 16 chains supported by this LayerZero MCP server with their Endpoint IDs (EIDs).' Lists all chains explicitly, differentiating from sibling tools that perform other operations like sending or quoting.

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?

Implies usage context: EIDs are used in quote and send operations. No explicit exclusion of alternatives, but the tool is self-contained for listing chains, making it clear when to use it.

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

lz_list_dvnsAInspect

List all Decentralized Verifier Networks (DVNs) registered in the LayerZero V2 protocol. DVNs verify cross-chain messages by attesting to source chain state on the destination chain. Returns DVN names, addresses, supported chains, and configuration details.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYesUnderlying response payload verbatim.
Behavior4/5

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

No annotations provided, so description carries full burden. Describes it as a read-only list operation, explains the purpose of DVNs, and lists return fields. Lacks details on ordering, caching, or potential errors, but sufficient for a simple list tool.

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?

Two sentences: first states action and expands acronym, second defines DVNs and specifies return content. No redundant words; front-loaded with key information.

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 no parameters and likely output schema, description sufficiently explains what the tool returns. Could clarify scope (e.g., 'all DVNs across all chains') but is generally complete.

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

Parameters4/5

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

No parameters in schema, so description need not add parameter info. Baseline 4 for 0 param tools; description provides no irrelevant details.

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?

Clearly states it lists all DVNs registered in LayerZero V2, explains the role of DVNs, and specifies return contents (names, addresses, supported chains, configuration). Distinct from sibling list tools which target other resources.

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?

Implies usage for retrieving DVNs, but no explicit guidance on when to use versus alternatives, prerequisites, or exclusions. Since no other sibling tool lists DVNs, the context is adequate but not enriched.

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

lz_oft_listAInspect

List all available OFT (Omnichain Fungible Token) deployments registered in the LayerZero Metadata API. Returns token symbols, contract addresses, supported chains, and deployment details.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYesUnderlying response payload verbatim.
Behavior3/5

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

No annotations are provided, so the description must fully disclose behavior. It indicates a read operation returning specific data, but does not mention pagination, rate limits, or authorization requirements. The behavior is simple, so the gaps are minor.

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

Conciseness5/5

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

The description is a single sentence that effectively communicates the action and output. No redundant or unnecessary words; front-loaded with the key verb 'List'.

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 no parameters and an existing output schema, the description covers the main purpose and return fields. It does not mention edge cases or ordering, but for a simple list tool the information is sufficient.

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?

There are zero parameters and schema coverage is 100%, so the description does not need to explain parameters. Baseline score of 4 is appropriate; the description adds no parameter details, which is fine.

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 lists all OFT deployments from LayerZero Metadata API and specifies the returned fields (token symbols, contract addresses, chains, details). It does not explicitly differentiate from sibling tools but 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 Guidelines3/5

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

The description implies usage for listing OFT deployments but provides no guidance on when to use vs. alternatives or any prerequisites. No explicit when-not-to-use context.

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

lz_oft_quoteAInspect

Quote an OFT (Omnichain Fungible Token) transfer via the LayerZero Metadata API. Returns estimated fees, exchange rates, and transfer details for bridging tokens between chains using LayerZero's OFT standard.

ParametersJSON Schema
NameRequiredDescriptionDefault
amountYesAmount to transfer (in base units as string)
dst_chainYesDestination chain name (e.g. 'arbitrum')
src_chainYesSource chain name (e.g. 'ethereum')
token_symbolYesToken symbol (e.g. 'USDC', 'USDT', 'ETH')

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYesUnderlying response payload verbatim.
Behavior3/5

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

No annotations provided, so description must convey safety. It says 'Quote' implying read-only, but does not explicitly state it does not execute the transfer or require special permissions. Adequate but not thorough.

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?

Two concise sentences front-loaded with purpose and return values. No redundant or extra content.

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, the description adequately covers purpose and output. It lacks mention of prerequisites (e.g., supported chains) but is sufficient for a quote 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 coverage is 100% and descriptions are clear. The description adds no new parameter-level information beyond the schema, justifying the baseline score of 3.

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?

Clearly states it quotes an OFT transfer, specifies return values (fees, rates, details), and differentiates from siblings by explicitly mentioning the OFT standard and Metadata API.

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?

No explicit guidance on when to use this tool versus alternatives like lz_quote_fee or lz_stargate_quote. The description implies it's for OFT standard tokens, but fails to provide explicit usage context.

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

lz_oft_sendAInspect

Build transaction calldata for an OFT (Omnichain Fungible Token) send() call on any OFT contract. OFT V2 uses uint64 amountSD (shared decimals) instead of uint256 amountLD. Returns the hex-encoded calldata for OFT.send(SendParam, MessagingFee, refundAddress). The caller must first call lz_quote_fee or lz_oft_quote to get the messaging fee, then sign and broadcast this transaction with msg.value = nativeFee.

ParametersJSON Schema
NameRequiredDescriptionDefault
amountYesAmount to send in shared decimals (amountSD, uint64 — OFT V2 uses shared decimals, not local decimals)
dst_chainYesDestination chain name (e.g. 'arbitrum', 'base', 'solana')
gas_limitNoGas limit for lzReceive on destination (default: 200000)
recipientYesRecipient address (hex, 20 bytes for EVM — will be left-padded to bytes32)
src_chainYesSource chain name (e.g. 'ethereum', 'arbitrum', 'base')
min_amountNoMinimum amount to receive in shared decimals (minAmountSD, uint64 — default: 90% of amount)
oft_addressYesOFT contract address on the source chain (hex, 20 bytes)

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYesUnderlying response payload verbatim.
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It discloses that the output is hex-encoded calldata, mentions OFT V2's use of uint64 shared decimals, and notes recipient padding. It does not cover idempotency or side effects, but building calldata is inherently non-destructive.

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 long, front-loading the main purpose. Every sentence adds value: one for the tool's function and one for the workflow. No redundant information.

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

Completeness5/5

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

Given the complexity of the LayerZero OFT protocol, the description covers the critical workflow, distinguishes OFT V2 from V1, references sibling tools for fee quoting, and states the output format. It is complete enough for an agent to invoke 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 description coverage is 100%. The description adds context beyond the schema by explaining that 'amount' is in shared decimals (uint64) for OFT V2 and that 'recipient' is left-padded to bytes32. This enhances understanding of the 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?

The description clearly states the tool builds transaction calldata for an OFT send() call, specifying OFT V2 and the required parameters. It distinguishes itself from sibling tools like lz_oft_quote by noting the prerequisite step of getting a messaging fee.

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 explicitly lists prerequisites (first call lz_quote_fee or lz_oft_quote) and subsequent steps (sign and broadcast with msg.value = nativeFee). It does not explicitly state when not to use this tool, but the context implies it is for calldata construction, not quoting.

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

lz_quote_feeAInspect

Estimate cross-chain messaging fee via LayerZero EndpointV2.quote() eth_call. Returns the native fee and LZ token fee required to send a message from the source chain to the destination endpoint. Uses the on-chain EndpointV2 contract at 0x1a44076050125825900e736c501f859c50fE728c. Selector: 0xdb9d28c6.

ParametersJSON Schema
NameRequiredDescriptionDefault
dst_eidYesDestination chain LayerZero Endpoint ID (e.g. 30110 for Arbitrum)
src_chainYesSource chain name (e.g. 'ethereum', 'arbitrum', 'base')
sender_hexYesHex-encoded sender address (20 bytes, with or without 0x prefix)
message_hexYesHex-encoded message payload (with or without 0x prefix)
options_hexNoHex-encoded LayerZero V3 options bytes (default: lzReceive with 200000 gas if omitted)

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYesUnderlying response payload verbatim.
Behavior4/5

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

With no annotations, the description carries the behavioral burden. It correctly discloses that this is an eth_call (read-only, non-destructive), specifies the contract address and selector, and explains the returned fee types. It does not mention any potential rate limits or chain-specific behaviors, but the core behavioral traits are transparent.

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, directly stating the purpose, method, and key details (contract address, selector). No extraneous information; every sentence is necessary and efficiently communicates the tool's function.

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 presence of an output schema, description need not detail return values. It covers the on-chain interaction, method, and fee types. However, it lacks context on when to prefer this tool over other quote siblings. For a tool of this complexity, it is nearly complete.

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%, so the schema already explains all five parameters. The description does not add any additional parameter meaning beyond what the schema provides (e.g., no new constraints or examples). Baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly states the verb 'Estimate cross-chain messaging fee' via a specific method (LayerZero EndpointV2.quote()), and specifies the return values (native fee and LZ token fee). It distinguishes this fee estimation tool from sibling tools like lz_oft_quote and lz_stargate_quote by focusing on generic cross-chain messaging.

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

Usage Guidelines3/5

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

The description implies the tool is for fee estimation before sending a message, but does not provide explicit guidance on when to use this tool versus alternatives like lz_oft_quote for OFT tokens or lz_stargate_quote for Stargate. No exclusions or when-not-to-use guidance is given.

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

lz_send_messageAInspect

Build transaction calldata for EndpointV2.send() to dispatch a cross-chain message via LayerZero V2. Returns the hex-encoded calldata that should be submitted as a transaction to the EndpointV2 contract on the source chain. The caller must sign and broadcast the transaction with msg.value set to the nativeFee from lz_quote_fee. Selector: 0x5e280f11.

ParametersJSON Schema
NameRequiredDescriptionDefault
dst_eidYesDestination chain LayerZero Endpoint ID
receiverYesHex-encoded receiver address as bytes32 (left-padded to 32 bytes)
src_chainYesSource chain name (e.g. 'ethereum', 'arbitrum', 'base')
message_hexYesHex-encoded message payload
options_hexNoHex-encoded LayerZero V3 options bytes (default: lzReceive with 200000 gas if omitted)

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYesUnderlying response payload verbatim.
Behavior4/5

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

With no annotations, the description carries the full burden. It discloses that the tool only builds calldata, does not send the transaction, and that the caller must handle signing and broadcasting. It also mentions the selector. Could be slightly improved by noting if any state reads occur, but overall good.

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?

Description is two concise sentences plus a critical instruction. Every sentence adds necessary information with no redundancy. Front-loaded with the main action.

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 5 parameters (4 required) and the output schema existence, the description provides sufficient context about what the tool returns and how to use it. Sibling tools are adequately differentiated.

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

Parameters5/5

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

Schema coverage is 100% and the description adds significant value beyond the schema by linking the nativeFee to lz_quote_fee and specifying the default for options_hex. This helps the agent understand parameter context.

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 clearly states it builds calldata for EndpointV2.send() to dispatch a cross-chain message via LayerZero V2. It distinguishes from sibling tools like lz_oft_send and lz_stargate_send by specifying the endpoint and returning calldata. The selector is also provided, leaving no ambiguity.

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?

Explicitly instructs the caller to sign and broadcast the transaction with msg.value set to the nativeFee from lz_quote_fee. While it doesn't specify when not to use it or alternatives, the context of LayerZero messaging and sibling names make the usage clear.

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

lz_stargate_quoteAInspect

Quote a Stargate V2 native bridge transfer fee. Calls quoteSend() on the StargatePoolNative contract (ETH, USDC, or USDT) to get the exact LayerZero messaging fee for bridging between supported EVM chains. Returns the fee in wei and the minimum amount received after slippage. Supported tokens: ETH (Ethereum/Optimism/Arbitrum/Base), USDC (6 chains), USDT (6 chains).

ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYesToken symbol: 'ETH', 'USDC', or 'USDT'
amountYesAmount to bridge in base units (wei for ETH, micro-units for USDC/USDT)
dst_chainYesDestination chain name (e.g. 'base', 'ethereum', 'arbitrum')
src_chainYesSource chain name (e.g. 'optimism', 'ethereum', 'base', 'arbitrum')
wallet_addressYesSender/recipient wallet address (hex, 20 bytes)

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYesUnderlying response payload verbatim.
Behavior4/5

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

With no annotations, the description carries full burden. It discloses the internal call to quoteSend(), the return values (fee in wei, min amount), and the supported tokens/chains. However, it does not explicitly state that the tool is read-only or describe potential failure modes.

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 (under 80 words) and front-loaded with the main purpose. Each sentence adds new information: purpose, internal function, return values, supported tokens. No redundant or vague statements.

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

Completeness4/5

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

For a quote tool with 5 parameters and an output schema, the description provides necessary context: the contract, function, return values, and supported tokens/chains. It could mention that the tool is read-only or any prerequisites (e.g., wallet address format).

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

Parameters4/5

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

Schema coverage is 100% with good descriptions. The description adds value by listing the specific supported chains and tokens, and explaining the return values, which go beyond the schema's parameter names and types.

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 it quotes a fee for the Stargate V2 native bridge, naming the contract function and supported tokens. It differentiates from siblings by specifying 'Stargate V2 native bridge', but does not explicitly contrast with other quote tools like lz_oft_quote or lz_transfer_quote.

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 explains when to use the tool (to get a fee for bridging between supported EVM chains) but provides no guidance on when not to use it or alternatives. Given the many sibling quote tools, explicit exclusions or comparisons would help.

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

lz_stargate_sendAInspect

Build transaction calldata for a Stargate V2 sendToken() bridge transfer. Returns hex-encoded calldata, the target contract address, and the msg.value to include. The caller must sign and broadcast the transaction. For native ETH, msg.value = nativeFee + bridgeAmount. For ERC-20 tokens (USDC/USDT), approve the pool contract first, then msg.value = nativeFee only. Supported: ETH (4 chains), USDC (6 chains), USDT (6 chains).

ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYesToken symbol: 'ETH', 'USDC', or 'USDT'
amountYesAmount to bridge in base units (wei for ETH, micro-units for USDC/USDT)
dst_chainYesDestination chain name (e.g. 'base', 'ethereum', 'arbitrum')
src_chainYesSource chain name (e.g. 'optimism', 'ethereum', 'base', 'arbitrum')
slippage_bpsNoSlippage tolerance in basis points (default: 50 = 0.5%)
wallet_addressYesSender/recipient wallet address (hex, 20 bytes)

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYesUnderlying response payload verbatim.
Behavior4/5

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

No annotations; description discloses that tool builds calldata only, not send. Covers return values, preconditions (approval for ERC-20), msg.value differences, and supported tokens/chains. Does not detail error handling or unsupported chains, but sufficient.

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?

Single paragraph, front-loaded with purpose, then details. Every sentence is informative, no fluff. Efficient and well-structured.

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

Completeness5/5

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

Given the tool's complexity and presence of output schema (so return values not needed in description), it sufficiently covers purpose, preconditions, supported tokens/chains, and behavioral nuances. Complete for an AI agent.

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. Description adds value beyond schema: explains amount in base units, token symbols, slippage default (50 bps), and context on msg.value and approval. Justifies a 4.

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 it builds transaction calldata for Stargate V2 sendToken() bridge transfer, specifies the return values (hex-encoded calldata, target contract, msg.value), and distinguishes from sibling tools like lz_stargate_quote and lz_oft_send.

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 instructions: caller must sign/broadcast, details for native ETH vs ERC-20 (approve pool, msg.value calculation), and supported tokens/chains. Lacks explicit when-not-to-use, but context is adequate.

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

lz_track_messageAInspect

Track a cross-chain LayerZero message by the source transaction hash. Queries the LayerZero Scan API for message status: INFLIGHT, CONFIRMING, DELIVERED, FAILED, or BLOCKED. Returns the full message details including source/destination chains, GUID, and current status.

ParametersJSON Schema
NameRequiredDescriptionDefault
tx_hashYesTransaction hash to track LayerZero message for (with or without 0x prefix)

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYesUnderlying response payload verbatim.
Behavior4/5

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

Discloses that it queries the LayerZero Scan API, lists possible statuses (INFLIGHT, CONFIRMING, etc.), and specifies return details (source/destination chains, GUID). With no annotations provided, the description carries the full burden and does so effectively, though it doesn't mention idempotence or rate 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?

Three sentences, front-loaded with purpose, no redundant information. Every sentence earns its place, providing purpose, method, and return details efficiently.

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 a single parameter and an output schema, the description provides complete context: what the tool does, what it queries, possible statuses, and included return fields. No gaps in information for an agent to understand usage.

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 schema already describes the parameter tx_hash with format details. The description adds context that it is the source transaction hash, but this is minimal additional value beyond the schema. Baseline 3 is appropriate given 100% schema coverage.

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?

Clearly states it tracks a cross-chain LayerZero message using the source transaction hash. The verb 'track' and resource 'message' are specific, and the description distinguishes it from siblings like lz_get_message by specifying the input method.

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?

Implies usage when you have a source transaction hash and need message status, but does not explicitly state when not to use this tool or compare to alternatives like lz_get_message or lz_get_messages_by_address. The context is clear but lacks exclusion guidance.

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

lz_transfer_buildAInspect

Build signable transaction steps from a Value Transfer API quote. Takes a quoteId from lz_transfer_quote and returns pre-built transaction calldata (to, data, value) that the caller can sign and broadcast. Handles approval and bridge steps automatically.

ParametersJSON Schema
NameRequiredDescriptionDefault
quote_idYesQuote ID returned from lz_transfer_quote

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYesUnderlying response payload verbatim.
Behavior4/5

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

With no annotations provided, the description carries the full burden. It discloses that the tool generates transaction steps including calldata fields and automatically handles approval and bridge steps. However, it lacks details on error handling, prerequisites, or authorization needs.

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 sentences long, front-loaded with the core purpose, and every sentence adds value. No redundant or extraneous information.

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 presence of an output schema, the description is fairly complete. It explains the input, output, and automatic handling of steps. It could mention that the quote must be valid or that the transaction steps are unsigned, but it is adequate.

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 description adds minimal context beyond the input schema, which already states 'Quote ID returned from lz_transfer_quote'. The description repeats this, providing no additional semantic meaning.

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: building signable transaction steps from a Value Transfer API quote. It specifies the input (quoteId) and output (calldata with to, data, value), and distinguishes it from siblings by noting it handles approval and bridge steps automatically.

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 indicates the tool should be used after getting a quote from lz_transfer_quote, and that the result can be signed and broadcast. It provides clear context for usage but does not explicitly state when not to use it or list alternatives.

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

lz_transfer_chainsAInspect

List all chains supported by the LayerZero Value Transfer API. Returns 130+ chains including Solana, all EVM L1s and L2s, and their chain keys for use in lz_transfer_quote.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYesUnderlying response payload verbatim.
Behavior4/5

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

With no annotations provided, the description bears the full burden. It discloses that the tool returns 130+ chains, includes examples, and returns chain keys. This provides adequate transparency for a simple read-only listing tool, though it lacks details on potential rate limits or authentication requirements.

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, consisting of two sentences that are front-loaded with the core purpose and followed by useful details. Every sentence serves a purpose without redundancy.

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

Completeness5/5

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

For a simple listing tool with no parameters and an output schema available, the description covers all necessary aspects: what is returned, approximate count, examples, and how the result is used (chain keys for lz_transfer_quote). No important context is missing.

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?

There are zero parameters, so baseline score of 4 applies. The description adds no parameter information, but none is needed since the schema already covers the absence of 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?

The description clearly states it lists all chains supported by the LayerZero Value Transfer API, mentions specific examples (Solana, EVM L1s, L2s), and explicitly states the resource and output (chain keys). This effectively distinguishes it from sibling tools like lz_list_chains.

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 implicitly indicates usage by mentioning chain keys are for use in lz_transfer_quote, but does not explicitly state when to use this tool versus alternatives (e.g., lz_list_chains) or when not to use it. No exclusions or prerequisites are mentioned.

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

lz_transfer_quoteAInspect

Get a cross-chain transfer quote from the LayerZero Value Transfer API. This is the newest LayerZero API (replaces deprecated Stargate REST API) supporting 130+ chains including Solana. Returns quotes with fees, estimated times, and a quote ID for building transaction steps. Use 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE as the token address for native ETH.

ParametersJSON Schema
NameRequiredDescriptionDefault
amountYesAmount to transfer in base units (wei for ETH, smallest unit for tokens)
dst_chainYesDestination chain key (e.g. 'base', 'solana', 'ethereum')
dst_tokenYesDestination token address (use 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE for native ETH)
src_chainYesSource chain key (e.g. 'optimism', 'ethereum', 'base', 'solana')
src_tokenYesSource token address (use 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE for native ETH, or contract address for ERC-20)
dst_addressYesRecipient wallet address on the destination chain
src_addressYesSender wallet address on the source chain

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYesUnderlying response payload verbatim.
Behavior2/5

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

No annotations are provided, so the description must carry the full burden. It does not indicate whether the tool is read-only (likely safe) or any side effects, authorization requirements, or rate limits. While it mentions returned data, it lacks disclosure on behavioral traits like idempotency or state changes.

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?

Three sentences with no wasted words. The first sentence states the core purpose, the second provides context (new API, chain support), and the third gives a critical parameter hint. Each sentence earns its place.

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 7 required parameters, 100% schema coverage, and an output schema, the description is fairly complete. It explains the tool's role in the transfer flow (returns quote ID for building steps) and mentions native ETH handling. It could add more on chaining with lz_transfer_build, but that is implied.

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% with descriptions for all 7 parameters. The description adds value by specifying the special token address for native ETH, but does not elaborate on other parameters beyond what the schema already provides. The baseline is 3 due to high schema coverage, and the extra token address info is modest.

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 gets a cross-chain transfer quote from the LayerZero Value Transfer API, specifies it's the newest replacement for the deprecated Stargate API, and lists what it returns (quotes with fees, times, quote ID). It distinguishes itself from the deprecated Stargate 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 Guidelines4/5

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

The description explicitly says this API replaces the deprecated Stargate REST API, guiding agents to prefer it over lz_stargate_quote. However, it does not differentiate from other quote tools like lz_oft_quote, nor does it specify when not to use it (e.g., for OFT-specific quotes).

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

lz_transfer_statusAInspect

Check the status of a Value Transfer API transfer by its quote ID. Returns current transfer status, source/destination transaction hashes, and delivery progress.

ParametersJSON Schema
NameRequiredDescriptionDefault
quote_idYesQuote ID or transfer ID to check status for

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYesUnderlying response payload verbatim.
Behavior4/5

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

Describes it as a status check operation returning key data. With no annotations, it covers most behavioral aspects but doesn't mention idempotency, authentication requirements, or error behavior.

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?

Two concise sentences: first states purpose, second lists outputs. No unnecessary words. Front-loaded with core meaning.

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 output schema exists, description is complete: states return fields (status, hashes, progress). Single parameter is well-described in schema. No gaps for a simple status check tool.

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

Parameters4/5

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

Schema coverage is 100% with description for quote_id. The tool description adds value by explaining what the tool returns based on the quote_id, beyond the schema's simple parameter description.

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?

Clearly states the tool checks status of a Value Transfer API transfer by quote ID, specifying the return data (status, hashes, progress). Distinguishes from sibling tools like lz_transfer_build or lz_transfer_quote.

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?

Implies usage after initiating a transfer, but lacks explicit guidance on when to use this vs alternatives like lz_track_message. No 'when not to use' or exclusions.

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

lz_transfer_tokensAInspect

List tokens available for cross-chain transfer via the LayerZero Value Transfer API. Optionally filter by chain. Returns token addresses, symbols, decimals, and which chains they're available on.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoFilter tokens by chain key (optional, e.g. 'optimism', 'solana')

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYesUnderlying response payload verbatim.
Behavior4/5

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

With no annotations, the description conveys this is a read-only listing operation. It explains the filter option and return fields. While it doesn't detail authentication or rate limits, it adequately discloses behavior for a straightforward list tool.

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?

Two sentences: first states the primary action, second describes filtering and return data. No extraneous words, information is front-loaded and to the point.

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 one parameter with full schema coverage and an output schema, the description is complete. It mentions what is returned, though it could clarify the default behavior when no chain is specified (returns all tokens). Still, it's sufficient for a simple list 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 coverage is 100%, so the schema already describes the 'chain' parameter. The description adds 'Optionally filter by chain' which reinforces optionality but does not substantially enhance understanding beyond the schema.

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 lists tokens available for cross-chain transfer via LayerZero, with an optional chain filter, and specifies the return data (addresses, symbols, decimals, chains). This distinguishes it from sibling tools like lz_list_chains or lz_transfer_quote.

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 implies usage context: retrieving tokens before performing a transfer, with optional chain filtering. It does not explicitly state when to avoid this tool or provide alternatives, but the purpose is clear enough given the distinct sibling tools.

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.

Resources