MCP分类账服务器
一个全面的模型上下文协议(MCP)服务器,用于将安全的Ledger硬件钱包与以太坊区块链操作集成。构建可以使用硬件级安全性与您的加密资产安全交互的AI代理。
🚀 特性
🔒 硬件钱包安全
- ✅ Ledger硬件钱包与最新的@ledgerhq库集成
- ✅ 私钥永远不会离开您的设备-所有签名都发生在硬件上
- ✅ 设备屏幕上需要交易确认
- ✅ BIP32衍生路径的多账户支持
⛓️ 多网络支持
- ✅ 6个网络:以太坊、Polygon、Arbitrum、乐观主义、Base、Sepolia
- ✅ 通过Alchemy API集成增强RPC
- ✅ 自动回退到公共端点
- ✅ EIP-1559交易支持,支持动态天然气定价
🪙 完整的资产管理
- ✅ 所有网络上的实时ETH余额
- ✅ 通过Dune Sim API发现和平衡ERC20代币
- ✅ ERC721/ERC1155 NFT跟踪和传输
- ✅ 令牌审批管理(批准/撤销/修改)
- ✅ 美元定价和投资组合估值
🤖 AI代理就绪
- ✅ 14个MCP工具 用于完整的区块链操作
- ✅ 一个命令便利功能(发送ETH、转移代币等)
- ✅ 自动气体估算的交易制作
- ✅ 使用以太坊(SIWE)登录的消息签名
- ✅ 实时气体分析和优化
📋 可用工具
🔍 钱包和余额工具
| 工具 | 说明 | 示例使用 |
|---|---|---|
get_ledger_address | 从Ledger获取以太坊地址 | 获取您的钱包地址 |
get_balance | 获取任意地址的ETH余额 | 查看账户余额 |
get_token_balances | 获取ERC20代币余额 | 查看您的代币组合 |
get_nft_balances | 获取NFT收款余额 | 查看您的NFT持有量 |
⚡ 交易工具
| 工具 | 说明 | 示例使用 |
|---|---|---|
craft_transaction | 创建未签名的交易 | 准备复杂的合约调用 |
sign_transaction | 使用分类账设备签名 | 对准备好的交易进行签名 |
sign_message | 签署消息(SIWE) | 使用dApps进行身份验证 |
broadcast_transaction | 将已签名的交易发送到网络 | 提交交易 |
🎯 便利工具(一键操作)
| 工具 | 说明 | 示例使用 |
|---|---|---|
send_eth | 发送ETH(工艺→sign→广播) | 向朋友发送ETH |
send_erc20_token | 发送代币(工艺品→sign→广播) | 发送USDC付款 |
send_erc721_token | 发送NFT(飞行器→sign→广播) | 传输NFT |
manage_token_approval | 管理批准(工艺→sign→广播) | 批准DEX支出 |
🛠️ 开发者工具
| 工具 | 说明 | 示例使用 |
|---|---|---|
get_contract_abi | 获取经过验证的合同ABI | 与合同交互 |
analyze_gas | 天然气价格分析与优化 | 优化交易成本 |
🚀 快速开始
1. 再进行
# Clone and install
git clone
cd mcp-ledger
npm install
npm run build2. 获取API密钥
🔑 必需:Dune Sim API
# Get your free API key at: https://sim.dune.com
# Required for token/NFT discovery across 60+ chains
DUNE_SIM_API_KEY=your_dune_sim_api_key_here📊 可选:性能API
# Alchemy (recommended) - Enhanced RPC performance
# Get key at: https://alchemy.com (2M+ requests/month free)
ALCHEMY_API_KEY=your_alchemy_api_key_here
# Etherscan (optional) - Contract verification
# Get key at: https://etherscan.io/apis (100k requests/day free)
ETHERSCAN_API_KEY=your_etherscan_api_key_here3. 配置环境
# Copy template and add your keys
cp .env.example .env
# Edit .env with your API keys4. 连接您的分类账
- 🔌 连接 通过USB连接的分类账设备
- 🔓 解锁 带PIN的设备
- 📱 打开 以太坊应用程序
- ⚙️ 启用 以太坊应用程序设置中的“盲签名”
5. 测试连接
# Test basic connection
node test-ledger-connection.js
# Test MCP server
npm start
# In another terminal:
node test-server.cjs🖥️ 与AI工具集成
🚀 克劳德代码(推荐)
使用MCP Ledger和Claude Code的最简单方法:
# Add MCP Ledger server to your current project
claude mcp add ledger --env DUNE_SIM_API_KEY=your_key_here -- node /absolute/path/to/mcp-ledger/dist/index.js
# Or add with all environment variables
claude mcp add ledger \
--env DUNE_SIM_API_KEY=your_dune_key \
--env ALCHEMY_API_KEY=your_alchemy_key \
--env ETHERSCAN_API_KEY=your_etherscan_key \
-- node /absolute/path/to/mcp-ledger/dist/index.js
# Check server status
claude mcp list
/mcp
# Remove server if needed
claude mcp remove ledger配置范围:
--scope local-私有到当前项目(默认)--scope project-通过共享.mcp.json(团队访问)--scope user-适用于您的所有项目
🖥️ 克劳德桌面 (macOS/Windows)
- 打开克劳德桌面设置
- 增添
claude_desktop_config.json:
{
"mcpServers": {
"mcp-ledger": {
"command": "node",
"args": ["/absolute/path/to/mcp-ledger/dist/index.js"],
"env": {
"DUNE_SIM_API_KEY": "your_dune_key_here",
"ALCHEMY_API_KEY": "your_alchemy_key_here",
"ETHERSCAN_API_KEY": "your_etherscan_key_here"
}
}
}
}✅ 验证集成
安装后,验证服务器是否正常工作:
# In Claude Code
/mcp
# Should show:
✅ ledger: Connected (22 tools available)
- 14 Ethereum tools + 8 Solana tools
- Networks: mainnet, polygon, arbitrum, optimism, base, sepolia, solana-mainnet, solana-devnet, solana-testnet可用工具:
get_ledger_address,get_balance,get_token_balances,get_nft_balances,craft_transaction,get_contract_abi,sign_transaction,sign_message,broadcast_transaction,send_eth,send_erc20_token,send_erc721_token,manage_token_approval,analyze_gas
光标IDE
- 打开光标设置→ 扩展→ MCP
- 添加服务器配置:
{
"name": "mcp-ledger",
"command": "node",
"args": ["/path/to/mcp-ledger/dist/index.js"],
"env": {
"DUNE_SIM_API_KEY": "your_key_here"
}
}带有MCP扩展的VS代码
- 安装MCP扩展
- 添加到MCP设置:
{
"mcp.servers": {
"ledger": {
"command": "node",
"args": ["/absolute/path/to/mcp-ledger/dist/index.js"],
"env": {
"DUNE_SIM_API_KEY": "your_key_here"
}
}
}
}其他MCP兼容工具
使用此通用配置模式:
- 命令:
node - 参数:
["/path/to/mcp-ledger/dist/index.js"] - 运输:stdio
- 环境:添加API密钥
💡 使用示例
检查您的投资组合
Show me my ETH balance and top 5 token holdings on mainnet发送付款
Send 0.1 ETH to 0x742d35Cc6631C0532925a3b8D0c7e89e5a3A5d34 on mainnet转移代币
Send 100 USDC to my friend at 0x... on polygon network管理审批(以太坊)
Revoke all token approvals for Uniswap router on mainnet气体优化
Analyze current gas prices on mainnet and recommend optimal settings for an ERC20 transferNFT操作(以太坊)
Transfer my CryptoPunk #1234 to 0x... and show me the transaction details🔧 高级配置
自定义网络
在中添加自定义RPC终结点 .env:
# Custom RPC URLs (optional)
MAINNET_RPC_URL=https://your-custom-rpc.com
POLYGON_RPC_URL=https://polygon-custom.com发展模式
# Run in development with hot reload
npm run dev
# Run comprehensive tests
npm run test:all
# Test with real hardware (Ledger required)
npm run test:hardware性能调整
# Adjust cache and timeout settings
REQUEST_TIMEOUT=60000 # 60 second timeout
CACHE_TTL=600 # 10 minute cache🚫 没有必需的API
⚠️ 重要:没有 DUNE_SIM_API_KEY:
- ❌ 令牌发现不起作用
- ❌ NFT发现不起作用
- ✅ 只有基本的ETH操作可用
- ✅ 账簿签名仍然有效
- ✅ 定制交易制作工作
🔧 故障排除
常见问题
MCP服务器未连接:
# Check if server is properly built
npm run build
# Test server directly
node dist/index.js
# Verify in Claude Code
/mcp
claude mcp list分类账设备问题:
- 🔌 确保设备通过USB连接
- 🔓 设备已用PIN解锁
- 📱 正确的应用程序已打开(以太坊或Solana)
- ⚙️ 以太坊应用程序中启用了“盲签名”
- 📡 没有其他应用程序使用该设备
环境变量:
# Check your environment file
cat .env
# Verify paths are absolute
which node # Use this path in configurations
pwd # Current directory for absolute paths网络问题:
- 使用Alchemy API密钥以获得更好的可靠性
- 考虑将QuickNode用于生产
- 检查出站连接的防火墙设置
🏗️ 建筑
核心技术
- TypeScript -全型安全,配置严格
- 我知道 -用于区块链交互的现代以太坊库
- Ledger SDK -官方硬件钱包集成
- MCP-SDK -模型上下文协议合规性
- 萨德 -运行时模式验证
服务体系结构
- 🔄 服务编排器 -协调所有多链操作
- 🔐 LedgerService -硬件钱包通信(以太坊+Solana)
- ⛓️ 区块链服务 -以太坊多网络RPC管理
- 🌟 Solana区块链服务 -Solana多网络RPC管理
- 🏗️ 交易工匠 -智能以太坊交易大楼
- 🌟 Solana交易工匠 -智能Solana交易大楼
- 🔍 BlockscoutClient -合约验证和ABI(以太坊)
安全模型
🔒 硬件安全:
- ✅ 私钥永远不会离开Ledger设备
- ✅ 所有交易都需要在设备屏幕上进行物理确认
- ✅ BIP32分层确定性密钥推导
- ✅ 全面的输入验证和净化
🛡️ 软件安全:
- ✅ 对所有输入进行Zod模式验证
- ✅ 多层错误处理
- ✅ 通过stdio传输进行进程隔离
- ✅ 本地使用无需身份验证
📊 网络状态验证
启动服务器时,您将看到配置状态:
✅ 最佳设置:
✅ Dune Sim API configured for reliable token discovery
✅ Enhanced RPC provider configured (Alchemy)
✅ Contract verification API configured (Etherscan)
✅ Ledger device connected successfully⚠️ 有限设置:
❌ DUNE_SIM_API_KEY is required for token discovery functionality
⚠️ No enhanced RPC provider configured. Using public endpoints.
⚠️ Ledger device not connected (can be connected later)🤝 贡献
基于现代TypeScript实践构建:
- 🧪 综合测试套件(单元、集成、e2e、硬件)
- 📏 ESLint + TypeScript 严格模式
- 🔄 自动化CI/CD流水线
- 📖 API完整文档
📄 许可证
MIT许可证-请参阅 许可证 文件以获取详细信息。
______________________________________________________________________
🔒 确保您的加密货币安全:此工具通过将您的私钥保存在硬件上来增强安全性,同时使您的加密资产能够进行强大的人工智能交互。
内置于❤️ 靠近 Dennison Bertram
