区块链RPC服务

一个支持多区块链交互的RPC服务器,提供包括Solana、Ethereum、THORChain等多种区块链的账户查询、转账、交易等操作。

  • by amygdala-labs
  • TypeScript
  • 本地部署
  • 93 星标
  • 更新于
在 GitHub 查看 strangelove-ventures/web3-mcp

使用说明

Web3 MCP

一个模型上下文协议服务器,用于与多个区块链进行交互,包括Solana、以太坊、THORChain、XRP Ledger、TON(开放网络)、Cardano和UTXO链。该服务器为常见的区块链操作提供简单的RPC端点,允许通过环境变量与各种区块链进行安全交互。

特性

索拉纳运营:

  • 检查SOL账户余额
  • 获取详细的帐户信息
  • 在账户之间转移SOL
  • 查看SPL代币余额
  • 从私钥获取您的钱包地址
  • 使用Jupiter交换代币(所有Solana DEX的最优价格路由)

以太坊和EVM链运营:

  • 检查多个网络上的本机令牌余额
  • 检查ERC-20代币余额
  • 发送本机令牌(使用.env中的私钥)
  • 发送ERC-20令牌(使用.env中的私钥)
  • 批准ERC-20代币支出(使用.env中的私钥)

卡尔达诺运营:

  • 获取网络信息和统计数据
  • 检查地址余额和交易历史记录
  • 查看UTxO以获取地址
  • 探索权益池和委托信息
  • 获取本地资产的详细信息
  • 查看详细交易信息
  • 获取当前纪元的统计数据

THORChain操作:

  • 检查RUNE余额
  • 获取详细的池信息
  • 获取任何支持资产之间的掉期报价
  • 通过THORChain协议进行跨链交换

UTXO连锁经营:

  • 比特币(BTC)
    • 检查地址余额
    • 查看交易历史记录
    • 验证地址
    • 获取网络信息和费用
  • 莱特币(LTC)
    • 检查地址余额
    • 查看交易历史记录
    • 验证地址
    • 获取网络信息和费用
  • 狗狗币(DOGE)
    • 检查地址余额
    • 查看交易历史记录
    • 验证地址
    • 获取网络信息和费用
  • 比特币现金(BCH)
    • 检查地址余额
    • 查看交易历史记录
    • 验证地址
    • 获取网络信息和费用

XRP分类账操作:

  • 检查XRP账户余额
  • 查看交易历史记录
  • 验证XRP地址
  • 将XRP发送到其他地址
  • 获取当前XRP分类账信息
  • 检查代币余额
  • 为代币创建信任线

TON(开放网络)运营:

  • 获取TON账户余额
  • 查看交易历史记录
  • 验证TON地址
  • 将TON发送到另一个地址,并附上可选的备忘录/评论
  • 获取当前TON网络信息

支持的EVM网络:

  • 以太坊
  • 基础
  • 仲裁
  • 乐观主义
  • BSC(币安智能链)
  • 多边形
  • 雪崩
  • 贝拉钦

设置

  1. 克隆和安装依赖关系:
git clone https://github.com/strangelove-ventures/web3-mcp.git
cd web3-mcp
npm install
  1. 在根目录中创建.env文件:
cp .env.example .env
  1. 在.env中配置环境变量:

所需配置

# Tool Registration Controls
ENABLE_SOLANA_TOOLS=true      # Enable/disable Solana tools
ENABLE_ETHEREUM_TOOLS=true    # Enable/disable Ethereum and EVM chain tools
ENABLE_CARDANO_TOOLS=true     # Enable/disable Cardano tools

# UTXO Chain Tools
ENABLE_BITCOIN_TOOLS=true     # Enable/disable Bitcoin tools
ENABLE_LITECOIN_TOOLS=true    # Enable/disable Litecoin tools
ENABLE_DOGECOIN_TOOLS=true    # Enable/disable Dogecoin tools
ENABLE_BITCOINCASH_TOOLS=true # Enable/disable Bitcoin Cash tools
ENABLE_THORCHAIN_TOOLS=true   # Enable/disable THORChain tools
ENABLE_RIPPLE_TOOLS=true      # Enable/disable XRP Ledger tools
ENABLE_TON_TOOLS=true         # Enable/disable TON tools

