Doti Protocol (.i) MCP Server

io.github.robdomainPublished by GitHub account robdomainv1.0.0Updated Nov 2, 2026

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

The publisher's own server: Otto

VerifiedStreamable HTTPWeb executableFinanceDeveloper ToolsBusiness & Commerce

Overview

AI-generated overview

Remote MCP server for Doti Protocol .i Web3 domains: check, resolve, register, trade and bridge sovereign identities across four EVM chains.

What you can do
  • Check availability and resolve .i domains or 0x addresses to identity, owner, metadata and social links
  • Look up supported chains, network specs and estimate registration and CCIP bridging fees
  • Prepare unsigned transactions to register, set a primary domain, update profiles, transfer or bridge a domain
  • Browse the secondary marketplace, inspect listings, prices and offers, and prepare list, buy, offer, accept and cancel transactions
  • Prepare escrow refund claims and fetch live protocol statistics
When to use it
Useful when an assistant needs to look up or manage .i Web3 identities and domains, quote registration or bridging costs, or draft marketplace and ownership transactions for a user to sign in their own wallet.
Requirements
A remote MCP endpoint over HTTP JSON-RPC and SSE; no local package, account, API key or environment variable is declared. A user wallet is needed to sign the unsigned transaction payloads the write tools return, and the wallet must hold ETH for fees and purchases.
Before you install
Write tools only return unsigned calldata, but they cover spending ETH: registration, buying, offers, listing, transferring and bridging domains. Review every payload in the wallet before signing, since signing is irreversible and moves ownership or funds. Requests go to a third-party hosted endpoint.

Installation

In SourceWeft

  1. Open Doti Protocol (.i) MCP Server in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.robdomain%2Fdoti-mcp/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

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

README

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.

Source: README.md at commit 16a2add

Tools

19

check_domain_availability

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

ParametersdomainNamerequired

resolve_domain_identity

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

ParameterschainIdidentifierrequired

get_supported_chains

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

Takes no parameters.

estimate_registration

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

ParametersdomainNamerequiredtargetChainId

set_primary_domain

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.

ParametersdomainNamerequiredownerAddressrequired

update_domain_profile

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.

ParametersimageModedomainNamerequiredwebsiteUrlsocialLinksownerAddressrequiredprofileImageCid

marketplace_browse_listings

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

Parameterslimit

marketplace_get_domain_details

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

ParametersdomainNamerequired

register_domain

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.

ParametersdomainNamerequiredtargetChainIdrecipientAddressrequired

marketplace_list_domain

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

ParametersdomainNamerequiredpriceInEthrequireddurationDayssellerAddressrequired

marketplace_buy_domain

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

ParametersdomainNamerequiredpriceInEthbuyerAddressrequired

marketplace_make_offer

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

ParametersdomainNamerequiredbuyerAddressrequireddurationDaysofferPriceInEthrequired

marketplace_accept_offer

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

ParametersdomainNamerequiredbuyerAddressrequiredsellerAddressrequired

marketplace_cancel_listing

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

ParametersdomainNamerequiredsellerAddressrequired

marketplace_cancel_offer

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

ParametersdomainNamerequiredbuyerAddressrequired

transfer_domain

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.

ParametersnewOwnerrequireddomainNamerequiredcurrentOwnerrequired

bridge_domain

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

ParametersdomainNamerequiredownerAddressrequireddestinationChainIdrequired

claim_escrow_refund

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

ParametersescrowIdrequiredclaimantAddressrequired

get_protocol_stats

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

Takes no parameters.

Version history

1
  1. v1.0.0LatestSep 16, 2026

Score

90% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

    Declare a license in the repository or the registry entry.

Other Doti integrations