1scan - Blockchain Explorer API Gateway & MCP Server
一个统一的 API 网关,用于集成多个类似 Etherscan 的区块链浏览器 API,并支持 AI 助手的模型上下文协议 (MCP)。
huahuayu
README
1scan - 区块链浏览器 API 网关 & MCP 服务器
一个统一的 API 网关,用于集成多个类似 Etherscan 的区块链浏览器 API,并支持 AI 助手的模型上下文协议 (MCP)。
概述
1scan 提供两个主要组件:
- API 网关: 用于访问多个区块链浏览器 API 的统一端点
- MCP 服务器: 允许 AI 模型(如 Cursor IDE 中的 Claude)直接查询区块链数据
支持的区块链网络
从相应的区块链浏览器申请您自己的 API 密钥
网络名称 | 链 ID | 浏览器链接 | 浏览器 API 端点 |
---|---|---|---|
Ethereum | 1 | https://etherscan.io | api.etherscan.io |
Binance Smart Chain | 56 | https://bscscan.com | api.bscscan.com |
Arbitrum One | 42161 | https://arbiscan.io | api.arbiscan.io |
Polygon | 137 | https://polygonscan.com | api.polygonscan.com |
Optimism | 10 | https://optimistic.etherscan.io | api-optimistic.etherscan.io |
Avalanche C-Chain | 43114 | https://snowtrace.io | api.snowtrace.io |
Base | 8453 | https://basescan.org | api.basescan.org |
zkSync Era | 324 | https://explorer.zksync.io | block-explorer-api.mainnet.zksync.io |
Gnosis | 100 | https://gnosisscan.io | api.gnosisscan.io |
Fantom | 250 | https://ftmscan.com | api.ftmscan.com |
Mantle | 5000 | https://mantlescan.info | api.mantlescan.info |
Cronos | 25 | https://cronoscan.com | api.cronoscan.com |
Polygon ZkEVM | 1101 | https://zkevm.polygonscan.com | api-zkevm.polygonscan.com |
Linea | 59144 | https://lineascan.build | api.lineascan.build |
Moonbeam | 1284 | https://moonscan.io | api.moonscan.io |
Celo | 42220 | https://celoscan.io | api.celoscan.io |
Scroll | 534352 | https://scrollscan.com | api.scrollscan.com |
OpBNB | 204 | https://opbnbscan.com | api.opbnbscan.com |
Moonriver | 1285 | https://moonriver.moonscan.io | api-moonriver.moonscan.io |
Arbitrum Nova | 42170 | https://nova.arbiscan.io | api-nova.arbiscan.io |
Blast | 81457 | https://blastscan.io | api.blastscan.io |
Fraxtal | 252 | https://fraxscan.com | api.fraxscan.com |
Wemix | 1111 | https://wemixscan.com | api.wemixscan.com |
Xai | 660279 | https://xaiscan.io | api.xaiscan.io |
World Chain | 480 | https://worldscan.org | api.worldscan.org |
Ape | 33139 | https://apescan.io/ | api.apescan.io |
Kroma | 255 | https://kromascan.com | api.kromascan.com |
Taiko | 167000 | https://taikoscan.io | api.taikoscan.io |
Bittorrent | 199 | https://bttcscan.com | api.bttcscan.com |
Xdc | 50 | https://xdcscan.io | api.xdcscan.io |
特性
- 🔄 多个区块链浏览器的统一 API 端点
- ⚖️ API 负载均衡
- 🔑 API 速率限制管理
- 🎯 通过 URL 参数支持自定义 API 密钥
- 🤖 MCP 服务器,供 AI 助手查询区块链数据
安装
从 Go 安装
go install github.com/huahuayu/1scan@latest
从源码安装
# 克隆仓库
git clone https://github.com/huahuayu/1scan.git
cd 1scan
# 构建 1scan API 服务器和 MCP 服务器
make build
快速开始
1. 创建配置文件
创建一个包含您的 API 密钥的 config.json
文件:
{
"1": {
"endpoint": "api.etherscan.io",
"keys": {
"YOUR_ETHERSCAN_API_KEY_1": 5,
"YOUR_ETHERSCAN_API_KEY_2": 10
}
},
"56": {
"endpoint": "api.bscscan.com",
"keys": {
"YOUR_BSCSCAN_API_KEY": 5
}
}
}
每个链条目包含:
chainID
: 区块链网络 IDendpoint
: 区块链浏览器的 API 端点keys
: API 密钥及其速率限制(每秒请求数)的映射
2. 运行 API 服务器
# 使用默认设置运行
1scan -config /path/to/config.json
# 或者使用 make
make run-1scan
3. 运行 MCP 服务器
# 使用默认设置运行
1scanmcp -config /path/to/config.json # 默认在端口 3000 上提供服务
# 或者使用 make
make run-1scanmcp
# 使用自定义设置
1scanmcp -config /path/to/config.json -port 3000 -path /mcp
与 Cursor IDE 集成
要在 Cursor IDE 中使用 1scan MCP:
-
启动 API 服务器和 MCP 服务器
# 终端 1 make run-1scan # 终端 2 make run-1scanmcp
-
在 Cursor IDE 中,转到 Settings → AI → MCP Servers
-
添加一个新的 MCP 服务器,URL 为:
{
"mcpServers": {
"1scan": {
"url": "http://localhost:3000/mcp/sse"
}
}
}
-
如果需要,重启 Cursor IDE
-
现在您可以在 AI 对话中使用区块链数据了:
你能检查一下以太坊上地址 0x742d35Cc6634C0532925a3b844Bc454e4438f44e 的余额吗?
MCP 服务器配置
运行 MCP 服务器时,您可以使用以下参数进行自定义:
-port
: MCP 服务器运行的端口(默认值:"3000")-path
: MCP 服务器端点的路径(默认值:"/mcp")-config
: 配置文件的路径(默认值:"config.json")-transport
: 传输类型 (sse 或 stdio) (默认: "sse")
示例:
1scanmcp -port 3000 -config /path/to/config.json
可用的 MCP 工具
MCP 服务器向 AI 模型公开以下工具:
getAccountBalance
- 获取特定区块链上帐户的余额getTokenBalance
- 获取特定区块链上帐户的代币余额getTransactionByHash
- 按哈希获取交易详情getBlockByNumber
- 按区块号获取区块信息getContractABI
- 获取已验证合约的 ABIgetContractSourceCode
- 获取已验证合约的源代码getTokenInfo
- 获取有关 ERC20 代币的信息getGasPrice
- 获取特定区块链上的当前 gas 价格getLogs
- 获取与指定参数匹配的事件日志getTransaction
- 按哈希获取交易详情getTransactionCount
- 获取从地址发送的交易数量getTransactionReceipt
- 按交易哈希获取交易回执getBlockTransactionCountByNumber
- 获取区块中的交易数量getBlockTransactionCountByHash
- 按区块哈希获取区块中的交易数量getBlockByHash
- 按哈希获取区块信息getNormalTransactions
- 按地址获取普通交易getInternalTransactions
- 按地址或交易哈希获取内部交易getERC20Transfers
- 按地址或合约获取 ERC-20 代币转移事件getERC721Transfers
- 按地址或合约获取 ERC-721 NFT 转移事件getValidators
- 获取验证器信息(对于具有验证器集的网络)getContractCreation
- 获取合约创建信息getContractVerificationStatus
- 检查合约验证状态
MCP 交互示例
以下是通过 MCP 接口与区块链数据交互的示例:
# 获取账户余额
vitalik.eth (0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045) 在以太坊上的 ETH 余额是多少?
# 检查代币余额
以太坊上地址 0x28C6c06298d514Db089934071355E5743bf21d60 的 USDC 余额是多少?
# 检查交易
你能分析一下以太坊上交易 0xdd6d7f687c9821404ae8c2ea7de5cfb5a23fc4c01ef1e7f535748cb147aa76dd 吗?
# 查找区块信息
以太坊区块 18700000 中有哪些交易?
# 获取合约 ABI
你能给我展示一下以太坊上 USDC 合约 (0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48) 的 ABI 吗?
# 分析合约源代码
我需要了解 Uniswap V3 路由器的工作原理。你能给我展示一下以太坊上 0xE592427A0AEce92De3Edee1F18E0157C05861564 的源代码吗?
# 检查多个链
现在以太坊和 Arbitrum 之间的 gas 费用有什么区别?
# 检查代币信息
告诉我以太坊上 APE 代币的代币经济学。
MCP 工具的完整列表
MCP 服务器向 AI 模型公开以下工具:
getAccountBalance
- 获取特定区块链上帐户的余额getTokenBalance
- 获取特定区块链上帐户的代币余额getTransactionByHash
- 按哈希获取交易详情getBlockByNumber
- 按区块号获取区块信息getContractABI
- 获取已验证合约的 ABIgetContractSourceCode
- 获取已验证合约的源代码getTokenInfo
- 获取有关 ERC20 代币的信息getGasPrice
- 获取特定区块链上的当前 gas 价格getLogs
- 获取与指定参数匹配的事件日志getTransaction
- 按哈希获取交易详情getTransactionCount
- 获取从地址发送的交易数量getTransactionReceipt
- 按交易哈希获取交易回执getBlockTransactionCountByNumber
- 获取区块中的交易数量getBlockTransactionCountByHash
- 按区块哈希获取区块中的交易数量getBlockByHash
- 按哈希获取区块信息getNormalTransactions
- 按地址获取普通交易getInternalTransactions
- 按地址或交易哈希获取内部交易getERC20Transfers
- 按地址或合约获取 ERC-20 代币转移事件getERC721Transfers
- 按地址或合约获取 ERC-721 NFT 转移事件getValidators
- 获取验证器信息(对于具有验证器集的网络)getContractCreation
- 获取合约创建信息getContractVerificationStatus
- 检查合约验证状态
解决 MCP 集成问题
如果您在从 Cursor 连接到 MCP 服务器时遇到问题:
-
验证两个服务器是否都在运行:
# 检查服务器是否正在运行 ps aux | grep 1scanmcp
-
确保在 Cursor 中配置了正确的 URL
许可证
MIT 许可证
推荐服务器
Crypto Price & Market Analysis MCP Server
一个模型上下文协议 (MCP) 服务器,它使用 CoinCap API 提供全面的加密货币分析。该服务器通过一个易于使用的界面提供实时价格数据、市场分析和历史趋势。 (Alternative, slightly more formal and technical translation): 一个模型上下文协议 (MCP) 服务器,利用 CoinCap API 提供全面的加密货币分析服务。该服务器通过用户友好的界面,提供实时价格数据、市场分析以及历史趋势数据。
MCP PubMed Search
用于搜索 PubMed 的服务器(PubMed 是一个免费的在线数据库,用户可以在其中搜索生物医学和生命科学文献)。 我是在 MCP 发布当天创建的,但当时正在度假。 我看到有人在您的数据库中发布了类似的服务器,但还是决定发布我的服务器。
mixpanel
连接到您的 Mixpanel 数据。 从 Mixpanel 分析查询事件、留存和漏斗数据。

Sequential Thinking MCP Server
这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。

Nefino MCP Server
为大型语言模型提供访问德国可再生能源项目新闻和信息的能力,允许按地点、主题(太阳能、风能、氢能)和日期范围进行筛选。
Vectorize
将 MCP 服务器向量化以实现高级检索、私有深度研究、Anything-to-Markdown 文件提取和文本分块。
Mathematica Documentation MCP server
一个服务器,通过 FastMCP 提供对 Mathematica 文档的访问,使用户能够从 Wolfram Mathematica 检索函数文档和列出软件包符号。
kb-mcp-server
一个 MCP 服务器,旨在实现便携性、本地化、简易性和便利性,以支持对 txtai “all in one” 嵌入数据库进行基于语义/图的检索。任何 tar.gz 格式的 txtai 嵌入数据库都可以被加载。
Research MCP Server
这个服务器用作 MCP 服务器,与 Notion 交互以检索和创建调查数据,并与 Claude Desktop Client 集成以进行和审查调查。

Cryo MCP Server
一个API服务器,实现了模型补全协议(MCP),用于Cryo区块链数据提取,允许用户通过任何兼容MCP的客户端查询以太坊区块链数据。