返回市场
bnb链-mcp

bnb链-mcp

作者:bnb-chain44 星标更新:2025-07-25

项目介绍

BNBChain MCP (模型上下文协议)

一个强大的工具包,通过自然语言处理和AI辅助与BNB链及其他EVM兼容网络进行交互。

<a href="https://glama.ai/mcp/servers/@bnb-chain/bnbchain-mcp"> <img width="380" height="200" src="https://gips2.baidu.com/it/u=1659521774,4153770201&fm=3081&app=3081&f=PNG?w=760&h=400" alt="bnbchain-mcp MCP服务器" /> </a>

描述

BNBChain MCP是一个模型上下文协议实现,它通过AI驱动的界面无缝地与区块链网络进行交互。它提供了一整套工具和资源,用于区块链开发、智能合约交互和网络管理。

核心模块

该项目组织成几个核心模块:

  • 区块:查询和管理区块链块
  • 合约:与智能合约交互
  • 网络:网络信息和管理
  • NFT:NFT(ERC721/ERC1155)操作
  • 代币:代币(ERC20)操作
  • 交易:交易管理
  • 钱包:钱包操作和管理
  • 通用:共享实用工具和类型
  • 绿野:支持在绿野网络上的文件管理操作,包括上传、下载和管理文件及桶
  • 额外功能即将推出(绿野、交换、桥接等)

与Cursor集成

要从Cursor连接到MCP服务器:

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

默认模式

{
  "mcpServers": {
    "bnbchain-mcp": {
      "command": "npx",
      "args": ["-y", "@bnb-chain/mcp@latest"],
      "env": {
        "PRIVATE_KEY": "在这里输入你的私钥. (可选)"
      }
    }
  }
}

SSE模式

{
  "mcpServers": {
    "bnbchain-mcp": {
      "command": "npx",
      "args": ["-y", "@bnb-chain/mcp@latest", "--sse"],
      "env": {
        "PRIVATE_KEY": "在这里输入你的私钥. (可选)"
      }
    }
  }
}

与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": "在这里输入你的私钥"
      }
    }
  }
}
  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. 安装依赖项并启动开发服务器:
# 安装项目依赖项
bun install

# 启动开发服务器
bun dev:sse

使用MCP客户端测试

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

{
  "mcpServers": {
    "bnbchain-mcp": {
      "url": "http://localhost:3001/sse",
      "env": {
        "PRIVATE_KEY": "在这里输入你的私钥"
      }
    }
  }
}

使用Web UI测试

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

bun run test

可用脚本

  • bun dev:sse:启动具有热重载的开发服务器
  • bun build:构建项目
  • bun test:运行测试套件

可用提示和工具

提示

名称描述
analyze_block分析一个区块并提供关于其内容的详细信息
analyze_transaction分析特定的交易
analyze_address分析一个EVM地址
interact_with_contract获取与智能合约交互的指导
explain_evm_concept获取对EVM概念的解释
compare_networks比较不同的EVM兼容网络
analyze_token分析ERC20或NFT代币

工具

名称描述
get_block_by_hash通过哈希获取一个区块
get_block_by_number通过编号获取一个区块
get_latest_block获取最新的区块
get_transaction通过其哈希获取特定交易的详细信息
get_transaction_receipt通过其哈希获取交易收据
estimate_gas估计交易的gas成本
transfer_native_token将原生代币(BNB、ETH、MATIC等)转移到一个地址
approve_token_spending批准另一个地址花费您的ERC20代币
transfer_nft将NFT(ERC721代币)从一个地址转移到另一个地址
transfer_erc1155将ERC1155代币转移到另一个地址
transfer_erc20将ERC20代币转移到一个地址
get_address_from_private_key从私钥派生出EVM地址
get_chain_info获取特定网络的链信息
get_supported_networks获取支持的网络列表
resolve_ens解析ENS名称到EVM地址
is_contract检查一个地址是否是智能合约或外部拥有账户(EOA)
read_contract通过调用view/pure函数从智能合约读取数据
write_contract通过调用状态改变函数向智能合约写入数据
get_erc20_token_info获取ERC20代币信息
get_native_balance获取地址的原生代币余额
get_erc20_balance获取地址的ERC20代币余额
get_nft_info获取特定NFT的详细信息
check_nft_ownership检查一个地址是否拥有特定NFT
get_erc1155_token_metadata获取ERC1155代币的元数据
get_nft_balance获取地址拥有的特定集合中的NFT总数
get_erc1155_balance获取地址拥有的特定ERC1155代币ID的余额

绿野工具

名称描述
gnfd_get_bucket_info获取特定桶的详细信息
gnfd_list_buckets列出一个地址拥有的所有桶
gnfd_create_bucket创建一个新的桶
gnfd_delete_bucket删除一个桶
gnfd_get_object_info获取特定对象的详细信息
gnfd_list_objects列出一个桶中的所有对象
gnfd_upload_object将对象上传到一个桶
gnfd_download_object从一个桶下载对象
gnfd_delete_object从一个桶删除对象
gnfd_create_folder在一个桶中创建一个文件夹
gnfd_get_account_balance获取账户余额
gnfd_deposit_to_payment将资金存入支付账户
gnfd_withdraw_from_payment从支付账户中提取资金
gnfd_disable_refund禁用支付账户的退款(不可逆)
gnfd_get_payment_accounts列出一个地址拥有的所有支付账户
gnfd_get_payment_account_info获取支付账户的详细信息
gnfd_create_payment创建一个新的支付账户
gnfd_get_payment_balance获取支付账户余额

支持的网络

支持BSC、opBNB、绿野、以太坊和其他主要的EVM兼容网络。更多详情,请参见src/evm/chains.ts

贡献

我们欢迎对BNBChain MCP的贡献!以下是您可以如何帮助:

  1. 分叉仓库
  2. 创建一个特性分支
  3. 提交您的更改
  4. 推送到您的分支
  5. 创建一个拉取请求

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

许可证

本项目根据MIT许可证发布 - 详情请参见LICENSE文件。

参考和致谢

本项目基于并受到以下开源项目的启发:

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