# Private Keys (required for transactions)
ETH_PRIVATE_KEY=your-ethereum-private-key
SOLANA_PRIVATE_KEY=your-base58-encoded-solana-private-key

# XRP Ledger credentials (required for XRP transactions)
# Either private key or mnemonic is required
XRP_PRIVATE_KEY=your-xrp-private-key-in-hex
# OR
XRP_MNEMONIC=your-xrp-mnemonic-recovery-phrase
# Optional - used to verify the derived address
XRP_ADDRESS=your-xrp-account-address

# TON Configuration
TON_MNEMONIC=word1 word2 word3 ... word24  # 24-word recovery phrase for TON wallet
TON_ADDRESS=your-ton-wallet-address       # Your TON wallet address
TON_API_KEY=your-toncenter-api-key        # Get from @tonapibot on Telegram (optional but recommended)
TON_RPC_URL=https://toncenter.com/api/v2/jsonRPC  # Optional - default is TON Center API

# Cardano Configuration
BLOCKFROST_API_KEY=your-blockfrost-api-key  # Get a real API key from https://blockfrost.io/
CARDANO_NETWORK=mainnet     # or 'testnet', 'preview', 'preprod'
CARDANO_MNEMONIC=your-cardano-mnemonic-phrase   # Required for transaction signing
CARDANO_ACCOUNT_INDEX=0     # Optional - defaults to 0

可选配置

# Network RPC URLs (optional - will use public endpoints if not specified)
SOLANA_RPC_URL=https://api.mainnet-beta.solana.com

# Ethereum & Layer 2s
ETH_RPC_URL=https://eth-mainnet.g.alchemy.com/v2/your-api-key
ARBITRUM_RPC_URL=https://arb1.arbitrum.io/rpc
BASE_RPC_URL=https://mainnet.base.org
OPTIMISM_RPC_URL=https://mainnet.optimism.io

# Other EVM Chains
BSC_RPC_URL=https://bsc-dataseed.binance.org
POLYGON_RPC_URL=https://polygon-rpc.com
AVALANCHE_RPC_URL=https://api.avax.network/ext/bc/C/rpc
BERACHAIN_RPC_URL=https://rpc.berachain.com

# XRP Ledger
XRP_RPC_URL=https://xrplcluster.com/     # Optional - will use public endpoint if not specified

# TON Network
TON_RPC_URL=https://toncenter.com/api/v2/jsonRPC  # Optional - default is TON Center API
TON_API_KEY=your-toncenter-api-key        # Get from @tonapibot on Telegram (optional but recommended)

# THORChain Configuration
THORCHAIN_NODE_URL=https://thornode.ninerealms.com  # Optional - will use public endpoint if not specified
THORCHAIN_PRIVATE_KEY=your-thorchain-private-key
THORCHAIN_MNEMONIC=your-thorchain-mnemonic

# UTXO Chain API Keys (optional)
BLOCKCYPHER_API_KEY=your-blockcypher-api-key
SOCHAIN_API_KEY=your-sochain-api-key
  1. 构建工具:
npm run build
  1. 将该工具添加到claude_desktop_config.json中:
{
  "mcpServers": {
    "web3-rpc": {
      "command": "node",
      "args": [
        "/PATH/TO/web3-mcp/build/index.js"
      ]
    }
  }
}

工具注册

Web3 MCP服务器允许您通过环境变量控制注册哪些区块链工具:

  • ENABLE_SOLANA_TOOLS:启用/禁用Solana工具
  • ENABLE_ETHEREUM_TOOLS:启用/禁用以太坊和EVM链工具
  • ENABLE_BITCOIN_TOOLS:启用/禁用比特币工具
  • ENABLE_LITECOIN_TOOLS:启用/禁用Litecoin工具
  • ENABLE_DOGECOIN_TOOLS:启用/禁用狗狗币工具
  • ENABLE_BITCOINCASH_TOOLS:启用/禁用比特币现金工具
  • ENABLE_THORCHAIN_TOOLS:启用/禁用THORChain工具
  • ENABLE_RIPPLE_TOOLS:启用/禁用XRP分类账工具
  • ENABLE_CARDANO_TOOLS:启用/禁用Cardano工具
  • ENABLE_TON_TOOLS:启用/禁用TON工具

