MCP server: One MCP server.

Doti Protocol (.i) MCP Server

@robdomainMCP server · External

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

Freeno charge per call

One address for any MCP client. No sign-in needed on this server.

What it does

8 read9 act2 other

Grouped by tool name. At most: moves money, runs code or commands, deletes data, or sends messages for you.

What it costs

Free

Odel charges nothing per call. The publisher may charge for its own service.

Tools

19 · grouped by tool name · checked 12 Oct 2026

Read · 8Look things up

  • check_domain_availability
  • resolve_domain_identity
  • get_supported_chains
  • estimate_registration
  • marketplace_browse_listings
  • marketplace_get_domain_details
  • marketplace_list_domain
  • get_protocol_stats

Act · 9Change something

  • set_primary_domain
  • update_domain_profile
  • register_domain
  • marketplace_buy_domain
  • marketplace_accept_offer
  • marketplace_cancel_listing
  • marketplace_cancel_offer
  • transfer_domain
  • claim_escrow_refund

Other · 2Neither hinted nor named

  • marketplace_make_offer
  • bridge_domain
Try it in the Inspector
README3 min read

Doti Protocol (.i) — Universal MCP Server & Agent Skill

Model Context Protocol Universal Compatibility Arbitrum One Chainlink CCIP Chains

Sovereign Web3 Identity (.i) and Multi-Chain Domain Name Service across Arbitrum One, OP Mainnet, Ethereum Mainnet, and Robinhood Chain with Chainlink CCIP.

This repository implements the open Model Context Protocol (MCP) specification. It works with ANY AI platform, IDE, agent framework, or client supporting MCP or JSON-RPC 2.0.


🌐 Live MCP Endpoints

Connect any MCP client or AI agent directly to the cloud server:

  • Production MCP Endpoint:
    https://doti.my/api/ai/mcp
    
  • Alias Endpoint:
    https://doti.my/api/mcp
    
  • Protocol Transport: HTTP JSON-RPC 2.0 & Server-Sent Events (SSE)

⛓️ Supported Networks

NetworkChain IDRoleCCIP SelectorCanonical ContractEscrow Contract
Arbitrum One42161Authority Anchor49490391076943596200xf853F8243F10a57CF5e43A49F156F132c05C21a60xBf342bDf2dcB6dcD21c8b104Bc8Ce950dc9EB632
OP Mainnet10Satellite (Mirrored)37344032461760621360xf853F8243F10a57CF5e43A49F156F132c05C21a60xBf342bDf2dcB6dcD21c8b104Bc8Ce950dc9EB632
Ethereum Mainnet1Satellite (Mirrored)50092975507151572690xf853F8243F10a57CF5e43A49F156F132c05C21a60xBf342bDf2dcB6dcD21c8b104Bc8Ce950dc9EB632
Robinhood Chain4663Satellite (Mirrored)61807530543468183450xf853F8243F10a57CF5e43A49F156F132c05C21a60xBf342bDf2dcB6dcD21c8b104Bc8Ce950dc9EB632

🚀 Universal Client Setup

1. Claude Desktop

Add to your claude_desktop_config.json:

json
{
  "mcpServers": {
    "doti": {
      "type": "http",
      "url": "https://doti.my/api/ai/mcp"
    }
  }
}

2. Cursor IDE & Windsurf

Add to your .cursor/mcp.json or project MCP settings:

json
{
  "mcpServers": {
    "doti": {
      "type": "http",
      "url": "https://doti.my/api/ai/mcp"
    }
  }
}

3. Python & LangChain / LangGraph

python
import httpx

payload = {
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {
        "name": "check_domain_availability",
        "arguments": {"domainName": "agent.i"}
    }
}
response = httpx.post("https://doti.my/api/ai/mcp", json=payload)
print(response.json()["result"]["content"][0]["text"])

4. Direct cURL / REST API

bash
curl -X POST https://doti.my/api/ai/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"resolve_domain_identity","arguments":{"identifier":"genesis.i"}}}'

5. Optional Community Registries

This server conforms to standard remote MCP specifications and can be registered on any directory (Glama, Smithery, OpenMCP, or Pulse) using the remote URL https://doti.my/api/ai/mcp.


🛠️ Complete Tools Catalog (19 MCP Tools)

CategoryTool NameDescription
Identitycheck_domain_availabilityCheck if a .i name is available for permanent registration.
Identityresolve_domain_identityForward & reverse lookup for any .i domain or 0x address.
Identityset_primary_domainSet default reverse domain for a wallet address.
Identityupdate_domain_profileUpdate profile metadata, social links, and IPFS avatar CID.
Identitytransfer_domainTransfer sovereign ownership to another 0x address.
Multi-Chainget_supported_chainsRetrieve configuration for Arbitrum, OP, Ethereum, Robinhood.
Multi-Chainestimate_registrationCalculate registration quote and CCIP message fees.
Multi-Chainbridge_domainTeleport domain across the 4 networks using Chainlink CCIP.
Multi-Chainget_protocol_statsLive on-chain metrics, registered domains, and volume.
Registrationregister_domainMint or prepare payload for permanent .i registration.
Registrationclaim_escrow_refundClaim refund from escrow (collisions or expired bridge).
Marketplacemarketplace_browse_listingsBrowse active domains listed on the secondary market.
Marketplacemarketplace_get_domain_detailsView listing details, floor, bids, and sale history.
Marketplacemarketplace_list_domainList an owned domain for sale at a fixed price in ETH.
Marketplacemarketplace_buy_domainInstantly buy a listed domain using ETH.
Marketplacemarketplace_make_offerSubmit an ETH offer on any registered domain.
Marketplacemarketplace_accept_offerAccept a buyer's offer with atomic swap settlement.
Marketplacemarketplace_cancel_listingDelist an owned domain from the marketplace.
Marketplacemarketplace_cancel_offerCancel an active offer and release non-custodial lock.

Similar modules

Browse Domain names