Doti Protocol (.i) MCP Server

Sovereign .i Web3 identity and multi-chain domain tools across four EVM networks.

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
96%
Integridad del esquema
92%
Calidad de los nombres
85%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~2,122Tokens (definiciones de herramientas)
~872 BTamaño de respuesta típico
Impacto moderado en la atención (1.66% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

{
  "mcpServers": {
    "doti-mcp": {
      "url": "https://doti.my/api/ai/mcp"
    }
  }
}

Puntos de conexión remotos

https://doti.my/api/ai/mcpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (19)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢check_domain_availability(domainName)

Check if a .i sovereign domain is available for registration across all 4 supported chains (Arbitrum One, Optimism, Ethereum, Robinhood).

Esquema de entrada

{
  "type": "object",
  "properties": {
    "domainName": {
      "type": "string",
      "description": "The .i domain name or label (e.g. \"alex\" or \"alex.i\")"
    }
  },
  "required": [
    "domainName"
  ]
}
⚪resolve_domain_identity(identifier, chainId)

Resolve a .i web3 domain name or 0x Ethereum wallet address to its sovereign identity, owner, metadata, social links, and current chain location.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "identifier": {
      "type": "string",
      "description": "The .i domain name (e.g. \"genesis.i\") or EVM wallet address (0x...)"
    },
    "chainId": {
      "type": "number",
      "description": "Optional filter for target network (42161: Arbitrum One, 10: Optimism, 1: Ethereum, 4663: Robinhood)"
    }
  },
  "required": [
    "identifier"
  ]
}
🟢get_supported_chains

Retrieve technical network specifications, Chainlink CCIP selectors, router contracts, and registry addresses for all 4 supported chains.

Esquema de entrada

{
  "type": "object",
  "properties": {}
}
🟢estimate_registration(domainName, targetChainId)

Calculate registration fee, escrow payment requirements, and cross-chain CCIP bridging costs on any of the 4 supported networks.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "domainName": {
      "type": "string",
      "description": "The .i domain name to estimate"
    },
    "targetChainId": {
      "type": "number",
      "description": "Target payment network: 42161 (Arbitrum), 10 (Optimism), 1 (Ethereum), or 4663 (Robinhood). Defaults to 42161."
    }
  },
  "required": [
    "domainName"
  ]
}
🟡set_primary_domain(domainName, ownerAddress)

Prepare an unsigned transaction payload to set or update the primary reverse resolution domain identity for a given wallet address on Arbitrum One. Requires user wallet signature.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "domainName": {
      "type": "string",
      "description": "The .i domain name (e.g. \"agent.i\")"
    },
    "ownerAddress": {
      "type": "string",
      "description": "The 0x EVM owner address"
    }
  },
  "required": [
    "domainName",
    "ownerAddress"
  ]
}
🟡update_domain_profile(domainName, ownerAddress, socialLinks, websiteUrl, imageMode, ...)

Prepare an unsigned transaction payload to update decentralized identity profile metadata, social links, website URL, and IPFS avatar CID on-chain. Requires owner wallet signature.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "domainName": {
      "type": "string",
      "description": "The .i domain name"
    },
    "ownerAddress": {
      "type": "string",
      "description": "Owner wallet address"
    },
    "socialLinks": {
      "type": "object",
      "description": "Key-value map of social usernames (twitter, github, telegram, farcaster, discord)"
    },
    "websiteUrl": {
      "type": "string",
      "description": "Decentralized or Web2 website URL"
    },
    "imageMode": {
      "type": "string",
      "enum": [
        "DEFAULT",
        "GENERATED_MATRIX",
        "CUSTOM_IPFS"
      ],
      "description": "Avatar visual style mode"
    },
    "profileImageCid": {
      "type": "string",
      "description": "IPFS CID hash for custom avatar image"
    }
  },
  "required": [
    "domainName",
    "ownerAddress"
  ]
}
⚪marketplace_browse_listings(limit)

Browse active .i domains listed on the decentralized secondary marketplace across Arbitrum One and satellite networks.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "limit": {
      "type": "number",
      "description": "Max number of listings to return (default 20)"
    }
  }
}
🟢marketplace_get_domain_details(domainName)

Inspect full marketplace status for any .i domain: active listing, price history, highest offer, and bids.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "domainName": {
      "type": "string",
      "description": "The .i domain name (e.g. \"ai.i\")"
    }
  },
  "required": [
    "domainName"
  ]
}
⚪register_domain(domainName, recipientAddress, targetChainId)

Prepare an unsigned on-chain transaction payload to permanently register a .i sovereign domain (0.001 ETH). Returns contract calldata, destination address, and value for user wallet signature.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "domainName": {
      "type": "string",
      "description": "The .i domain name to register (e.g. \"mybot.i\")"
    },
    "recipientAddress": {
      "type": "string",
      "description": "The 0x EVM wallet address that will own the domain"
    },
    "targetChainId": {
      "type": "number",
      "description": "Network where registration/deposit is made: 42161 (Arbitrum One), 10 (Optimism), 1 (Ethereum), 4663 (Robinhood). Defaults to 42161."
    }
  },
  "required": [
    "domainName",
    "recipientAddress"
  ]
}
🟢marketplace_list_domain(domainName, sellerAddress, priceInEth, durationDays)

