Skip to main content
Glama
warengonzaga

Relay Protocol MCP Server

by warengonzaga

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
PORTNoThe port the SSE server should listen on (defaults to 3000).

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
relay_get_chains

Get all supported chains for cross-chain operations. Returns detailed information about each chain including RPC URLs, explorers, currencies, and supported tokens.

Common Chain IDs: • Ethereum: 1 • Optimism: 10 • Polygon: 137 • Arbitrum: 42161 • Base: 8453 • BNB Chain: 56

Optional: Use includeChains parameter to filter specific chains (comma-separated chain IDs).

relay_get_token_price

Get the current price of a token on a specific chain. Requires the token contract address, not symbol. Use relay_get_currencies to find token addresses.

Examples: • USDC on Ethereum: chainId=1, address="0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48" • WETH on Optimism: chainId=10, address="0x4200000000000000000000000000000000000006" • USDC on Base: chainId=8453, address="0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"

relay_get_quote

Get an executable quote for bridging tokens between chains or swapping within a chain. Always use TOKEN CONTRACT ADDRESSES, not symbols. Use relay_get_currencies to find token addresses.

Common Examples: • Bridge USDC Ethereum→Optimism: user="0x123...", originChainId=1, destinationChainId=10, originCurrency="0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", destinationCurrency="0x0b2c639c533813f4aa9d7837caf62653d097ff85", amount="1000000", tradeType="EXACT_INPUT" • Bridge USDC Ethereum→Base: originChainId=1, destinationChainId=8453, destinationCurrency="0x833589fcd6edb6e08f4c7c32d4f71b54bda02913" • Same-chain swap on Ethereum: originChainId=1, destinationChainId=1, different token addresses

Token Format: Always use contract addresses (checksummed preferred) Amount Format: Smallest unit - "1000000"=1 USDC, "1000000000000000000"=1 ETH

relay_get_execution_status

Get the current execution status of a cross-chain request. Returns status, transaction hash, and other execution details.

When to use: After executing a quote/swap, use the requestId from the response to monitor progress. Request ID format: Hex string starting with "0x" (e.g., "0x1234abcd...") Status values: "pending", "success", "failed", "insufficient-balance"

Example workflow: relay_get_quote → get requestId → relay_get_execution_status

relay_get_requests

Get all cross-chain transactions with advanced filtering and pagination.

Use Cases: • List all transactions for a specific user • Find transactions by hash, chain IDs, or time range • Monitor transaction history with pagination • Filter by request status and referrer

Pagination: Use limit (max 50) and continuation token for large result sets. Sorting: Sort by createdAt or updatedAt in asc/desc order.

relay_transactions_index

Notify the Relay backend about a transaction. This is used to index and track transactions for cross-chain operations.

When to use: • After executing a transaction from a quote response • When you want Relay to track a specific transaction • For proper status monitoring and request linking

Example: After sending the deposit transaction from relay_get_quote response, call this tool with the transaction hash and chain ID to enable proper tracking.

Required: txHash (0x...), chainId (number) Optional: requestId (from quote response for linking)

relay_transactions_single

Notify the Relay backend to index transfers, wraps and unwraps for a specific transaction.

When to use: • Index specific transfers within a transaction • Track wrap/unwrap operations • Associate transaction data with a request ID

Difference from relay_transactions_index: • This is for indexing specific transfers/wraps/unwraps • relay_transactions_index is for general transaction tracking

Required: requestId, chainId (string), tx (transaction hash)

relay_get_currencies

Get currencies metadata from a curated list. Supports filtering by chain IDs, search terms, addresses, and other criteria.

Common Examples: • Find USDC on specific chains: {"chainIds": [1, 10, 8453], "term": "usdc", "verified": true, "limit": 10} • All major tokens on Ethereum: {"chainIds": [1], "defaultList": true, "limit": 20} • Search by contract address: {"address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", "includeAllChains": true} • Verified tokens only: {"verified": true, "limit": 50} • Deposit-address supported tokens: {"depositAddressOnly": true}

Tip: Use verified=true to avoid scam/fake tokens. Use term to search by symbol/name.

relay_swap_multi_input

Execute multi-chain token swaps. IMPORTANT: For EXACT_INPUT, do NOT include "amount" at root level - only in origins array. For EXACT_OUTPUT, include "amount" at root level. Always use TOKEN CONTRACT ADDRESSES. Examples:

EXACT_INPUT (Bridge 1 USDC from Ethereum to Optimism): {"user": "0x123...", "origins": [{"chainId": 1, "currency": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", "amount": "1000000"}], "destinationChainId": 10, "destinationCurrency": "0x0b2c639c533813f4aa9d7837caf62653d097ff85", "tradeType": "EXACT_INPUT"}

EXACT_OUTPUT (Get exactly 100 USDC on Base): {"user": "0x123...", "amount": "100000000", "origins": [{"chainId": 1, "currency": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", "amount": "50000000"}], "destinationChainId": 8453, "destinationCurrency": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913", "tradeType": "EXACT_OUTPUT"}

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/warengonzaga/relay-protocol-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server