Name Whisper — ENS Intelligence Layer
Qué hace este MCP
Provides tools to search, value, register, trade, and manage Ethereum Name Service domains.
Herramientas
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['orderHash', 'walletAddress'], 'properties': {'orderHash': {'type': 'string', 'pattern': '^0x[a-f0-9]{64}$', 'description': "Seaport order hash of the buyer's offer to accept"}, 'walletAddress': {'type': 'string', 'pattern': '^0x[a-fA-F0-9]{40}$', 'description': 'Your wallet address (the seller). Must own the ENS name in the offer.'}}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['owner', 'operator', 'contract'], 'properties': {'owner': {'type': 'string', 'pattern': '^0x[a-fA-F0-9]{40}$', 'description': 'Address granting/revoking operator approval'}, 'approved': {'type': 'boolean', 'default': True, 'description': 'true to approve, false to revoke (default: true)'}, 'contract': {'enum': ['base_registrar', 'name_wrapper', 'ens_registry'], 'type': 'string', 'description': 'Which contract to set approval on: base_registrar (ERC-721), name_wrapper (ERC-1155), or ens_registry'}, 'operator': {'type': 'string', 'pattern': '^0x[a-fA-F0-9]{40}$', 'description': 'Address being approved/revoked as operator'}}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['listings', 'walletAddress'], 'properties': {'listings': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'priceEth'], 'properties': {'name': {'type': 'string'}, 'priceEth': {'type': 'number'}}}, 'maxItems': 500, 'minItems': 1, 'description': 'Array of { name, priceEth }. Per-item validation (empty name, non-positive price) is collected in the errors array rather than rejecting the whole batch.'}, 'walletAddress': {'type': 'string', 'pattern': '^0x[a-fA-F0-9]{40}$', 'description': 'Wallet address of the seller. Must own all the names.'}, 'durationSeconds': {'type': 'integer', 'default': 2592000, 'maximum': 9007199254740991, 'description': 'Listing duration in seconds (applied to every name, default: 30 days)', 'exclusiveMinimum': 0}}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['names', 'walletAddress'], 'properties': {'names': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 20, 'minItems': 1, 'description': 'Array of ENS names to buy (e.g. ["coffee.eth", "tea.eth"]). Max 20 per batch.'}, 'walletAddress': {'type': 'string', 'pattern': '^0x[a-fA-F0-9]{40}$', 'description': 'Buyer wallet address â\x80\x94 receives all purchased names.'}}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['names', 'walletAddress'], 'properties': {'names': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 20, 'minItems': 1, 'description': 'Array of ENS names to register (e.g. ["coffee.eth", "tea.eth"]). Max 20 per batch.'}, 'duration': {'type': 'integer', 'default': 365, 'maximum': 3650, 'minimum': 28, 'description': 'Registration duration in days, applied to every name in the batch. ENS protocol minimum is 28 days; maximum is 3650 (10 years); default is 365 (1 year).'}, 'durationYears': {'type': 'number', 'description': 'DEPRECATED â\x80\x94 use duration (days) instead. Number of years (converted to days internally).'}, 'walletAddress': {'type': 'string', 'description': 'Wallet address that will own all registered names'}}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['nameRecords', 'walletAddress'], 'properties': {'nameRecords': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'records'], 'properties': {'name': {'type': 'string', 'description': 'ENS name (e.g. "myagent.eth")'}, 'records': {'type': 'object', 'properties': {'texts': {'type': 'object', 'description': 'Text records (e.g. {"avatar": "https://...", "description": "My name"})', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'type': 'string'}}, 'addresses': {'type': 'object', 'description': 'Address records by coin type (e.g. {"ETH": "0x...", "BTC": "bc1..."})', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'type': 'string'}}, 'contentHash': {'type': 'string', 'description': 'Content hash for decentralized website (IPFS CID or IPNS key)'}, 'agentRegistration': {'type': 'object', 'required': ['registryAddress', 'agentId'], 'properties': {'agentId': {'type': 'string', 'description': 'Agent ID in the registry'}, 'chainId': {'type': 'number', 'default': 1, 'description': 'Chain ID (default: 1)'}, 'registryAddress': {'type': 'string', 'description': 'ERC-8004 IdentityRegistry contract address'}}, 'description': 'ENSIP-25 shorthand: link this name to an on-chain agent identity'}}, 'description': 'Records to set on this name'}}}, 'maxItems': 50, 'minItems': 1, 'description': 'Array of name + records pairs. Max 50 names per batch.'}, 'walletAddress': {'type': 'string', 'description': 'Wallet address that owns these names (must sign the transaction)'}}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['transfers', 'fromAddress'], 'properties': {'transfers': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'toAddress'], 'properties': {'name': {'type': 'string', 'description': 'ENS name to transfer (e.g. "coffee.eth")'}, 'toAddress': {'type': 'string', 'description': 'Recipient â\x80\x94 a 0x wallet address OR an ENS name (e.g. "vitalik.eth"), resolved to its address record automatically'}}}, 'maxItems': 20, 'minItems': 1, 'description': 'Array of name + recipient pairs. Max 20 per batch. All names must be owned by fromAddress.'}, 'fromAddress': {'type': 'string', 'description': 'Current owner wallet address (must sign the transaction). All names must be owned by this address.'}}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['orderHash', 'walletAddress'], 'properties': {'orderHash': {'type': 'string', 'pattern': '^0x[a-f0-9]{64}$', 'description': 'Seaport order hash of the listing to cancel (from get_name_details or the orderbook)'}, 'alsoCancel': {'type': 'array', 'items': {'type': 'string', 'pattern': '^0x[a-f0-9]{64}$'}, 'description': 'Sibling order hashes to cancel atomically in the same tx (e.g. the OpenSea-variant counterpart of an NW listing). Seaport.cancel() accepts an array â\x80\x94 cancelling N orders costs barely more than cancelling one.'}, 'walletAddress': {'type': 'string', 'pattern': '^0x[a-fA-F0-9]{40}$', 'description': 'Wallet address of the seller. Must match the original offerer on the order.'}}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['orderHash', 'walletAddress'], 'properties': {'orderHash': {'type': 'string', 'pattern': '^0x[a-f0-9]{64}$', 'description': 'Seaport order hash of the offer to cancel (from get_name_details or the orderbook)'}, 'alsoCancel': {'type': 'array', 'items': {'type': 'string', 'pattern': '^0x[a-f0-9]{64}$'}, 'description': 'Sibling order hashes to cancel in the same tx (e.g. the OpenSea-variant of an NW offer). Cancelling N orders costs barely more than cancelling one.'}, 'walletAddress': {'type': 'string', 'pattern': '^0x[a-fA-F0-9]{40}$', 'description': 'Wallet address of the bidder. Must match the original offerer on the order.'}}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['names'], 'properties': {'names': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 100, 'description': 'Array of ENS names or labels to check (max 100). e.g. ["coffee", "tea.eth", "pixel"]'}}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['name', 'priceEth', 'walletAddress'], 'properties': {'name': {'type': 'string', 'minLength': 1, 'description': 'ENS name to list (e.g. "coffee.eth")'}, 'priceEth': {'type': 'number', 'description': 'Total listing price in ETH (buyer pays this; seller receives it minus the 1% marketplace fee)', 'exclusiveMinimum': 0}, 'walletAddress': {'type': 'string', 'pattern': '^0x[a-fA-F0-9]{40}$', 'description': 'Wallet address of the seller. Must own the name.'}, 'durationSeconds': {'type': 'integer', 'default': 2592000, 'maximum': 9007199254740991, 'description': 'Listing duration in seconds (default: 30 days / 2592000)', 'exclusiveMinimum': 0}}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['category'], 'properties': {'filter': {'enum': ['all', 'available', 'registered'], 'type': 'string', 'default': 'all', 'description': 'Which slice to return. "available" = registerable names only (most common for "what can I buy" queries). "registered" = names already owned. "all" = both, with status. Default: all.'}, 'category': {'type': 'string', 'maxLength': 200, 'minLength': 2, 'description': 'Real-world entity category ONLY â\x80\x94 e.g. "NBA hall of fame players", "Pixar feature films", "F1 world champions", "US presidents", "Italian cities", "Beatles songs". Be specific ("NBA hall of famers" good; "basketball players" too broad), but pass a CLEAN category with NO extra qualifiers: strip availability/quality/price words such as "available", "cheap", "star", "famous", "best", "top" â\x80\x94 those are not part of the category and pollute the lookup. For availability, set the "filter" param instead; never put it in the category text.'}}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['name'], 'properties': {'name': {'type': 'string', 'description': 'Full subname to extend (e.g. "sub.coffee.eth")'}, 'years': {'type': 'number', 'default': 1, 'maximum': 10, 'minimum': 1, 'description': 'Number of years to extend from now (default: 1). Cannot exceed parent expiry.'}}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'number', 'default': 25, 'description': 'Max results to return. Default 25, max 100.'}, 'charType': {'enum': ['letters', 'numbers', 'emoji'], 'type': 'string', 'description': 'Filter by character type'}, 'maxLength': {'type': 'integer', 'maximum': 255, 'minimum': 1, 'description': 'Maximum label length (e.g. 5 for up to 5-letter names). Omit for no cap â\x80\x94 never pass a huge sentinel number.'}, 'minLength': {'type': 'integer', 'maximum': 255, 'minimum': 1, 'description': 'Minimum label length (e.g. 3 for 3-letter names and up)'}, 'maxPriceEth': {'type': 'number', 'maximum': 1000000, 'description': 'Maximum listing price in ETH (e.g. 1.0). Omit for no cap â\x80\x94 never pass a huge sentinel number.', 'exclusiveMinimum': 0}, 'minConfidence': {'enum': ['HIGH', 'MEDIUM', 'LOW'], 'type': 'string', 'default': 'MEDIUM', 'description': 'Minimum engine confidence. Floored at MEDIUM â\x80\x94 find_alpha never returns LOW-confidence (thin-comp) picks. HIGH = 20+ comps, MEDIUM = 10+.'}, 'minDiscountPct': {'type': 'number', 'default': 20, 'maximum': 99, 'minimum': 1, 'description': 'Minimum discount vs the engine fair value. Default 20%. Range: 1-99.'}}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['nameOrWallet'], 'properties': {'nameOrWallet': {'type': 'string', 'description': 'ENS name (e.g. "agent.eth") or wallet address (0x...) to look up'}}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'days': {'type': 'number', 'description': 'For status "active"/"all": look-ahead window in days (default 30).'}, 'limit': {'type': 'number', 'default': 25, 'description': 'Max results (default 25, max 100)'}, 'sortBy': {'enum': ['expires', 'length', 'social', 'grade'], 'type': 'string', 'description': 'Sort order (default expires ascending â\x80\x94 closest to dropping first). "grade" = best expected auction outcome first; use it for "which premium names are worth the most / best opportunities".'}, 'status': {'enum': ['premium', 'grace', 'active', 'all'], 'type': 'string', 'default': 'premium', 'description': 'Lifecycle window: "premium" = in the 21-day post-grace Dutch auction (registerable at a decaying premium), "grace" = 0-90d past expiry (NOT registerable, holder can renew), "active" = registered names expiring within `days`, "all" = any of these.'}, 'category': {'type': 'string', 'description': 'Collection slug filter (e.g. "crypto-terms", "999-club")'}, 'charType': {'enum': ['letters', 'numbers', 'emoji', 'mixed'], 'type': 'string', 'description': 'Character composition filter. When this tool is the right one AND the request is for digits â\x80\x94 "N-digit", "numeric", or a digit club (999 Club = 3-digit, 10K Club = 4-digit, 100K Club = 5-digit) â\x80\x94 set this to "numbers", otherwise letter names of the same length pollute the results. This governs how to FILL this parameter, not whether to call this tool: digit phrasing on its own is not a reason to choose get_expiring_names over search_ens_names.'}, 'minGrade': {'enum': ['A', 'B', 'C', 'D', 'E'], 'type': 'string', 'description': 'Only names graded at least this well (A best). Combine with sortBy:"grade" for the shortlist.'}, 'maxLength': {'type': 'number', 'description': 'Maximum label length in CHARACTERS (see minLength note re digits).'}, 'minLength': {'type': 'number', 'description': 'Minimum label length in CHARACTERS. Length alone does NOT imply digits â\x80\x94 a "4-digit" query needs charType:"numbers" too, or 4-letter names leak in.'}, 'dictionaryOnly': {'type': 'boolean', 'description': 'Only dictionary words'}}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'default': 25, 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Max results (default 25, max 100)'}, 'offset': {'type': 'integer', 'default': 0, 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Pagination offset'}, 'collection': {'type': 'string', 'description': 'Restrict to names in one collection, by slug â\x80\x94 e.g. "10k-club", "999-club", "3-letter-dictionary". Use it whenever the user names a club or collection; without it the results are the WHOLE market and must never be described as a collection\'s sales.'}, 'eventTypes': {'type': 'array', 'items': {'enum': ['SALE', 'PREMIUM_REGISTRATION', 'SWAP'], 'type': 'string'}, 'description': 'Filter by event type. Defaults to all three; see the tool description for what each means.'}}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['name'], 'properties': {'name': {'type': 'string', 'description': 'ENS name or label (e.g. "vitalik" or "vitalik.eth")'}}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['walletAddress'], 'properties': {'walletAddress': {'type': 'string', 'description': 'Ethereum wallet address (0x...) to check reverse resolution for'}}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['name'], 'properties': {'name': {'type': 'string', 'description': 'ENS name or label to find similar names for (e.g. "coffee", "pixel.eth")'}, 'limit': {'type': 'number', 'default': 20, 'description': 'Max results (default 20, max 50)'}}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['name'], 'properties': {'name': {'type': 'string', 'description': 'ENS name or label to value (e.g. "coffee" or "coffee.eth")'}}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['wallet'], 'properties': {'limit': {'type': 'number', 'default': 100, 'description': 'Max results (default 100, max 200)'}, 'offset': {'type': 'number', 'default': 0, 'description': 'Pagination offset. Page until `totalMatching` names have been seen â\x80\x94 the summary counts the whole portfolio, the rows are one page.'}, 'status': {'enum': ['ACTIVE', 'EXPIRING_SOON', 'GRACE_PERIOD', 'PREMIUM_AUCTION', 'all'], 'type': 'string', 'default': 'all', 'description': 'Lifecycle filter, applied BEFORE paging. "GRACE_PERIOD" = expired â\x89¤90 days, the window right before premium â\x80\x94 use it for "my names close to / about to hit premium". "EXPIRING_SOON" = active, â\x89¤90 days left â\x80\x94 "about to expire / about to go to grace". "PREMIUM_AUCTION" = past grace, in the 21-day Dutch auction (registerable by anyone, incl. this wallet; on-chain-confirmed). "ACTIVE" = >90 days left. Default "all".'}, 'wallet': {'type': 'string', 'description': 'Ethereum wallet address (0x...) or ENS name'}}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['name', 'amountEth', 'walletAddress'], 'properties': {'name': {'type': 'string', 'minLength': 1, 'description': 'ENS name to make an offer on (e.g. "coffee.eth")'}, 'currency': {'enum': ['WETH', 'ETH'], 'type': 'string', 'default': 'WETH', 'description': 'Offer currency. Seaport offers settle in WETH; ETH is treated as WETH.'}, 'amountEth': {'type': 'number', 'description': 'Offer amount in ETH (placed on-chain as WETH)', 'exclusiveMinimum': 0}, 'expiryHours': {'type': 'integer', 'default': 72, 'maximum': 9007199254740991, 'description': 'Offer expiry in hours (default: 72)', 'exclusiveMinimum': 0}, 'walletAddress': {'type': 'string', 'pattern': '^0x[a-fA-F0-9]{40}$', 'description': 'Your wallet address (the offer maker / buyer)'}}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['name'], 'properties': {'name': {'type': 'string', 'description': 'ENS name to check (e.g. "coffee.eth")'}, 'includeRenewalPricing': {'type': 'boolean', 'default': True, 'description': 'Include on-chain renewal pricing (default: true)'}}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['name'], 'properties': {'name': {'type': 'string', 'description': 'ENS name to manage fuses on (e.g. "coffee.eth" for owner fuses, or "sub.coffee.eth" for child fuses)'}, 'fuses': {'type': 'array', 'items': {'type': 'string'}, 'default': [], 'description': 'Fuses to burn. Required for burn actions, optional for read. Owner fuses: CANNOT_UNWRAP, CANNOT_BURN_FUSES, CANNOT_TRANSFER, CANNOT_SET_RESOLVER, CANNOT_SET_TTL, CANNOT_CREATE_SUBDOMAIN, CANNOT_APPROVE. Parent-controlled fuses (for subnames): PARENT_CANNOT_CONTROL, CAN_EXTEND_EXPIRY.'}, 'action': {'enum': ['burn_owner_fuses', 'burn_child_fuses', 'read'], 'type': 'string', 'default': 'read', 'description': 'Action: "burn_owner_fuses" burns fuses on a name you own, "burn_child_fuses" burns fuses on a subname you are parent of, "read" reads current fuses'}, 'expiry': {'type': 'number', 'description': 'For burn_child_fuses only: Unix timestamp for subname expiry (cannot exceed parent expiry)'}}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['parentName', 'subnames', 'walletAddress'], 'properties': {'subnames': {'type': 'array', 'items': {'type': 'object', 'required': ['label'], 'properties': {'label': {'type': 'string', 'description': 'Subname label (e.g. "agent001" for agent001.company.eth)'}, 'owner': {'type': 'string', 'description': 'Owner wallet address (defaults to parent owner)'}, 'records': {'type': 'object', 'properties': {'texts': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'type': 'string'}}, 'addresses': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'type': 'string'}}}, 'description': 'Optional records to set on the subname'}}}, 'description': 'Array of subnames to create (max 50 per batch)'}, 'parentName': {'type': 'string', 'description': 'Parent ENS name (e.g. "company.eth")'}, 'walletAddress': {'type': 'string', 'description': 'Wallet address that owns the parent name'}, 'allowOverwrite': {'type': 'boolean', 'description': 'Default false. If false, throws when any subname already exists. Set true to overwrite existing subnames (destructive â\x80\x94 replaces current owner).'}}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['purpose', 'walletAddress'], 'properties': {'purpose': {'type': 'string', 'description': 'What the agent does (e.g. "DeFi trading bot", "data analytics agent", "social media manager", "infrastructure monitor")'}, 'budgetEth': {'type': 'number', 'default': 0.1, 'description': 'Maximum budget in ETH for name acquisition (default: 0.1)'}, 'preferences': {'type': 'object', 'properties': {'style': {'enum': ['professional', 'creative', 'technical', 'minimal'], 'type': 'string', 'default': 'professional', 'description': 'Naming style â\x80\x94 shapes generated names: professional (prime/apex + labs/systems), creative (spark/muse + forge/studio), technical (proto/async + node/daemon), minimal (neo/zen + ai/io). Pass the style the user asks for.'}, 'maxLength': {'type': 'number', 'default': 15, 'description': 'Maximum name length (default: 15)'}, 'mustInclude': {'type': 'string', 'description': 'Word or pattern the name must include (e.g. "trade", "data")'}}, 'description': 'Optional naming preferences'}, 'agentRegistry': {'type': 'object', 'required': ['registryAddress', 'agentId'], 'properties': {'agentId': {'type': 'string', 'description': 'Agent ID in the registry (e.g. "42")'}, 'chainId': {'type': 'number', 'default': 1, 'description': 'Chain ID where the registry is deployed (default: 1 for Ethereum mainnet)'}, 'registryAddress': {'type': 'string', 'description': 'ERC-8004 IdentityRegistry contract address (checksummed 0x...)'}}, 'description': 'ENSIP-25 agent registry binding. If provided, the provisioning flow will include the agent-registration text record that links this ENS name to your on-chain agent identity.'}, 'walletAddress': {'type': 'string', 'description': 'Agent wallet address (will own the name and sign transactions)'}}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['name', 'walletAddress'], 'properties': {'name': {'type': 'string', 'description': 'ENS name to purchase (e.g. "coffee.eth")'}, 'action': {'enum': ['buy_listing', 'register', 'auto'], 'type': 'string', 'default': 'auto', 'description': 'Action: buy_listing (purchase listed name), register (register available name), auto (detect automatically)'}, 'duration': {'type': 'integer', 'default': 365, 'maximum': 3650, 'minimum': 28, 'description': 'Registration duration in days. ENS protocol minimum is 28 days; maximum is 3650 (10 years); default is 365 (1 year). Sub-year is allowed.'}, 'orderHash': {'type': 'string', 'description': 'Specific Seaport order hash to fulfill. Use this when the user has chosen a specific listing from multiple options.'}, 'maxPriceEth': {'type': 'number', 'description': 'Maximum price willing to pay in ETH (for listed names)'}, 'durationYears': {'type': 'number', 'description': 'DEPRECATED â\x80\x94 use duration (days) instead. Number of years (converted to days internally).'}, 'walletAddress': {'type': 'string', 'description': 'Buyer wallet address (will own the name)'}}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['name', 'owner'], 'properties': {'name': {'type': 'string', 'description': 'ENS name to reclaim (e.g. "coffee.eth")'}, 'owner': {'type': 'string', 'pattern': '^0x[a-fA-F0-9]{40}$', 'description': 'Address to set as the ENS Registry owner (must own the BaseRegistrar token)'}}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['name'], 'properties': {'name': {'type': 'string', 'description': 'ENS name to register as an agent (e.g. "myagent.eth"). You must own it.'}, 'route': {'enum': ['adapter', 'direct'], 'type': 'string', 'default': 'adapter', 'description': 'adapter (default): bind the agent to the name via ERC-8217 â\x80\x94 control and marketplace visibility follow the name. direct: mint the agent NFT to your wallet, independent of the name.'}, 'agentURI': {'type': 'string', 'description': "Override the agent registration file URI. Defaults to NameWhisper's hosted file, which is built live from the name's ENS records (agent-context, endpoints) so it stays current automatically."}, 'walletAddress': {'type': 'string', 'description': "Wallet that will sign the transaction. For the adapter route this MUST be the name's current token holder. Auto-filled from ERC-8128 auth when omitted."}}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['names'], 'properties': {'names': {'anyOf': [{'type': 'string'}, {'type': 'array', 'items': {'type': 'string'}}], 'description': 'ENS name or array of names to renew (e.g. "coffee.eth" or ["coffee.eth", "wallet.eth"])'}, 'years': {'type': 'number', 'description': 'DEPRECATED â\x80\x94 use duration instead. Number of years (converted to days internally).'}, 'duration': {'type': 'integer', 'maximum': 36500, 'minimum': 1, 'description': 'Duration in days to extend registration (e.g. 7 for 1 week, 28 for a month, 365 for a year). Default: 365. Minimum: 1 day. Maximum: 36500 (100 years). When a budget is also given, the budget wins: the duration is capped to what the budget covers.'}, 'budgetEth': {'type': 'number', 'description': 'Spend cap in ETH ("renew X with 0.02 ETH", "I only have 0.05 ETH"). Same behaviour as budgetUsd. Mutually exclusive with budgetUsd.', 'exclusiveMinimum': 0}, 'budgetUsd': {'type': 'number', 'description': 'Spend cap in USD ("renew X for $45", "put $20 into it"). The tool prices the name(s) on-chain and picks the LONGEST whole number of days whose transaction value fits under this cap â\x80\x94 never compute the duration yourself from a budget. Mutually exclusive with budgetEth.', 'exclusiveMinimum': 0}}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'chain': {'type': 'string', 'description': 'Filter by chain name (e.g. "Ethereum Mainnet", "Base", "Solana Mainnet")'}, 'limit': {'type': 'number', 'default': 25, 'description': 'Max results (default 25, max 50)'}, 'query': {'type': 'string', 'description': 'Search query â\x80\x94 agent name, capability, or description'}, 'capabilities': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Filter by supported protocols (e.g. ["MCP", "A2A", "OASF"])'}, 'minReputation': {'type': 'number', 'description': 'Minimum total score (0-100)'}}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['query'], 'properties': {'query': {'type': 'string', 'description': 'Natural language search query (e.g. "cheap 3-letter words", "ocean themed names", "is coffee.eth taken?")'}}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['query'], 'properties': {'limit': {'type': 'number', 'default': 6, 'description': 'Number of results to return (default 6)'}, 'query': {'type': 'string', 'description': 'Search query â\x80\x94 what you want to know about ENS governance, protocol, ecosystem, or history'}, 'source': {'enum': ['ens-forum', 'vitalik-blog', 'ens-blog', 'ens-docs', 'farcaster'], 'type': 'string', 'description': 'Filter to a specific source. Omit to search all sources.'}}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['name', 'records', 'walletAddress'], 'properties': {'name': {'type': 'string', 'description': 'ENS name to set records for (e.g. "myagent.eth")'}, 'records': {'type': 'object', 'properties': {'texts': {'type': 'object', 'description': 'Text records (e.g. {"avatar": "https://...", "description": "An AI trading agent", "ai.agent": "true", "ai.capabilities": "trading,defi"})', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'type': 'string'}}, 'addresses': {'type': 'object', 'description': 'Address records by coin type. ETH takes a standard 0x address (copy it EXACTLY from the user or a tool result). Non-ETH coins (BTC, SOL, LTC, DOGE, â\x80¦) take the raw wallet-format address exactly as the user gives it (e.g. "bc1â\x80¦" bech32, base58 SOL) â\x80\x94 it is encoded to ENSIP-9 bytes automatically. Pre-encoded 0x hex bytes are also accepted and passed through.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'type': 'string'}}, 'contentHash': {'type': 'string', 'description': 'Content hash for a decentralized website. Accepts an ipfs:// or ipns:// URI, a bare IPFS CID (Qmâ\x80¦, bafyâ\x80¦), or an already-encoded 0x hex contenthash (0xe301â\x80¦) â\x80\x94 raw CIDs/URIs are encoded to the multicodec form automatically. Copy the CID exactly as the user gives it.'}, 'agentContext': {'type': 'string', 'description': 'ENSIP-26 agent-context text record â\x80\x94 free-form text describing the agent (markdown, JSON, YAML, etc.). The entry point for agent discovery.'}, 'agentEndpoints': {'type': 'object', 'properties': {'a2a': {'type': 'string', 'description': 'Agent-to-Agent Protocol endpoint URL'}, 'mcp': {'type': 'string', 'description': 'Model Context Protocol endpoint URL'}, 'web': {'type': 'string', 'description': 'Web interface URL'}, 'oasf': {'type': 'string', 'description': 'OpenAPI Service Format endpoint URL'}}, 'description': 'ENSIP-26 agent endpoint URLs by protocol. Sets agent-endpoint[<protocol>] text records.'}, 'agentRegistration': {'type': 'object', 'required': ['registryAddress', 'agentId'], 'properties': {'agentId': {'type': 'string', 'description': 'Agent ID in the registry'}, 'chainId': {'type': 'number', 'default': 1, 'description': 'Chain ID (default: 1 for mainnet)'}, 'registryAddress': {'type': 'string', 'description': 'ERC-8004 IdentityRegistry contract address (0x...)'}}, 'description': 'ENSIP-25 shorthand: set an agent-registration text record linking this name to an on-chain agent identity. Automatically builds the correct ERC-7930 encoded key.'}}, 'description': 'Records to set on the name'}, 'walletAddress': {'type': 'string', 'description': 'Wallet address that owns the name (must sign the transaction)'}}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['name', 'walletAddress'], 'properties': {'name': {'type': 'string', 'description': 'ENS name to set as primary (e.g. "myname.eth")'}, 'walletAddress': {'type': 'string', 'description': 'Wallet address to set the primary name for (must sign the transaction)'}}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['name', 'resolver'], 'properties': {'name': {'type': 'string', 'description': 'ENS name to change resolver for (e.g. "coffee.eth")'}, 'resolver': {'type': 'string', 'description': 'New resolver contract address. Use "public" for the ENS Public Resolver.'}}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['walletAddress'], 'properties': {'q': {'type': 'string', 'description': 'Label text filter (substring), e.g. "punk" to sweep names containing punk.'}, 'count': {'type': 'integer', 'maximum': 20, 'minimum': 1, 'description': 'How many names to sweep, cheapest-first (max 20 per tx). Defaults to 10 if no budget is given.'}, 'category': {'type': 'string', 'description': 'Collection slug to sweep, as used by the marketplace (e.g. "999-club", "10k-club", "three-letter"). Comma-separate for multiple. Optional if q/charType/length is given.'}, 'charType': {'enum': ['letters', 'numbers', 'emoji', 'mixed', 'hex'], 'type': 'string', 'description': 'Restrict to a character class. "mixed" covers any label combining letters and digits; "hex" narrows to just the all-hex-digit ones (abc666, 1a2b).'}, 'maxLength': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Maximum label length.', 'exclusiveMinimum': 0}, 'minLength': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Minimum label length.', 'exclusiveMinimum': 0}, 'maxPriceEth': {'type': 'number', 'description': 'Per-name price cap â\x80\x94 skip any listing above this so a pricey outlier just off the floor is not swept up.', 'exclusiveMinimum': 0}, 'maxBudgetEth': {'type': 'number', 'description': 'Total ETH budget â\x80\x94 keeps buying up the floor until adding the next cheapest would exceed this.', 'exclusiveMinimum': 0}, 'walletAddress': {'type': 'string', 'pattern': '^0x[a-fA-F0-9]{40}$', 'description': 'Buyer wallet address â\x80\x94 receives all swept names.'}}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['name', 'fromAddress', 'toAddress'], 'properties': {'name': {'type': 'string', 'description': 'ENS name to transfer (e.g. "coffee.eth")'}, 'toAddress': {'type': 'string', 'description': 'Recipient â\x80\x94 either a 0x wallet address OR an ENS name (e.g. "vitalik.eth"). ENS names are resolved to their on-chain address record automatically.'}, 'fromAddress': {'type': 'string', 'description': 'Current owner wallet address (must sign the transaction)'}}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['name', 'owner'], 'properties': {'name': {'type': 'string', 'description': 'ENS name to unwrap (e.g. "coffee.eth")'}, 'owner': {'type': 'string', 'pattern': '^0x[a-fA-F0-9]{40}$', 'description': 'Address of the current wrapped name owner'}}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'buyer': {'type': 'string', 'description': 'Buyer wallet address for live analysis'}, 'label': {'type': 'string', 'description': 'ENS label (e.g. "defirm") for live analysis, or to pick one name out of a multi-name (bulk sweep) tx_hash lookup'}, 'seller': {'type': 'string', 'description': 'Seller wallet address for live analysis'}, 'tx_hash': {'type': 'string', 'description': 'Transaction hash to look up pre-computed wash score'}, 'price_eth': {'type': 'number', 'description': 'Sale price in ETH for live analysis'}}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['name', 'owner'], 'properties': {'name': {'type': 'string', 'description': 'ENS name to wrap (e.g. "coffee.eth")'}, 'fuses': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Optional fuses to burn on wrap (e.g. ["CANNOT_UNWRAP"]). WARNING: irreversible.'}, 'owner': {'type': 'string', 'pattern': '^0x[a-fA-F0-9]{40}$', 'description': 'Address of the current name owner (must own the BaseRegistrar token)'}}}
Cambios recientes en herramientas
Servidores MCP similares
Delx Commerce — Pay-per-Result APIs for Agents
Provides pay-per-result APIs and agent protocol tools for continuity, multi-agent coordination, document OCR, and crypto-related …
SAP MCP Server
Provides an MCP gateway connecting SAP-related tools with Solana, DeFi, decentralized identity, and x402 payments.
TheProtocol — Sovereign AI Agent Platform
Manages sovereign AI agents, identities, contracts, payments, governance, exchanges, and cross-frame token transfers.
The Stall
Provides pay-per-call tools for YouTube keyword research and research on stocks, crypto, DeFi, options, and macroeconomic data.
Crank Protocol
Provides non-custodial Solana and EVM tools for swaps, derivatives, lending, staking, tokenized equities, bridging, and strategy …
x402-services
Provides on-chain, trading, and AI tools for Robinhood Chain.
apex-x1
Provides X1 and Arc token screening, liquidity and exit-risk checks, wallet and bridge data, non-custodial token operations, comm…
Crypto Bot Audit + Market Data (x402 paid)
Audits crypto bot source code and provides paid crypto market, token, gas, stablecoin, and DeFi TVL data.