bnbchain-mcp

Official
by bnb-chain
MIT License
353
2

Integrations

  • Provides tools for interacting with BNB Chain through natural language, including blockchain queries, smart contract interaction, wallet management, token operations, and NFT management.

  • Supports local development with Bun, providing setup instructions and development scripts for running and testing the MCP server.

  • Supports interaction with Ethereum and other EVM-compatible networks, enabling blockchain development, smart contract interaction, and network management through AI-powered interfaces.

BNBChain MCP(模型上下文协议)

通过自然语言处理和人工智能辅助与 BNB Chain 和其他 EVM 兼容网络进行交互的强大工具包。

描述

BNBChain MCP 是一个模型上下文协议 (MCP) 的实现,它能够通过 AI 驱动的接口与区块链网络无缝交互。它为区块链开发、智能合约交互和网络管理提供了一套全面的工具和资源。

核心模块

该项目分为几个核心模块:

  • Blocks :查询和管理区块链区块
  • 合约:与智能合约交互
  • 网络:网络信息和管理
  • NFT : NFT(ERC721/ERC1155)操作
  • 代币:代币(ERC20)操作
  • 交易:交易管理
  • 钱包:钱包操作和管理
  • 通用:共享实用程序和类型
  • 即将推出的附加功能(Greenfield、Swap、Bridge 等)

与 Cursor 集成

要从 Cursor 连接到 MCP 服务器:

  1. 打开 Cursor 并转到“设置”(右上角的齿轮图标)
  2. 点击左侧边栏中的“MCP”
  3. 点击“添加新的全局 MCP 服务器”
  4. 输入以下详细信息:

默认模式

{ "mcpServers": { "bnbchain-mcp": { "command": "npx", "args": ["-y", "@bnb-chain/mcp@latest"], "env": { "PRIVATE_KEY": "your_private_key_here. (optinal)" } } } }

SSE 模式

{ "mcpServers": { "bnbchain-mcp": { "command": "npx", "args": ["-y", "@bnb-chain/mcp@latest", "--sse"], "env": { "PRIVATE_KEY": "your_private_key_here. (optinal)" } } } }

与 Claude Desktop 集成

要从 Claude Desktop 连接到 MCP 服务器:

  1. 打开 Claude Desktop 并转到“设置”
  2. 点击左侧边栏中的“开发者”
  3. 点击“编辑配置”按钮
  4. claude_desktop_config.json文件中添加以下配置:
{ "mcpServers": { "bnbchain-mcp": { "command": "npx", "args": ["-y", "@bnb-chain/mcp@latest"], "env": { "PRIVATE_KEY": "your_private_key_here" } } } }
  1. 保存文件并重新启动Claude Desktop

连接后,您可以直接在 Claude Desktop 对话中使用所有 MCP 提示和工具。例如:

  • “分析这个地址:0x123……”
  • “解释一下EVM中的gas概念”
  • “查看BSC上的最新区块”

与其他客户端集成

如果您想将 BNBChain MCP 集成到您自己的客户端中,请查看示例目录以获取更多详细信息和参考实现。

这些例子表明:

  • 如何设置 MCP 客户端
  • 身份验证和配置
  • 进行 API 调用以与区块链网络进行交互
  • 处理响应和错误
  • 集成最佳实践

本地开发

先决条件

  • bun v1.2.10 或更高版本
  • Node.js v17 或更高版本

快速入门

  1. 克隆存储库:
git clone https://github.com/bnb-chain/bnbchain-mcp.git cd bnbchain-mcp
  1. 设置环境变量:
cp .env.example .env

使用您的配置编辑.env文件:

  • PRIVATE_KEY :您的钱包私钥(交易操作所需)
  • LOG_LEVEL :设置日志级别(DEBUG、INFO、WARN、ERROR)
  • PORT :服务器端口号(默认值:3001)
  1. 安装依赖项并启动开发服务器:
# Install project dependencies bun install # Start the development server bun dev:sse

使用 MCP 客户端进行测试

使用此模板在 MCP 客户端中配置本地服务器:

{ "mcpServers": { "bnbchain-mcp": { "url": "http://localhost:3001/sse", "env": { "PRIVATE_KEY": "your_private_key_here" } } } }
使用 Web UI 进行测试

我们使用@modelcontextprotocol/inspector进行测试。启动测试 UI:

bun run test
可用脚本
  • bun dev:sse :使用热重载启动开发服务器
  • bun build :构建项目
  • bun test :运行测试套件

可用的提示和工具

提示

姓名描述
分析_分析区块并提供有关其内容的详细信息
分析交易分析特定交易
分析_地址分析EVM地址
与合同交互获取与智能合约交互的指导
解释 evm 概念获取 EVM 概念的解释
比较网络比较不同的 EVM 兼容网络
分析令牌分析 ERC20 或 NFT 代币

工具

姓名描述
通过哈希获取区块通过哈希获取区块
按数字获取区块通过数字获取区块
获取最新区块获取最新区块
获取交易通过哈希值获取特定交易的详细信息
获取交易收据通过哈希值获取交易收据
估计气体估算交易的 gas 成本
转移原生代币将原生代币(BNB、ETH、MATIC 等)转移到某个地址
批准代币支出批准另一个地址来使用你的 ERC20 代币
转移_nft将 NFT(ERC721 代币)从一个地址转移到另一个地址
转移_erc1155将 ERC1155 代币转移到另一个地址
转移_erc20将 ERC20 代币转移到某个地址
从私钥获取地址获取从私钥派生的 EVM 地址
获取链信息获取特定网络的链信息
获取支持的网络获取支持的网络列表
resolve_ens将 ENS 名称解析为 EVM 地址
是合同检查地址是否为智能合约或外部拥有账户(EOA)
读取合同通过调用 view/pure 函数从智能合约读取数据
写入合同通过调用状态改变函数将数据写入智能合约
获取 erc20_token_info获取ERC20代币信息
获取本机余额获取地址的原生代币余额
获取 erc20 余额获取地址的 ERC20 代币余额
获取nft信息获取有关特定 NFT 的详细信息
检查nft所有权检查地址是否拥有特定的 NFT
获取 erc1155_token_uri获取 ERC1155 代币的元数据 URI
获取nft余额从特定集合中获取某个地址拥有的 NFT 总数
获取 erc1155 余额获取某个地址拥有的特定 ERC1155 代币 ID 的余额

支持的网络

支持 BSC、opBNB、以太坊以及其他主流 EVM 兼容网络。更多详情,请参阅src/evm/chains.ts

贡献

欢迎为 BNBChain MCP 做出贡献!您可以通过以下方式提供帮助:

  1. 分叉存储库
  2. 创建功能分支
  3. 提交你的更改
  4. 推送到你的分支
  5. 创建拉取请求

请确保您的代码符合我们的编码标准并包含适当的测试。

执照

该项目根据 MIT 许可证获得许可 - 有关详细信息,请参阅LICENSE文件。

参考文献和致谢

该项目建立在以下开源项目的基础上并受到其启发:

我们感谢原作者对区块链生态系统的贡献。

Related MCP Servers

View all related MCP servers

ID: t6zbvd82tr