Web3 MCP Server

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Allows checking address balances, viewing transaction history, validating addresses, and getting network info and fees for Bitcoin.

  • Enables checking address balances, viewing transaction history, validating addresses, and getting network info and fees for Bitcoin Cash.

  • Provides network information, address balances, transaction history, UTxO viewing, stake pool exploration, native asset details, transaction details, and current epoch statistics for Cardano blockchain.

Web3 MCP

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

特征

Solana 运营:

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

以太坊和 EVM 链操作:

  • 检查多个网络的原生代币余额
  • 检查 ERC-20 代币余额
  • 发送原生代币(使用来自 .env 的私钥)
  • 发送 ERC-20 代币(使用 .env 中的私钥)
  • 批准 ERC-20 代币支出(使用 .env 中的私钥)

Cardano 运营:

  • 获取网络信息和统计数据
  • 检查地址余额和交易历史记录
  • 查看地址的 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 :启用/禁用莱特币工具
  • ENABLE_DOGECOIN_TOOLS :启用/禁用狗狗币工具
  • ENABLE_BITCOINCASH_TOOLS :启用/禁用比特币现金工具
  • ENABLE_THORCHAIN_TOOLS :启用/禁用 THORChain 工具
  • ENABLE_RIPPLE_TOOLS :启用/禁用 XRP 账本工具
  • ENABLE_CARDANO_TOOLS :启用/禁用 Cardano 工具
  • ENABLE_TON_TOOLS :启用/禁用 TON 工具

.env文件中将这些变量设置为truefalse ,以控制服务器可用的工具。这允许您:

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

使用示例

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

Solana 操作(当 ENABLE_SOLANA_TOOLS=true 时)

  • “我的 Solana 地址是什么?” - 显示从 .env 中的私钥派生的地址
  • “62QXuWZ3WT6ws1ZFxJobVDVXn6bEsiYpLo5yG612U6u3 的余额是多少?”
  • “将 0.001 SOL 转移到 Cg6cVS4tjkxHthm3K9BHhmvqF7kSz8GnXqqYXnHBzGXd”
  • “显示我的 SPL 代币余额”
  • “将 0.1 SOL 兑换为 USDC”(使用 Jupiter 实现最佳价格路由)

EVM 操作(当 ENABLE_ETHEREUM_TOOLS=true 时)

  • “0x556437c4d22ceaeeebf82006b85bdcc0ae67d933 的 ETH 余额是多少?”
  • “检查以太坊上 0x556437c4d22ceaeeebf82006b85bdcc0ae67d933 的 USDC 余额”
  • “发送 0.1 ETH 到 0x556437c4d22ceaeeebf82006b85bdcc0ae67d933”
  • “Arbitrum 上当前的 gas 价格是多少?”
  • “将 100 USDC 发送至 Polygon 上的 0x556437c4d22ceaeeebf82006b85bdcc0ae67d933”

Cardano 操作(当 ENABLE_CARDANO_TOOLS=true 时)

  • 获取任意 Cardano 的余额
  • 查看您的钱包信息
  • 将 ADA 发送到另一个地址
  • 将原生代币发送到另一个地址

比特币操作(当 ENABLE_BITCOIN_TOOLS=true 时)

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

莱特币操作(当 ENABLE_LITECOIN_TOOLS=true 时)

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

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

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

比特币现金操作(当 ENABLE_BITCOINCASH_TOOLS=true 时)

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

THORChain 操作(当 ENABLE_THORCHAIN_TOOLS=true 时)

  • “thor13zpdckczd0jvyhwxmrwnpap8gmy9m5kk2gzum3 的符文余额是多少?”
  • “显示 BTC.BTC 的矿池信息”
  • “获取 0.1 BTC.BTC 至 ETH.ETH 的掉期报价”

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

  • “rPT1Sjq2YGrBMTttX4GZHjKu9dyfzbpAYe 的 XRP 余额是多少?”
  • “显示 rPT1Sjq2YGrBMTttX4GZHjKu9dyfzbpAYe 的交易历史记录”
  • “rPT1Sjq2YGrBMTttX4GZHjKu9dyfzbpAYe 是有效的 XRP 地址吗?”
  • “向 rPT1Sjq2YGrBMTttX4GZHjKu9dyfzbpAYe 发送 10 XRP”
  • “当前的 XRP 分类账信息是什么?”
  • “显示 rPT1Sjq2YGrBMTttX4GZHjKu9dyfzbpAYe 的代币余额”
  • “创建一条 USD 信任线,发行人为 rPT1Sjq2YGrBMTttX4GZHjKu9dyfzbpAYe,限额为 1000”

TON 操作(当 ENABLE_TON_TOOLS=true 时)

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

安全说明

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

高级配置

自定义 RPC 端点

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

网络选择

对于 EVM 操作,您可以按名称指定网络(例如 ethereum、base、arbitrum、optimism、bsc、polygon、avalanche、berachain)。该工具将自动使用相应的 RPC 端点和网络配置。

Cardano 配置

该工具使用 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 链数据提供商:

  • 区块密码
  • SoChain
  • Haskoin(比特币现金)

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

发展

要修改或扩展该工具:

  1. 源代码位于src目录中
  2. src/chains中的链特定代码
  3. 进行更改后运行npm run build
  4. 所有新代码均使用 TypeScript

贡献

欢迎贡献代码!如有任何改进或错误修复,请提交 PR。

执照

ISC 许可证

ID: an8x6gmzdn