Token导航 LogoToken导航TokenDH.com
Bankless Onchain MCP Server logo
搜索检索stdio官方级别未说明来源级核验

Bankless Onchain MCP Server

MCP Server

@bankless/onchain-mcp

Bringing the bankless onchain API to MCP

工具数

4

提示词数

0

GitHub Stars

79

资源数

0
智能合约TypeScript搜索

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

Bankless

提供方

Bankless

最后核验

2026/5/18 04:04

运行时

Node.js

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

npx @bankless/onchain-mcp

详细介绍

无银行链上MCP服务器

此项目不再接收更新

![License: MIT](https://opensource.org/licenses/MIT)

MCP(模型上下文协议)服务器,用于通过Bankless API进行区块链数据交互。

概述

Bankless Onchain MCP服务器提供了一个通过Bankless API与链上数据交互的框架。它实现了模型上下文协议(MCP),允许AI模型以结构化的方式访问区块链状态和事件数据。

https://github.com/user-attachments/assets/95732dff-ae5f-45a6-928a-1ae17c0ddf9d

特性

服务器提供以下链上数据操作:

合同操作

  • 读取合同状态 (read_contract):从各种区块链网络上的智能合约中读取状态。

- 参数:网络、合约地址、方法、输入、输出 - 返回:具有类型值的合约调用结果

  • 获取代理 (get_proxy):检索代理实现合同地址。

- 参数:网络、合约地址 - 返回:实施合同地址

  • 获取ABI (get_abi):获取合约的ABI(应用程序二进制接口)。

- 参数:网络、合约地址 - 返回:JSON格式的合约ABI

  • 获取源代码 (get_source):检索已验证合约的源代码。

- 参数:网络、合约地址 - 返回:源代码、ABI、编译器版本和其他合约元数据

活动操作

  • 获取活动 (get_events):根据主题获取合同的事件日志。

- 参数:网络、地址、主题、可选主题 - 返回:筛选的事件日志

  • 构建活动主题 (build_event_topic):根据事件名称和参数类型生成事件主题签名。

- 参数:网络、事件名称、参数类型 - 返回:事件主题哈希

交易操作

  • 获取交易历史记录 (get_transaction_history):检索用户地址的交易历史记录。

- 参数:网络、用户地址、可选合约、可选方法ID、可选起始块、包含数据标志 - 返回:包含哈希、数据、网络和时间戳的事务列表

  • 获取交易信息 (get_transaction_info):获取特定交易的详细信息。

- 参数:网络、交易哈希 - 返回:交易详细信息,包括区块号、时间戳、往返地址、值、气体信息、状态和收据数据

工具

  • 阅读合同

- 从区块链读取合约状态 - 输入: - network (string,必填):区块链网络(例如“以太坊”、“多边形”) - contract (string,必填):合约地址 - method (string,必填):要调用的合约方法 - inputs (array,必填):方法调用的输入参数,每个参数包含: - type (string):输入参数的类型(例如,“address”、“uint256”) - value (any):输入参数的值 - outputs (array,必填):预期的输出类型,每种类型包含: - type (string):预期的输出类型 - 返回合约调用结果数组

  • get_proxy

- 获取给定网络和合约的代理地址 - 输入: - network (string,必填):区块链网络(例如“以太坊”、“base”) - contract (string,必填):合约地址 - 返回代理合约的实现地址

  • get_events

- 获取给定网络和筛选条件的事件日志 - 输入: - network (string,必填):区块链网络(例如“以太坊”、“base”) - addresses (数组,必填):用于筛选事件的合约地址列表 - topic (字符串,必填):筛选事件的主要主题 - optionalTopics (数组,可选):可选的其他主题(可以包含空值) - 返回一个包含符合筛选条件的事件日志的对象

  • 构建事件主题

- 基于事件名称和参数构建事件主题签名 - 输入: - network (string,必填):区块链网络(例如“以太坊”、“base”) - name (字符串,必填):事件名称(例如,“Transfer(address,address,uint256)”) - arguments (array,必填):事件参数类型,每种类型包含: - type (string):参数类型(例如,“address”、“uint256”) - 返回一个包含事件签名的keccak256哈希值的字符串

安装

npm install @bankless/onchain-mcp

用法

环境设置

在使用服务器之前,请设置Bankless API令牌。有关如何获取Bankless API代币的详细信息,请访问https://docs.bankless.com/bankless-api/other-services/onchain-mcp

export BANKLESS_API_TOKEN=your_api_token_here

运行服务器

服务器可以直接从命令行运行:

npx @bankless/onchain-mcp

使用LLM工具

该服务器实现了模型上下文协议(MCP),这允许它用作兼容AI模型的工具提供者。以下是每个工具的一些示例调用:

阅读合同

// Example call
{
  "name": "read_contract",
  "arguments": {
    "network": "ethereum",
    "contract": "0x1234...",
    "method": "balanceOf",
    "inputs": [
      { "type": "address", "value": "0xabcd..." }
    ],
    "outputs": [
      { "type": "uint256" }
    ]
  }
}

// Example response
[
  {
    "value": "1000000000000000000",
    "type": "uint256"
  }
]

get_proxy

// Example call
{
  "name": "get_proxy",
  "arguments": {
    "network": "ethereum",
    "contract": "0x1234..."
  }
}

// Example response
{
  "implementation": "0xefgh..."
}

get_events

// Example call
{
  "name": "get_events",
  "arguments": {
    "network": "ethereum",
    "addresses": ["0x1234..."],
    "topic": "0xabcd...",
    "optionalTopics": ["0xef01...", null]
  }
}

// Example response
{
  "result": [
    {
      "removed": false,
      "logIndex": 5,
      "transactionIndex": 2,
      "transactionHash": "0x123...",
      "blockHash": "0xabc...",
      "blockNumber": 12345678,
      "address": "0x1234...",
      "data": "0x...",
      "topics": ["0xabcd...", "0xef01...", "0x..."]
    }
  ]
}

构建事件主题

// Example call
{
  "name": "build_event_topic",
  "arguments": {
    "network": "ethereum",
    "name": "Transfer(address,address,uint256)",
    "arguments": [
      { "type": "address" },
      { "type": "address" },
      { "type": "uint256" }
    ]
  }
}

// Example response
"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"

发展

从源头构建

# Clone the repository
git clone https://github.com/Bankless/onchain-mcp.git
cd onchain-mcp

# Install dependencies
npm install

# Build the project
npm run build

调试模式

npm run debug

与AI模型集成

要将此服务器与支持MCP的AI应用程序集成,请在应用程序的服务器配置中添加以下内容:

{
  "mcpServers": {
    "bankless": {
      "command": "npx",
      "args": [
        "@bankless/onchain-mcp"
      ],
      "env": {
        "BANKLESS_API_TOKEN": "your_api_token_here"
      }
    }
  }
}

错误处理

服务器为不同场景提供了特定的错误类型:

  • BanklessValidationError:输入参数无效
  • BanklessAuthenticationError:API令牌问题
  • BanklessResourceNotFoundError:找不到请求的资源
  • BanklessRateLimitError:超过API费率限制

提示提示

为了指导LLM模型使用无银行Onchain MCP服务器,可以使用以下提示:

ROLE:
• You are Kompanion, a blockchain expert and EVM sleuth. 
• You specialize in navigating and analyzing smart contracts using your tools and resources.

HOW KOMPANION CAN HANDLE PROXY CONTRACTS:
• If a contract is a proxy, call your “get_proxy” tool to fetch the implementation contract.  
• If that fails, try calling the “implementation” method on the proxy contract.  
• If that also fails, try calling the “_implementation” function.  
• After obtaining the implementation address, call “get_contract_source” with that address to fetch its source code.  
• When reading or modifying the contract state, invoke implementation functions on the proxy contract address (not directly on the implementation).

HOW KOMPANION CAN HANDLE EVENTS:
• Get the ABI and Source of the relevant contracts
• From the event types in the ABI, construct the correct topics for the event relevant to the question
• use the "get_event_logs" tool to fetch logs for the contract

KOMPANION'S RULES:
• Do not begin any response with “Great,” “Certainly,” “Okay,” or “Sure.”  
• Maintain a direct, technical style. Do not add conversational flourishes.  
• If the user’s question is unrelated to smart contracts, do not fetch any contracts.  
• If you navigate contracts, explain each step in bullet points.  
• Solve tasks iteratively, breaking them into steps.  
• Use bullet points for lists of steps.  
• Never assume a contract’s functionality. Always verify with examples using your tools to read the contract state.  
• Before responding, consider which tools might help you gather better information.  
• Include as much relevant information as possible in your final answer, depending on your findings.

HOW KOMPANION CAN USE TOOLS:
• You can fetch contract source codes, ABIs, and read contract data by using your tools and functions.  
• Always verify the source or ABI to understand the contract rather than making assumptions.  
• If you need to read contract state, fetch its ABI (especially if the source is lengthy).  

FINAL INSTRUCTION:
• Provide the best possible, concise answer to the user’s request. If it's not an immediate question but an instruction, follow it directly.
• Use your tools to gather any necessary clarifications or data.  
• Offer a clear, direct response and add a summary of what you did (how you navigated the contracts) at the end.

许可证

麻省理工学院

目录标签

目录标签

智能合约TypeScript搜索research-and-data区块链交互本地部署事件日志交易历史BanklessAPI

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Node.js

部署方式(deploymentType,部署类型)

remote-capable

来源包(packageName,安装包名)

@bankless/onchain-mcp

工具数量(toolCount,工具数)

4

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiononeremote-capable

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP