链上MCP服务器
一个全面的模型上下文协议(MCP)服务器,提供跨多个区块链网络查询链上数据的工具。该服务器支持12个以上的区块链网络,并为ETH余额、ERC20代币余额、NFT余额、交易分析和合同审计提供工具。
特性
🔗 多链支持
- 以太坊 (主网,Sepolia)
- 多边形
- 仲裁
- 乐观主义
- BSC(币安智能链)
- 雪崩
- 基础
- 滚动
- 爆炸
- 超流动
- 等离子体
🛠️ 可用工具
- ETH余额工具 -获取本地代币余额
- ERC20平衡工具 -代币余额查询
- NFT平衡工具 -ERC721/ERC1155 NFT余额
- 交易提取器 -使用ERC-20传输检测进行详细的交易分析
- 日志查询工具 -事件日志分析
- 令牌元数据工具 -令牌信息和元数据
- 合同审计工具 -全面的合同分析和安全审计
📋 可用提示
- 合同安全审计 -基于人工智能的安全分析
- 快速分析 -快速合同概述
- 深度分析 -全面合同审查
安装
- 克隆存储库
git clone https://github.com/0xGval/onchain-mcp.git
cd onchain-mcp- 创建虚拟环境
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate- 安装依赖项
pip install -r requirements.txt- 配置API密钥
cp config_example.py config.py
# Edit config.py with your API keys配置
必需的API密钥
- Alchemy API密钥 -对于RPC端点
- Etherscan API密钥 -用于合同验证和源代码
环境变量
将API键设置为环境变量:
export ETHERSCAN_API_KEY="your_etherscan_api_key"或者直接将它们添加到 config.py:
"etherscan_api_key": "your_etherscan_api_key"用法
运行服务器
python server.py与Claude Desktop一起使用
要将此MCP服务器与Claude Desktop一起使用,您需要在Claude Desktop设置中对其进行配置:
- 打开克劳德桌面设置
- 转到“开发人员”选项卡
- 添加新的MCP服务器 使用这些设置:
{
"mcpServers": {
"onchain-mcp": {
"command": "python",
"args": ["path/to/your/onchain-mcp/server.py"],
"env": {
"ETHERSCAN_API_KEY": "your_etherscan_api_key"
}
}
}
}- 替换路径 使用您的实际server.py位置
- 添加API密钥 环境变量
- 重新启动克劳德桌面
与其他MCP客户端一起使用
服务器提供的工具可以与MCP兼容的客户端(如Cursor)或其他MCP客户端一起使用。服务器通过MCP协议公开这些工具。
如何与Claude一起使用工具
配置后,您可以在与Claude的对话中直接使用这些工具:
示例提示:
- “获取地址0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045的ETH余额”
- “检查此地址的USDC余额:0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045”
- “分析此交易:0xe3769f745ff477de5853b7410e62d8c0c32ae4f87982928432562dfabe6440eb”
- “审核此合同:0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48”
- “获取此令牌的元数据:0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48”
可用命令:
eth_balance_tool-检查ETH余额erc20_balance_tool-检查代币余额nft_balance_tool-检查NFT持有量tx_get_tool-分析交易contract_audit_tool-审核智能合约token_metadata_tool-获取令牌信息logs_tool-查询区块链事件
克劳德桌面故障排除
常见问题:
- 服务器未启动:确保Python在您的PATH中,并且所有依赖项都已安装
- API关键错误:验证您的API密钥是否正确以及是否具有足够的配额
- 网络错误:检查您的互联网连接和RPC端点可用性
- 权限错误:确保Claude Desktop有权运行Python脚本
调试步骤:
- 手动测试服务器:
python server.py - 检查Claude Desktop日志中的错误消息
- 验证MCP配置中的服务器路径
- 确保所有环境变量设置正确
API文档
工具
| 工具 | 说明 | 参数 |
|---|---|---|
eth_balance_tool | 获取ETH余额 | address, network |
erc20_balance_tool | 获取ERC20代币余额 | address, token_address, network |
nft_balance_tool | 获取NFT余额 | address, nft_contract, token_id, network |
tx_get_tool | 获取交易详细信息 | tx_hash, network |
logs_tool | 查询事件日志 | address, topics, from_block, to_block, network |
token_metadata_tool | 获取令牌元数据 | address, network |
contract_audit_tool | 分析合同 | address, network, format |
提示
| 提示 | 说明 | 参数 |
|---|---|---|
contract_security_audit_prompt | 安全审计分析 | 合同数据 |
contract_quick_analysis_prompt | 快速合同概述 | 合同数据 |
contract_deep_dive_prompt | 综合分析 | 合同数据 |
例子
获取ETH余额
result = eth_balance_tool("0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", "mainnet")获取ERC20余额
result = erc20_balance_tool(
"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"mainnet"
)分析交易
result = tx_get_tool("0xe3769f745ff477de5853b7410e62d8c0c32ae4f87982928432562dfabe6440eb", "mainnet")合同审计
result = contract_audit_tool("0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", "mainnet", "audit")网络支持
服务器支持多个具有不同功能的区块链网络:
- 全力支持:以太坊、多边形、仲裁、乐观主义、BSC、雪崩、基础、滚动、爆炸
- 有限的支持:Solana、Plasma(基本功能)
安全
- API密钥存储在环境变量中
- 实施利率限制以防止滥用
- 所有参数的输入验证
- 网络故障的错误处理
贡献
- 分叉存储库
- 创建要素分支
- 进行更改
- 如果适用,添加测试
- 提交拉取请求
许可证
此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。
支持
有关问题和疑问,请在GitHub上打开问题。
