Skip to main content
Glama
RWAValueRouter

ValueRouter MCP Server

get_supported_chains

Retrieve all blockchain networks available for USDC bridging operations, with options to filter testnet chains.

Instructions

Get all supported chains for USDC bridging

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
includeTestnetsNoWhether to include testnet chains

Implementation Reference

  • The core handler function for the 'get_supported_chains' tool. It filters chains from the CHAIN_INFO constant based on the includeTestnets parameter and returns a list of supported chains with their details.
    private async getSupportedChains(args: any): Promise<MCPToolResult> { const { includeTestnets = false } = args; const chains = Object.values(CHAIN_INFO) .filter(chain => includeTestnets || !chain.isTestnet) .map(chain => ({ chainId: chain.chainId, name: chain.name, symbol: chain.symbol, decimals: chain.decimals, logoUrl: chain.logoUrl, explorerUrl: chain.explorerUrl, isTestnet: chain.isTestnet, networkType: chain.networkType, usdcAddress: chain.usdcAddress, })); return createSuccessResponse({ chains, count: chains.length, }); }
  • src/index.ts:63-77 (registration)
    Tool registration in the ListToolsRequestSchema handler, defining the name, description, and input schema for 'get_supported_chains'.
    { name: 'get_supported_chains', description: 'Get all supported chains for USDC bridging', inputSchema: { type: 'object', properties: { includeTestnets: { type: 'boolean', description: 'Whether to include testnet chains', default: false, }, }, additionalProperties: false, }, },
  • Input schema definition for the 'get_supported_chains' tool, specifying optional includeTestnets boolean parameter.
    inputSchema: { type: 'object', properties: { includeTestnets: { type: 'boolean', description: 'Whether to include testnet chains', default: false, }, }, additionalProperties: false, },
  • CHAIN_INFO constant providing detailed information for all supported chains, used directly in the handler to generate the response.
    export const CHAIN_INFO: Record<SupportedChainId, ChainInfo> = { [SupportedChainId.MAINNET]: { chainId: SupportedChainId.MAINNET, name: 'Ethereum', symbol: 'ETH', decimals: 18, explorerUrl: 'https://etherscan.io', isTestnet: false, networkType: 'mainnet', usdcAddress: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', bridgeContractAddress: '0x12345...', // Replace with actual contract address }, [SupportedChainId.ARBITRUM_ONE]: { chainId: SupportedChainId.ARBITRUM_ONE, name: 'Arbitrum One', symbol: 'ETH', decimals: 18, explorerUrl: 'https://arbiscan.io', isTestnet: false, networkType: 'L2', usdcAddress: '0xaf88d065e77c8cC2239327C5EDb3A432268e5831', bridgeContractAddress: '0x12345...', // Replace with actual contract address }, [SupportedChainId.OPTIMISM]: { chainId: SupportedChainId.OPTIMISM, name: 'Optimism', symbol: 'ETH', decimals: 18, explorerUrl: 'https://optimistic.etherscan.io', isTestnet: false, networkType: 'L2', usdcAddress: '0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85', bridgeContractAddress: '0x12345...', // Replace with actual contract address }, [SupportedChainId.POLYGON]: { chainId: SupportedChainId.POLYGON, name: 'Polygon', symbol: 'MATIC', decimals: 18, explorerUrl: 'https://polygonscan.com', isTestnet: false, networkType: 'L2', usdcAddress: '0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359', bridgeContractAddress: '0x12345...', // Replace with actual contract address }, [SupportedChainId.AVALANCHE_C_CHAIN]: { chainId: SupportedChainId.AVALANCHE_C_CHAIN, name: 'Avalanche', symbol: 'AVAX', decimals: 18, explorerUrl: 'https://snowtrace.io', isTestnet: false, networkType: 'mainnet', usdcAddress: '0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E', bridgeContractAddress: '0x12345...', // Replace with actual contract address }, [SupportedChainId.BASE]: { chainId: SupportedChainId.BASE, name: 'Base', symbol: 'ETH', decimals: 18, explorerUrl: 'https://basescan.org', isTestnet: false, networkType: 'L2', usdcAddress: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913', bridgeContractAddress: '0x12345...', // Replace with actual contract address }, [SupportedChainId.SOLANA]: { chainId: SupportedChainId.SOLANA, name: 'Solana', symbol: 'SOL', decimals: 9, explorerUrl: 'https://solscan.io', isTestnet: false, networkType: 'mainnet', usdcAddress: 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v', bridgeContractAddress: 'DmtW5rT97FiY1gna3e8cDjn7jzJNFVkZJsCEiaLsMj8q', }, [SupportedChainId.SUI]: { chainId: SupportedChainId.SUI, name: 'Sui', symbol: 'SUI', decimals: 9, explorerUrl: 'https://suiscan.xyz', isTestnet: false, networkType: 'mainnet', usdcAddress: '0x5d4b302506645c37ff133b98c4b50a5ae14841659738d6d733d59d0d217a93bf::coin::COIN', bridgeContractAddress: '0x12345...', // Replace with actual contract address }, [SupportedChainId.NOBLE]: { chainId: SupportedChainId.NOBLE, name: 'Noble', symbol: 'USDC', decimals: 6, explorerUrl: 'https://www.mintscan.io/noble', isTestnet: false, networkType: 'cosmos', usdcAddress: 'uusdc', }, [SupportedChainId.OSMOSIS]: { chainId: SupportedChainId.OSMOSIS, name: 'Osmosis', symbol: 'OSMO', decimals: 6, explorerUrl: 'https://www.mintscan.io/osmosis', isTestnet: false, networkType: 'cosmos', usdcAddress: 'ibc/498A0751C798A0D9A389AA3691123DADA57DAA4FE165D5C75894505B876BA6E4', }, // Add other chains... [SupportedChainId.EVMOS]: { chainId: SupportedChainId.EVMOS, name: 'Evmos', symbol: 'EVMOS', decimals: 18, explorerUrl: 'https://www.mintscan.io/evmos', isTestnet: false, networkType: 'cosmos', }, [SupportedChainId.SEI]: { chainId: SupportedChainId.SEI, name: 'Sei', symbol: 'SEI', decimals: 6, explorerUrl: 'https://www.mintscan.io/sei', isTestnet: false, networkType: 'cosmos', }, [SupportedChainId.COREUM]: { chainId: SupportedChainId.COREUM, name: 'Coreum', symbol: 'COREUM', decimals: 6, explorerUrl: 'https://www.mintscan.io/coreum', isTestnet: false, networkType: 'cosmos', }, [SupportedChainId.DYDX]: { chainId: SupportedChainId.DYDX, name: 'dYdX', symbol: 'DYDX', decimals: 18, explorerUrl: 'https://www.mintscan.io/dydx', isTestnet: false, networkType: 'cosmos', }, // Testnets [SupportedChainId.GOERLI]: { chainId: SupportedChainId.GOERLI, name: 'Goerli', symbol: 'ETH', decimals: 18, explorerUrl: 'https://goerli.etherscan.io', isTestnet: true, networkType: 'testnet', usdcAddress: '0x07865c6e87b9f70255377e024ace6630c1eaa37f', }, [SupportedChainId.SEPOLIA]: { chainId: SupportedChainId.SEPOLIA, name: 'Sepolia', symbol: 'ETH', decimals: 18, explorerUrl: 'https://sepolia.etherscan.io', isTestnet: true, networkType: 'testnet', usdcAddress: '0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238', }, [SupportedChainId.SOLANA_DEVNET]: { chainId: SupportedChainId.SOLANA_DEVNET, name: 'Solana Devnet', symbol: 'SOL', decimals: 9, explorerUrl: 'https://solscan.io', isTestnet: true, networkType: 'testnet', usdcAddress: 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v', }, [SupportedChainId.SUI_TESTNET]: { chainId: SupportedChainId.SUI_TESTNET, name: 'Sui Testnet', symbol: 'SUI', decimals: 9, explorerUrl: 'https://suiscan.xyz/testnet', isTestnet: true, networkType: 'testnet', usdcAddress: '0x12345...', // Replace with actual testnet address }, [SupportedChainId.NOBLE_TEST]: { chainId: SupportedChainId.NOBLE_TEST, name: 'Noble Testnet', symbol: 'USDC', decimals: 6, explorerUrl: 'https://www.mintscan.io/noble-testnet', isTestnet: true, networkType: 'testnet', usdcAddress: 'uusdc', }, [SupportedChainId.AVALANCHE_FUJI]: { chainId: SupportedChainId.AVALANCHE_FUJI, name: 'Avalanche Fuji', symbol: 'AVAX', decimals: 18, explorerUrl: 'https://testnet.snowtrace.io', isTestnet: true, networkType: 'testnet', usdcAddress: '0x5425890298aed601595a70ab815c96711a31bc65', }, [SupportedChainId.ARBITRUM_GOERLI]: { chainId: SupportedChainId.ARBITRUM_GOERLI, name: 'Arbitrum Goerli', symbol: 'ETH', decimals: 18, explorerUrl: 'https://goerli.arbiscan.io', isTestnet: true, networkType: 'testnet', usdcAddress: '0xfd064A18f3BF249cf1f87FC203E90D8f650f2d63', }, [SupportedChainId.OPTIMISM_GOERLI]: { chainId: SupportedChainId.OPTIMISM_GOERLI, name: 'Optimism Goerli', symbol: 'ETH', decimals: 18, explorerUrl: 'https://goerli-optimism.etherscan.io', isTestnet: true, networkType: 'testnet', usdcAddress: '0x12345...', // Replace with actual address }, [SupportedChainId.POLYGON_MUMBAI]: { chainId: SupportedChainId.POLYGON_MUMBAI, name: 'Polygon Mumbai', symbol: 'MATIC', decimals: 18, explorerUrl: 'https://mumbai.polygonscan.com', isTestnet: true, networkType: 'testnet', usdcAddress: '0x12345...', // Replace with actual address }, };

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/RWAValueRouter/MCP'

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