get-ens-name
Retrieve the primary ENS name for a blockchain address to identify wallet owners and simplify interactions with Ethereum-based systems.
Instructions
Get the primary ENS name for address
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | ||
| chainId | No | ||
| blockNumber | No |
Implementation Reference
- Implements the core logic of the 'get-ens-name' tool by using wagmi's getEnsName function to retrieve the primary ENS name for the given address, with optional chainId and blockNumber parameters.execute: async (args) => { const address = args.address as Address const chainId = args.chainId as typeof wagmiConfig['chains'][number]['id'] const blockNumber = args.blockNumber ? BigInt(args.blockNumber) : undefined const result = await getEnsName(wagmiConfig, { address, blockNumber, chainId, }) return { content: [ { type: "text", text: result ?? "undefined", }, ], } },
- Defines the input schema using Zod for the tool: required address (string), optional chainId and blockNumber (coerced to number).parameters: z.object({ address: z.string(), chainId: z.coerce.number().optional(), blockNumber: z.coerce.number().optional(), }),
- packages/metamask-mcp/src/tools/get-ens-name.ts:7-35 (registration)Registers the 'get-ens-name' tool on the FastMCP server, specifying name, description, schema, and handler.export function registerGetENSNameTools(server: FastMCP): void { server.addTool({ name: "get-ens-name", description: "Get the primary ENS name for address", parameters: z.object({ address: z.string(), chainId: z.coerce.number().optional(), blockNumber: z.coerce.number().optional(), }), execute: async (args) => { const address = args.address as Address const chainId = args.chainId as typeof wagmiConfig['chains'][number]['id'] const blockNumber = args.blockNumber ? BigInt(args.blockNumber) : undefined const result = await getEnsName(wagmiConfig, { address, blockNumber, chainId, }) return { content: [ { type: "text", text: result ?? "undefined", }, ], } }, }); };
- packages/metamask-mcp/src/index.ts:50-50 (registration)Invokes the registration function to add the 'get-ens-name' tool to the main MetaMask MCP server instance.registerGetENSNameTools(server);
- packages/metamask-mcp/src/tools/index.ts:12-12 (registration)Exports the get-ens-name tool module for use in the main tools index.export * from "./get-ens-name.js";