项目简介
Nodit MCP 服务器是一个基于 Model Context Protocol (MCP) 实现的应用后端,专注于通过 Nodit 的 Web3 基础设施,向 AI 代理和开发者提供跨多条区块链网络的结构化、随时可用的区块链数据。它简化了 AI 模型与区块链生态系统的交互,无需处理复杂的节点 RPC、原始事件日志或特定链的数据结构,即可访问经过标准化和优化的多链数据。
主要功能点
- 提供区块链数据访问工具: 将 Nodit 的 RPC 节点 API、Web3 数据 API 和 GraphQL 索引器 API (Aptos) 封装为可供 LLM 调用的工具。
- 标准化数据格式: 以 AI 更容易理解和处理的格式提供区块链数据。
- 多链支持: 支持以太坊、Polygon、Aptos、比特币等多种 EVM 兼容和非 EVM 网络。
- API 能力发现: 提供工具用于列出可用的 API 类别、特定类别的 API 操作,以及获取详细的 API 规范。
- API 调用执行: 提供工具用于执行对 Nodit 各类区块链 API 的调用。
- MCP 标准通信: 通过 JSON-RPC 协议 over Stdio 与 MCP 客户端(如支持 MCP 的 AI IDE 或 LLM 客户端)进行通信。
安装步骤
在运行 Nodit MCP 服务器之前,您需要:
- 安装 Node.js (版本 18 或更高)。
- 获取您的 Nodit API Key (访问 Nodit Console 注册并获取)。
推荐使用 'npx' 直接运行最新版本,无需克隆仓库:
npx @noditlabs/nodit-mcp-server@latest
或者,您可以克隆仓库并本地构建:
# 克隆仓库 (包含子模块) git clone --recurse-submodules https://github.com/noditlabs/nodit-mcp-server.git # 进入项目目录 cd nodit-mcp-server # 安装依赖 npm install # 构建项目 npm run build
服务器配置 (供 MCP 客户端使用)
MCP 服务器通常作为后台进程由 MCP 客户端(如支持 MCP 的 AI IDE、桌面应用或 CLI)启动和管理。您需要在 MCP 客户端的配置文件中添加 Nodit MCP 服务器的配置信息。
这个配置文件通常是一个 JSON 格式的文件(例如 Cursor 的 '.cursor/mcp.json' 或 Claude Desktop 的 'claude_desktop_config.json')。您需要在其中添加一个服务器配置项,其中包含以下关键信息:
- 一个唯一的服务器名称(例如 'nodit'),用于在客户端中引用此服务器。
- 启动 MCP 服务器进程的命令 ('command'),例如使用 'npx' 命令来执行安装包。
- 传递给启动命令的参数 ('args'),例如 '@noditlabs/nodit-mcp-server@latest'。
- 启动服务器进程时需要设置的环境变量 ('env'),其中最重要的是您的 'NODIT_API_KEY'。客户端将通过环境变量将 API Key 安全地传递给服务器进程。请务必将 'NODIT_API_KEY' 的值替换为您实际获取的 Nodit API 密钥。
配置完成后,MCP 客户端将能够自动启动 Nodit MCP 服务器并与其建立 Stdio 连接进行通信。
基本使用方法
一旦 Nodit MCP 服务器通过 MCP 客户端启动并连接,LLM 代理可以通过 JSON-RPC 调用服务器提供的工具。典型的交互流程包括:
- 发现工具类别: LLM 可以调用 MCP 服务器的 'tools/list' 方法来获取所有可用工具的列表。Nodit MCP 服务器会在此响应中包含其注册的工具,例如 'list_nodit_api_categories'。
- 列出 API 类别: LLM 调用 'list_nodit_api_categories' 工具,获取 Nodit 提供的 API 类别列表(如 Node API, Data API, Aptos Indexer API)及其支持的协议和描述。
- 列出特定类别 API: LLM 调用特定类别的列表工具(如 'list_nodit_node_apis', 'list_nodit_data_apis', 'list_nodit_aptos_indexer_api_query_root')来发现该类别下所有可用的具体 API 操作 ('operationId')。
- 获取 API 规范: 在调用具体 API 前,推荐调用 'get_nodit_api_spec' 工具,提供目标 API 的 'operationId',获取该 API 的详细规范,包括所需的参数和请求体结构。这有助于 LLM 构建正确的 API 调用请求。
- 调用 API: LLM 调用 'call_nodit_api'(或 'call_nodit_aptos_indexer_api'),提供 'protocol', 'network', 'operationId' 和符合规范的 'requestBody'。服务器将执行实际的 API 调用,并将结果返回给 LLM。
LLM 代理需要理解这些工具的功能和调用流程,以便有效地访问区块链数据和功能。
注意事项
- API 调用会消耗您的 Nodit API 配额。
- 确保 'NODIT_API_KEY' 环境变量已正确配置。
- Nodit MCP 服务器提供结构化的 API 访问能力,但最终的数据解释和推理取决于 LLM 本身。
信息
分类
AI与计算