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,122token 数(工具定义)
~872 B典型响应大小
对注意力有中等影响(占 128k 上下文窗口的 1.66%)

这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。

安装

一键安装

将以下内容添加到你的 `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 个工具