Skip to main content
Glama

switch-chain

Change blockchain networks in MetaMask for MCPilot server, enabling AI to interact with different chains while maintaining wallet security.

Instructions

Switch the target chain

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
chainIdYes
addEthereumChainParameterNo

Implementation Reference

  • The main handler function that executes the chain switch using the wagmi switchChain function. It takes chainId and optional addEthereumChainParameter, calls switchChain, and returns the result as a text content block.
    execute: async (args) => { const chainId = args.chainId as typeof wagmiConfig['chains'][number]['id'] const addEthereumChainParameter = args.addEthereumChainParameter const result = await switchChain(wagmiConfig, { chainId, addEthereumChainParameter, }) return { content: [ { type: "text", text: JSONStringify(result), }, ], } },
  • Zod schema defining the input parameters for the switch-chain tool: required chainId (number) and optional addEthereumChainParameter object for adding a new chain.
    parameters: z.object({ chainId: z.coerce.number(), addEthereumChainParameter: z.object({ chainName: z.string(), nativeCurrency: z.object({ name: z.string(), symbol: z.string(), decimals: z.coerce.number(), }).optional(), rpcUrls: z.string().array(), blockExplorerUrls: z.string().array().optional(), iconUrls: z.string().array().optional(), }).optional() }),
  • The registration function that adds the switch-chain tool to the FastMCP server, including name, description, schema, and handler.
    export function registerSwitchChainTools(server: FastMCP): void { server.addTool({ name: "switch-chain", description: "Switch the target chain", parameters: z.object({ chainId: z.coerce.number(), addEthereumChainParameter: z.object({ chainName: z.string(), nativeCurrency: z.object({ name: z.string(), symbol: z.string(), decimals: z.coerce.number(), }).optional(), rpcUrls: z.string().array(), blockExplorerUrls: z.string().array().optional(), iconUrls: z.string().array().optional(), }).optional() }), execute: async (args) => { const chainId = args.chainId as typeof wagmiConfig['chains'][number]['id'] const addEthereumChainParameter = args.addEthereumChainParameter const result = await switchChain(wagmiConfig, { chainId, addEthereumChainParameter, }) return { content: [ { type: "text", text: JSONStringify(result), }, ], } }, }); };
  • Top-level call to register the switch-chain tools during server initialization.
    registerSwitchChainTools(server);

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/Xiawpohr/mcpilot'

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