Prepare an unsigned transaction payload to list an owned .i domain for sale on the secondary marketplace. Requires owner wallet signature.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "domainName": {
      "type": "string",
      "description": "The .i domain name to list for sale"
    },
    "sellerAddress": {
      "type": "string",
      "description": "The 0x seller address (must be current domain owner)"
    },
    "priceInEth": {
      "type": "string",
      "description": "Listing price in ETH (e.g. \"0.05\")"
    },
    "durationDays": {
      "type": "number",
      "description": "Duration of listing in days (defaults to 30)"
    }
  },
  "required": [
    "domainName",
    "sellerAddress",
    "priceInEth"
  ]
}
⚪marketplace_buy_domain(domainName, buyerAddress, priceInEth)

Prepare an unsigned payable transaction payload with ETH value to purchase an actively listed .i domain from the marketplace contract. Requires buyer wallet signature.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "domainName": {
      "type": "string",
      "description": "The .i domain name to purchase"
    },
    "buyerAddress": {
      "type": "string",
      "description": "The 0x buyer address purchasing the domain"
    },
    "priceInEth": {
      "type": "string",
      "description": "Optional expected purchase price in ETH for slippage protection"
    }
  },
  "required": [
    "domainName",
    "buyerAddress"
  ]
}
🟡marketplace_make_offer(domainName, buyerAddress, offerPriceInEth, durationDays)

Prepare an unsigned transaction payload to submit an offer in ETH to purchase any registered .i domain. Requires buyer wallet signature.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "domainName": {
      "type": "string",
      "description": "The .i domain name to make an offer on"
    },
    "buyerAddress": {
      "type": "string",
      "description": "The 0x buyer address making the offer"
    },
    "offerPriceInEth": {
      "type": "string",
      "description": "Offer amount in ETH (e.g. \"0.02\")"
    },
    "durationDays": {
      "type": "number",
      "description": "Validity of offer in days (defaults to 7)"
    }
  },
  "required": [
    "domainName",
    "buyerAddress",
    "offerPriceInEth"
  ]
}
⚪marketplace_accept_offer(domainName, sellerAddress, buyerAddress)

Prepare an unsigned atomic swap transaction payload accepting a buyer offer on your .i domain. Requires seller wallet signature.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "domainName": {
      "type": "string",
      "description": "The .i domain name being sold"
    },
    "sellerAddress": {
      "type": "string",
      "description": "The 0x seller address (current owner)"
    },
    "buyerAddress": {
      "type": "string",
      "description": "The 0x buyer address whose offer is being accepted"
    }
  },
  "required": [
    "domainName",
    "sellerAddress",
    "buyerAddress"
  ]
}
🔴marketplace_cancel_listing(domainName, sellerAddress)

Prepare an unsigned transaction payload to cancel an active marketplace listing. Requires seller wallet signature.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "domainName": {
      "type": "string",
      "description": "The .i domain name to delist"
    },
    "sellerAddress": {
      "type": "string",
      "description": "The 0x seller address who created the listing"
    }
  },
  "required": [
    "domainName",
    "sellerAddress"
  ]
}
🔴marketplace_cancel_offer(domainName, buyerAddress)

Prepare an unsigned transaction payload to cancel an active marketplace offer. Requires buyer wallet signature.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "domainName": {
      "type": "string",
      "description": "The .i domain name"
    },
    "buyerAddress": {
      "type": "string",
      "description": "The 0x buyer address who submitted the offer"
    }
  },
  "required": [
    "domainName",
    "buyerAddress"
  ]
}
⚪transfer_domain(domainName, currentOwner, newOwner)

Prepare an unsigned ERC-721 transferFrom transaction payload to transfer sovereign ownership of a .i domain to another 0x EVM wallet address. Requires owner wallet signature.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "domainName": {
      "type": "string",
      "description": "The .i domain name to transfer"
    },
    "currentOwner": {
      "type": "string",
      "description": "The 0x address of the current domain owner"
    },
    "newOwner": {
      "type": "string",
      "description": "The 0x recipient address to receive domain ownership"
    }
  },
  "required": [
    "domainName",
    "currentOwner",
    "newOwner"
  ]
}
⚪bridge_domain(domainName, ownerAddress, destinationChainId)

Prepare an unsigned CCIP cross-chain bridge transaction payload to teleport a .i domain to another supported EVM chain. Requires owner wallet signature.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "domainName": {
      "type": "string",
      "description": "The .i domain name to bridge"
    },
    "ownerAddress": {
      "type": "string",
      "description": "The 0x owner address initiating the bridge"
    },
    "destinationChainId": {
      "type": "number",
      "description": "Target EVM chain ID: 42161 (Arbitrum One), 10 (OP Mainnet), 1 (Ethereum), 4663 (Robinhood)"
    }
  },
  "required": [
    "domainName",
    "ownerAddress",
    "destinationChainId"
  ]
}
⚪claim_escrow_refund(escrowId, claimantAddress)

Prepare an unsigned transaction payload to claim an eligible escrow refund from the Escrow contract. Requires claimant wallet signature.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "escrowId": {
      "type": "string",
      "description": "The escrow deposit ID to refund"
    },
    "claimantAddress": {
      "type": "string",
      "description": "The 0x address eligible for the escrow refund"
    }
  },
  "required": [
    "escrowId",
    "claimantAddress"
  ]
}
🟢get_protocol_stats

Fetch live protocol metrics including total registered domains, active secondary marketplace listings, and cross-chain CCIP bridge health.

Esquema de entrada

{
  "type": "object",
  "properties": {}
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada19 herramientas
verificadoversión no registrada19 herramientas