{
  "name": "ens-tools",
  "version": "3.0.3",
  "title": "ENS.Tools Agent Skills",
  "homepage": "https://ens.tools/agents",
  "description": "Agent-ready ENS identity, discovery, marketplace, and transaction-preparation workflows.",
  "mcp": {
    "manifest": "https://ens.tools/.well-known/mcp.json",
    "endpoint": "https://ens.tools/mcp",
    "liteEndpoint": "https://ens.tools/mcp-lite",
    "liteWorkflowTools": 25,
    "liteDiscoveryTool": "search_tools",
    "transport": "streamable-http",
    "protocolVersion": "2025-11-25",
    "authentication": "none for public tools",
    "toolCountSource": "https://ens.tools/api/platform",
    "canonicalToolList": "Call tools/list at runtime"
  },
  "workflows": [
    {
      "id": "resolve_ens_identity",
      "title": "Resolve an ENS identity",
      "description": "Owner, resolver, lifecycle, addresses, text records, subnames, history, and primary-name checks.",
      "tools": [
        "lookup_domain",
        "resolve_records",
        "check_expiry",
        "get_primary_name",
        "get_subnames_for_name",
        "get_name_history"
      ]
    },
    {
      "id": "discover_names",
      "title": "Discover and price names",
      "description": "Natural-language name generation, batch availability, live pricing, gas, and lifecycle checks.",
      "tools": [
        "semantic_domain_search",
        "batch_check_availability",
        "is_name_available",
        "get_name_price",
        "estimate_domain_value",
        "get_gas_estimate"
      ]
    },
    {
      "id": "launch_agent",
      "title": "Launch an ENS-native agent",
      "description": "Create an ERC-8004 registration file and unsigned mint, publish ENSIP-26 context/endpoints, then add ENSIP-25 after agentId is known.",
      "tools": [
        "provision_agent_identity",
        "prepare_erc8004_registration",
        "prepare_erc8004_uri_update",
        "prepare_set_records"
      ],
      "web": "https://ens.tools/agents/launch"
    },
    {
      "id": "verify_agent",
      "title": "Verify an agent identity and trust signals",
      "description": "Resolve ENSIP-26, grade ENSIP-25/ERC-8004 bidirectional control, verify ERC-8217 bindings, and read reviewer-scoped reputation.",
      "tools": [
        "get_agent_context",
        "check_agent_verification",
        "check_agent_binding",
        "get_agent_reputation"
      ],
      "web": "https://ens.tools/agents/directory"
    },
    {
      "id": "prove_agent_capability",
      "title": "Check an agent's live capability",
      "description": "Resolve ENS-published endpoints and record point-in-time MCP, A2A, or web protocol evidence. Treat results as observations, not safety endorsements.",
      "tools": [
        "check_agent_capabilities",
        "get_agent_capability_history"
      ],
      "web": "https://ens.tools/agents/capabilities"
    },
    {
      "id": "monitor_agent_capability",
      "title": "Monitor an ENS agent",
      "description": "Prepare and publish wallet-signed schedules for ENS-published endpoints, then inspect SLO evidence and deduplicated incidents.",
      "tools": [
        "prepare_agent_monitor",
        "publish_agent_monitor",
        "get_agent_monitoring"
      ],
      "web": "https://ens.tools/agents/monitoring",
      "api": "https://ens.tools/api/agents/monitoring"
    },
    {
      "id": "developer_platform",
      "title": "Authenticate and test an ENS agent integration",
      "description": "Create a wallet-owned API key, run deterministic sandbox fixtures, inspect durable quota receipts, and fund higher quotas with recurring Base USDC.",
      "tools": [],
      "web": "https://ens.tools/developers/console",
      "api": "https://ens.tools/api/v1/tools",
      "openapi": "https://ens.tools/api/openapi.json",
      "sdk": "https://ens.tools/sdk/ens-agent-client.mjs",
      "instructions": "https://ens.tools/.well-known/agent-skills/developer-platform.json"
    },
    {
      "id": "follow_agent_recipe",
      "title": "Follow an outcome-first ENS agent recipe",
      "description": "Discover copy-ready prerequisites, ordered tool calls, success evidence, stop conditions and recovery procedures for identity, routing, delegation, commerce and Base subscriptions.",
      "tools": [],
      "web": "https://ens.tools/agents/recipes",
      "instructions": "https://ens.tools/.well-known/agent-recipes.json"
    },
    {
      "id": "route_agent_intent",
      "title": "Route a task to an ENS agent",
      "description": "Search by observed capability and rank eligible agents with a versioned deterministic receipt, hard freshness constraints, evidence digests, and exclusion reasons.",
      "tools": [
        "discover_agents",
        "route_agent_intent"
      ],
      "web": "https://ens.tools/agents/router",
      "api": "https://ens.tools/api/agents/route",
      "directoryApi": "https://ens.tools/api/agents/directory",
      "instructions": "https://ens.tools/.well-known/agent-skills/directory-routing.json"
    },
    {
      "id": "enforce_agent_policy",
      "title": "Issue and enforce a policy-bound session",
      "description": "Prepare, sign, and publish a short-lived scope. Verify its live signature, revocation, expiry, agent, tool, ENS-name, and value constraints immediately before every privileged action.",
      "tools": [
        "prepare_agent_policy",
        "publish_agent_policy",
        "get_agent_policy",
        "verify_agent_policy",
        "prepare_agent_policy_revocation",
        "revoke_agent_policy"
      ],
      "web": "https://ens.tools/agents/policies"
    },
    {
      "id": "delegate_agent_execution",
      "title": "Grant a wallet-native agent execution permission",
      "description": "Prepare an ERC-7715 wallet permission and signed ENS execution policy with session-key, allowance, expiry, target, selector, tool, ENS-scope, simulation, and evidence constraints. Verify every request and simulate ERC-7710 redemption before submission.",
      "tools": [
        "prepare_agent_execution_permission",
        "verify_agent_execution_permission",
        "authorize_agent_execution",
        "get_agent_permission_usage"
      ],
      "web": "https://ens.tools/agents/policies#delegated-execution",
      "api": "https://ens.tools/api/agents/enforce",
      "sdk": "https://ens.tools/sdk/ens-agent-enforcer.mjs",
      "warning": "Proceed only when the durable authorization receipt returns execution.mayProceed=true. Reuse the same idempotency key when retrying one attempted execution."
    },
    {
      "id": "coordinate_agent_work",
      "title": "Coordinate signed agent work",
      "description": "Publish requester-signed jobs and ENS-bound provider quotes, accept exactly one quote, prepare Base or Ethereum USDC/WETH funding, and label the result escrow-ready until matching funded ERC-8183 evidence is verified.",
      "tools": [
        "prepare_agent_job",
        "publish_agent_job",
        "prepare_agent_quote",
        "publish_agent_quote",
        "prepare_agent_quote_acceptance",
        "accept_agent_quote",
        "get_agent_job",
        "list_agent_jobs",
        "prepare_erc8183_create_job",
        "prepare_erc8183_funding",
        "inspect_erc8183_escrow",
        "prepare_erc8183_binding",
        "publish_erc8183_binding",
        "prepare_erc8183_submit",
        "prepare_erc8183_complete",
        "prepare_erc8183_reject",
        "prepare_erc8183_refund",
        "inspect_erc8183_outcome"
      ],
      "web": "https://ens.tools/agents/commerce",
      "api": "https://ens.tools/api/agents/jobs",
      "instructions": "https://ens.tools/.well-known/agent-skills/commerce.json",
      "compatibilityProfile": "https://ens.tools/.well-known/agent-skills/erc8183-profile.json",
      "warning": "ERC-8183 is a draft and its prose differs from its reference implementation. Use the pinned profile. USDC on Base is preferred; ETH must be wrapped to WETH. Never claim escrow until code hash, roles, description, expiry, current ENS binding, token, budget, funded state, receipt, client, amount, and JobFunded event all match."
    },
    {
      "id": "prepare_ens_registration",
      "title": "Prepare a .eth registration",
      "description": "Build the commit and reveal transactions with the live atomic-fee wrapper quote. Keep the generated secret private between phases.",
      "tools": [
        "prepare_registration_commit",
        "prepare_registration_reveal",
        "simulate_transaction",
        "get_transaction_status"
      ]
    },
    {
      "id": "manage_names",
      "title": "Prepare ENS management actions",
      "description": "Unsigned renewals, record writes, transfers, primary-name changes, and subname creation.",
      "tools": [
        "prepare_renewal",
        "prepare_set_records",
        "prepare_transfer",
        "prepare_set_primary_name",
        "prepare_create_subname"
      ]
    },
    {
      "id": "create_agent_fleet",
      "title": "Create an agent fleet",
      "description": "Prepare dependency-ordered subname and ENSIP-26 record transactions for up to 25 agents beneath one parent.",
      "tools": [
        "prepare_agent_fleet"
      ],
      "web": "https://ens.tools/agents/fleets"
    },
    {
      "id": "operate_agent_fleet",
      "title": "Inspect and operate an ENS agent fleet",
      "description": "Compose identity readiness, stored health evidence, verification, active policies, and signed work for immediate ENS subnames. Select exact workers and prepare independent unsigned endpoint, context, pause, or resume record plans.",
      "tools": [
        "inspect_agent_fleet",
        "prepare_fleet_updates",
        "prepare_fleet_rollout"
      ],
      "web": "https://ens.tools/agents/control",
      "api": "https://ens.tools/api/agents/fleet",
      "instructions": "https://ens.tools/.well-known/agent-skills/fleet-operations.json",
      "warnings": [
        "Unknown and stale observations are not healthy.",
        "agent-status is an ENS.Tools advisory convention that third-party software must explicitly honor.",
        "Every prepared transaction requires wallet review and simulation."
      ]
    },
    {
      "id": "inspect_control_plane_canary",
      "title": "Inspect signed control-plane evidence",
      "description": "Read the latest external hourly, daily, and nightly canary receipts. Check signature verification, freshness, semantic-drift assertions, latency, and evidence before relying on the control plane.",
      "tools": [
        "get_control_plane_canary_status"
      ],
      "web": "https://ens.tools/agents/canary",
      "api": "https://ens.tools/api/agents/canary",
      "instructions": "https://ens.tools/.well-known/agent-skills/control-plane-canary.json",
      "warnings": [
        "A passing receipt is point-in-time evidence, not a guarantee of future behaviour.",
        "The canary has no funded wallet or transaction-broadcast authority.",
        "Do not treat an HTTP 200 as sufficient when a semantic assertion failed."
      ]
    },
    {
      "id": "purchase_agent_platform_capacity",
      "title": "Purchase authenticated agent-platform capacity",
      "description": "Read canonical plans and Base provider readiness, create a wallet-owned developer account, approve a plan-sized 30-day Base USDC spend permission, and activate capacity only from confirmed exact settlement to enstools.eth.",
      "tools": [],
      "web": "https://ens.tools/agents/pricing",
      "api": "https://ens.tools/api/developers/billing",
      "console": "https://ens.tools/developers/console",
      "purchaseUrls": {
        "operator": "https://ens.tools/developers/console?plan=operator#subscribe",
        "team": "https://ens.tools/developers/console?plan=team#subscribe",
        "scale": "https://ens.tools/developers/console?plan=scale#subscribe"
      },
      "instructions": "https://ens.tools/.well-known/agent-pricing.json",
      "warnings": [
        "Do not offer Stripe, direct-transfer, or ETH purchase paths.",
        "Do not request a permission unless providers.base.available is true.",
        "A supervising Base Account must review the allowance, spender and period.",
        "A permission response or submitted transaction hash is not payment proof.",
        "Paid capacity never changes rank, verification, policy, canary, or escrow evidence."
      ]
    },
    {
      "id": "trade_ens",
      "title": "Inspect and prepare ENS marketplace actions",
      "description": "Search the live orderbook and prepare Seaport listings, offers, and atomic purchase calldata.",
      "tools": [
        "marketplace_search",
        "marketplace_listing",
        "get_market_activity",
        "prepare_marketplace_listing",
        "prepare_marketplace_offer",
        "prepare_marketplace_purchase"
      ]
    }
  ],
  "transactionPolicy": {
    "serverBroadcasts": false,
    "privateKeysAccepted": false,
    "walletReviewRequired": true,
    "recommendedSequence": [
      "Prepare",
      "Inspect target/data/value",
      "Simulate",
      "Ask the user to review",
      "Request wallet signature",
      "Wait for confirmation"
    ]
  },
  "standards": [
    "ENSIP-25",
    "ENSIP-26",
    "ERC-8004",
    "ERC-8217",
    "ERC-8183 draft",
    "MCP 2025-11-25",
    "Seaport 1.6"
  ]
}