将这些变量设置为 true 或 false 在你的 .env 文件来控制服务器可用的工具。这使您能够:

  • 通过仅加载所需工具来减少启动时间
  • 通过禁用未使用的链来最小化安全表面积
  • 为特定用例定制服务器
  • 通过限制活动连接来控制资源使用

使用示例

询问Claude(或您选择的MCP客户):

Solana操作(当ENABLE_Solana_TOOLS=true时)

  • “我的Solana地址是什么?”-显示从.env中的私钥导出的地址
  • “62QXuWZ3WT6ws1ZFxJobVDVXn6bEsiYpLo5yG612U6u3的余额是多少?”
  • “将0.001 SOL传输到Cg6cVS4tjkxHthm3K9BHhmvqF7kSz8GnXqqYXnHBzGXd”
  • “显示我的SPL代币余额”
  • “将0.1 SOL兑换为USDC”(使用Jupiter进行最优价格路由)

EVM操作(启用_ETHEREUM_TOOLS=真时)

  • “0x556437c4d22ceeebf82006b85bdcc0ae67d933的ETH余额是多少?”
  • “检查以太坊上0x556437c4d22ceeebf82006b85bdcc0ae67d933的USDC余额”
  • “向0x556437c4d22ceeebf82006b85bdcc0ae67d933发送0.1 ETH”
  • “Arbitrum目前的天然气价格是多少?”
  • “向Polygon上的0x556437c4d22ceeebf82006b85bdcc0ae67d933发送100美元”

Cardano操作(当ENABLE_CARDAN_TOOLS=真时)

  • 获取任何Cardano的余额
  • 查看您的钱包信息
  • 将ADA发送到其他地址
  • 将本机令牌发送到另一个地址

比特币操作 (当 ENABLE_BITCOIN_TOOLS=true)

  • “1A1zP1eP5QDefi2DMPTfTL5SLmv7DivfNa的BTC余额是多少?”
  • “显示bc1qxy2kgdygjrsqtzq2n0yrf2493p83kkfjhx0wlh的交易历史记录”
  • “验证此比特币地址:1A1zP1eP5QDefi2DMPTfTL5SLmv7DivfNa”

莱特币操作(启用_Litecoin_TOOLS=真时)

  • “LM2WMpR1Rp6j3Sa59cMXMs1SPzj9eXpGc1的LTC余额是多少?”
  • “显示此莱特币地址的交易历史记录”
  • “目前的莱特币网络费用是多少?”

狗狗币操作(当ENABLE_Dogecoin_TOOLS=true时)

  • “检查此DOGE地址平衡:D8vFz4p1L37jdg47HXKtSHA5uYLYxbGgPD”
  • “显示狗狗币最近的交易记录”
  • “目前的DOGE网络费用是多少?”

比特币现金交易 (当 ENABLE_BITCOINCASH_TOOLS=true)

  • “这个地址的BCH余额是多少?”
  • “显示BCH交易历史记录”
  • “验证此比特币现金地址”

THORChain操作(启用_THORChain_TOOLS=真时)

  • “thor13zpdczczd0jvyhwxmrwnpap8gmy9m5kk2gzum3的RUNE平衡是多少?”
  • “显示BTC.BTC的池信息”
  • “获取0.1 BTC.BTC到ETH.ETH的掉期报价”

XRP分类账操作(当ENABLE_RIPPLE_TOOLS=true时)

  • “rPT1Sjq2YGrBMTttX4GZHjKu9dyfzbpAYe的XRP余额是多少?”
  • “显示rPT1Sjq2YGrBMTttX4GZHjKu9dyfzbpAYe的交易历史记录”
  • “rPT1Sjq2YGrBMTttX4GZHjKu9dyfzbpAYe是有效的XRP地址吗?”
  • “向rPT1Sjq2YGrBMTttX4GZHjKu9dyfzbpAYe发送10个XRP”
  • “当前的XRP分类账信息是什么?”
  • “显示rPT1Sjq2YGrBMTttX4GZHjKu9dyfzbpAYe的令牌余额”
  • “与发卡行rPT1Sjq2YGrBMTttX4GZHjKu9dyfzbpAYe建立美元信托额度,限额为1000”

