BlockDAG MCP 服务器
  ](https://nodejs.org/)
一个模型上下文协议(MCP)服务器,将BlockDAG区块链数据带给您的AI助手。您可以直接在Claude桌面版或Cursor中查询余额、交易、代币以及网络统计数据。
为何存在此现象
在人工智能工作流程中处理区块链数据时,不应需要复杂的远程过程调用(RPC)或Web3库。这个MCP服务器填补了这一空白——只需用自然语言询问您的AI助手,即可获取所需数据。
快速入门
git clone https://github.com/daveylupes/blockdag-mcp-server.git
cd blockdag-mcp-server
npm install
cp env.example .env
# Edit .env with your BlockDAG RPC details
npm run dev特点/特性
- 10款综合工具 用于区块链数据访问
- 只读操作 - 默认安全,无需私钥
- ERC20代币支持 - 查询代币余额和元数据
- 交易分析 - 带分页的历史记录追踪
- 网络监控 - 实时统计的燃气、每秒交易数(TPS)和活动情况
- 类型安全 - 带有严格验证的TypeScript
- 已准备好投入生产 - 全面的错误处理和日志记录
工具
| 工具 | 描述 |
|---|---|
net_info | 获取链ID和最新区块号 |
get_balance | 获取某个地址的BDAG余额 |
tx_receipt | 通过哈希获取交易收据 |
get_block | 通过标签(最新、十六进制或十进制)获取区块 |
get_logs | 使用过滤器查询事件日志 |
read_contract | 调用只读合约函数 |
get_token_balance 获取ERC20代币余额和元数据 | |
get_token_info | 获取代币详情(名称、符号、供应量) |
get_transaction_history | 获取带分页的交易历史记录 |
get_network_stats | 获取网络统计信息和指标 |
安装
先决条件
- Node.js 20 或更高版本
- npm 或 yarn
- BlockDAG RPC端点访问
设置
- 克隆仓库
git clone https://github.com/daveylupes/blockdag-mcp-server.git
cd blockdag-mcp-server- 安装依赖项
npm install- 配置环境
cp env.example .env编辑 .env:
BLOCKDAG_RPC_URL=https://your-blockdag-rpc
BLOCKDAG_CHAIN_ID=12345- 构建项目
npm run build使用
使用Cursor
创建或编辑 ~/.cursor/mcp.json:
{
"mcpServers": {
"blockdag": {
"command": "node",
"args": ["/absolute/path/to/blockdag-mcp-server/dist/index.js"],
"env": {
"BLOCKDAG_RPC_URL": "https://your-blockdag-rpc",
"BLOCKDAG_CHAIN_ID": "12345"
}
}
}
}重启光标,然后提出诸如以下问题:
- “地址0x...的余额是多少?”
- “显示网络统计信息”
- “获取合约0x...的代币信息”
使用Claude Desktop
编辑您的Claude桌面配置:
{
"mcpServers": {
"blockdag": {
"command": "node",
"args": ["/absolute/path/to/blockdag-mcp-server/dist/index.js"],
"env": {
"BLOCKDAG_RPC_URL": "https://your-blockdag-rpc",
"BLOCKDAG_CHAIN_ID": "12345"
}
}
}
}使用MCP Inspector进行测试
npm install -g @modelcontextprotocol/inspector
mcp-inspector选择“本地标准I/O进程”并指向 node dist/index.js
发展
# Run in development mode
npm run dev
# Build for production
npm run build
# Type checking
npm run type-check
# Run tests
npm test项目结构
blockdag-mcp-server/
├── src/
│ ├── index.ts # Main server and tool implementations
│ ├── chain.ts # BlockDAG chain configuration
│ └── types.ts # Shared types and utilities
├── docs/
│ ├── features/ # Feature documentation
│ └── guides/ # User guides
├── tests/ # Test files
├── dist/ # Compiled output
└── README.md文档
特色文档
示例
获取网络信息
"What's the current BlockDAG network status?"检查余额
"What's the BDAG balance of 0x742d35Cc6634C0532925a3b8D4C9db96C4b4d8b6?"代币余额
"Check token balance for wallet 0x... and token contract 0x..."网络统计
"Show me current gas prices and network performance"交易历史
"Get the last 10 transactions for address 0x..."安全
- 默认为只读 - 无私钥或签名操作
- 输入验证 - 所有输入均通过Zod模式进行验证
- 错误净化(或错误处理/错误清理) - 错误信息不泄露敏感内容
- 类型安全 - TypeScript 严格模式防止常见错误
贡献;做出贡献
我们欢迎所有贡献!无论是修复漏洞、添加功能,还是改进文档——所有贡献都备受重视。
见 CONTRIBUTING.md 翻译为中文是:“贡献指南/文件”或“如何贡献(指南/文件)”。这个文件通常用于说明如何向开源项目或特定项目做出贡献,包括提交代码、报告问题、参与讨论等指南 作为指导方针。
贡献方式
- 🐛 报告错误或问题
- 💡 建议新功能
- 📝 完善文档
- 🔧 提交拉取请求
- ⭐ 如果你觉得这个仓库有用,就给它点个星吧
社区
- GitHub Issues(在GitHub上的问题/议题) - 报告错误或请求功能
- 拉取请求(或称为合并请求) - 贡献代码改进
- 讨论 - 分享想法并寻求帮助
路线图
- \[ \] 支持实时更新的WebSocket
- \[ \] 缓存层以提高性能
- \[ \] 支持多网络配置
- \[ \] 高级过滤和聚合
- \[ \] 支持批量查询
- \[ \] 支持NFT(ERC721/ERC1155)
性能注意事项
用于高产量生产:
- 考虑使用区块浏览器API来查看交易历史
- 为频繁查询的数据实现缓存
- 为网络统计使用更小的区块范围
- 见 性能指南
许可证
MIT 许可证 - 详见 许可证 详情如下。
致谢
为BlockDAG社区而建。感谢所有贡献者、测试者和提供反馈的人。
______________________________________________________________________
为区块链开发者倾心打造
