Doti Protocol (.i) MCP Server

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

使うべきか

品質と安全性

A
説明の品質
96%
スキーマの完全性
92%
命名の品質
85%
ポイズニングのリスク
100%
権限の一致
100%
プロトコルへの準拠
100%

ツール定義とプロトコルへの準拠に関する自動分析に基づいています。

コンテキストコスト

~2,122トークン数(ツール定義)
~872 B一般的なレスポンスサイズ
注意への影響は中程度(128k コンテキストの 1.66%)

これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。

インストール

ワンクリックインストール

これを `claude_desktop_config.json` ファイルに追加してください:

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

リモートエンドポイント

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

できること

ツール一覧

ツール(19)

🟢 読み取り専用🟡 書き込み🔴 削除⚪ 不明
🟢check_domain_availability(domainName)

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

入力スキーマ

{
  "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.

入力スキーマ

{
  "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.

入力スキーマ

{
  "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.

入力スキーマ

{
  "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.

入力スキーマ

{
  "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.

入力スキーマ

{
  "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.

入力スキーマ

{
  "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.

入力スキーマ

{
  "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.

入力スキーマ

{
  "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.

入力スキーマ

{
  "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.

入力スキーマ

{
  "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.

入力スキーマ

{
  "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.

入力スキーマ

{
  "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.

入力スキーマ

{
  "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.

入力スキーマ

{
  "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.

入力スキーマ

{
  "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.

入力スキーマ

{
  "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.

入力スキーマ

{
  "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.

入力スキーマ

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

コミュニティ

このサーバーを評価する

エビデンス

最近の観測

検証済みバージョンは記録されていませんツール 19 件
検証済みバージョンは記録されていませんツール 19 件