TON操作(当ENABLE_TON_TOOLS=true时)

  • “EQAAFhjXzKuQ5N0c96nsdZQWATcJm909LYSaCAvWFQF8tvUZ的TON平衡是多少?”
  • “显示EQAAFhjXzKuQ5N0c96nsdZQWATcJm909LYSaCAvWFQF8tvUZ的交易历史记录”
  • “UQD0BRQt-QdIEbsjuRsMqzDlBkUAEfQixShDECoKEOXRc4eR是有效的TON地址吗?”
  • “向EQAAFhjXzKuQ5N0c96nsdZQWATcJm909LYSaCAvWFQF8tvUZ发送0.1吨”
  • “向UQD0BRQt-QDIEbsjuRsMqzDlBkUAEfQixShedecoKEOXRc4eR发送0.01吨,并注明‘测试付款’”
  • “TON Network的当前信息是什么?”

安全说明

  1. 环境变量:所有私钥都存储在.env文件中,从不在对话历史中公开
  2. 私钥:仅在包含少量资金的测试钱包中使用此功能
  3. RPC端点:可以在.env文件中配置自定义RPC终结点,以获得更好的可靠性和速率限制
  4. .env安全:git会自动忽略.env文件,以防止私钥意外暴露
  5. 工具注册:使用工具注册控件,通过仅启用所需的链来最小化安全表面积

高级配置

自定义RPC端点

您可以在.env文件中配置自定义RPC终结点,以获得更好的可靠性和更高的速率限制。如果未指定,该工具将回退到公共RPC终结点。

网络选择

对于EVM操作,您可以按名称指定网络(以太坊、base、arbitrum、乐观主义、bsc、多边形、雪崩、berachain)。该工具将自动使用适当的RPC端点和网络配置。

卡达诺配置

该工具使用Blockfrost API和Lucid库与Cardano区块链进行交互。

  • BLOCKFROST_API_KEY:必需-您的Blockfrost API密钥(在https://blockfrost.io/)
  • CARDANO_NETWORK:可选-要使用的Cardano网络(主网、测试网、预览、预印本)。默认为“主网”
  • CARDANO_MNEMONIC:交易所需-Cardano钱包的助记符短语(15或24个单词)
  • CARDANO_ACCOUNT_INDEX:可选-要使用的帐户索引(默认为0)

从您的助记符中提取的钱包将用于签署和发送交易。

Thorchain配置

默认情况下,该工具使用Nine Realms公共端点,但您可以在.env文件中配置自定义THORChain节点URL,以获得更好的可靠性和速率限制。

XRP分类账配置

该工具可以使用私钥或助记短语进行XRP交易。在.env文件中配置这些:

  • XRP_PRIVATE_KEY:十六进制格式的XRP私钥
  • XRP_MNEMONIC:私钥的替代方案-您的12字恢复短语
  • XRP_ADDRESS:可选-您的XRP账户地址(用于验证派生地址)
  • XRP_RPC_URL:可选-自定义XRP分类账节点URL(默认为公共端点)

TON配置

该工具默认使用TON Center的API,并且需要TON事务的助记符短语。在.env文件中配置这些:

  • TON_MNEMONIC:必填-TON钱包的24字恢复短语
  • TON_ADDRESS:必填-您的TON钱包地址
  • TON_API_KEY:推荐-来自Telegram上@tonapibot的API密钥(用于更高的费率限制)
  • TON_RPC_URL:可选-自定义TON RPC URL(默认为TON Center API)

该实现包括具有指数回退的自动重试逻辑,用于速率限制处理。

UTXO链数据提供商

该工具为UTXO链使用了多个数据提供者:

  • BlockCypher
  • SoChain
  • Haskoin(比特币现金)

您可以在.env文件中为这些提供程序配置API密钥,以获得更好的速率限制。

发展

要修改或扩展该工具,请执行以下操作:

  1. 源代码在 src 目录
  2. 链中的特定代码 src/chains
  3. 跑 npm run build 更改后
  4. 对所有新代码使用TypeScript

贡献

欢迎投稿!请提交带有任何改进或错误修复的pull请求。

许可证

ISC许可证