Infura MCP Server
使用说明(Markdown 格式)
Infura MCP Server 使用指南
-
项目简介
- 该仓库实现了一个 MCP(Model Context Protocol)服务器,用于把区块链数据、工具接口和提示模板等对外暴露给 AI 客户端(如 Claude、Cursor、VS Code Copilot 等)。核心能力包括:托管资源与数据访问、注册并执行工具、定义和渲染 Prompt 模板,以及通过 JSON-RPC 与客户端通信,支持多传输模式(stdio、HTTP/ SSE)。
-
主要功能点
- MCP 服务器核心实现:提供工具发现、请求处理、错误分类、结果裁剪等能力,符合 MCP 的 JSON-RPC 交互模式。
- 资源、工具与提示管理:动态发现并暴露大量工具(本项目共 29+ 工具,覆盖账户、余额、区块、交易、合约、日志、网络信息、Gas/费等查询能力)。
- 传输模式与会话管理:支持 stdio(桌面/本地集成)和可流式的 HTTP 传输(SSE+会话管理),包含会话超时、并发会话限制、请求限流等安全特性。
- 安全性与鲁棒性:DNS 反绑定保护、CORS、请求限流、输入校验、响应长度限制、请求头/安全头部策略、错误可追踪的可观测性日志。
- 工具发现与执行流程:以工具发现模块(lib/tools.js)为核心,服务端将工具转换为 MCP 兼容格式并在请求时执行,错误分层次(InvalidParams、InternalError 等)。
- HTTP 模式下的流式通知与会话管理:/mcp 路径支持 SSE 与基于会话的 JSON-RPC 请求,支持会话创建、延时失效与清理。
-
安装与运行步骤
- 依赖安装
- 在本地克隆仓库后,执行 npm install 安装依赖。
- 运行模式
- stdio 模式(默认): node mcpServer.js
- HTTP 模式: node mcpServer.js --http
- 配置 Infura 钥钥与网络
- 通过环境变量 INFURA_API_KEY 设置 Infura API Key
- 通过 INFURA_NETWORK 指定目标网络(如 mainnet、sepolia、polygon-mainnet 等)
- 工具发现与探测
- 服务启动后,工具会自动从 tools/ 目录进行发现并暴露给 MCP 客户端使用。
- 调试与日志
- 可以通过设置 DEBUG=true 开启 info 级别日志;默认会输出 warn 与 error。
- 依赖安装
-
服务器配置(MCP 客户端使用的配置样例) 该配置用于 MCP 客户端向 MCP 服务器注册并建立连接。MCP 客户端需要的仅是启动服务器的命令和参数,以及必要的环境变量注入。以下信息可用于客户端配置参考:
- server 名称:infura-mcp-server
- 启动命令与参数(示例,用于通过环境变量注入 API Key 和网络)
- 配置示例(JSON,非代码块呈现,便于直接拷贝) { "mcpServers": { "infura": { "command": "npx", "args": ["-y", "infura-mcp-server"], "env": { "INFURA_API_KEY": "<YOUR_API_KEY>", "INFURA_NETWORK": "mainnet" } // 注释: // INFURA_API_KEY 是 Infura 的 API Key,不应在代码中硬编码,建议以环境变量形式提供; // INFURA_NETWORK 指定要查询的数据网络,例如 "mainnet"、"sepolia"、"polygon-mainnet" 等。 } } }
-
基本使用方法
- 启动后,AI 客户端通过 MCP 协议与服务器进行 JSON-RPC 调用,实现对工具的读取、调用与结果获取,并可通过 SSE/HTTP 实时接收通知。
- 常用交互路径包括:
- 通过 stdio 传输直接与服务器对话,适用于桌面客户端集成
- 通过 HTTP 传输在 Web 应用中逐步发起请求并处理返回
- 常见工作流
- 启动 Infura MCP Server,配置 INFURA_API_KEY 与 INFURA_NETWORK
- 使用客户端工具读取可用工具列表(tools/list)
- 调用工具执行查询(tools/call)
- 使用返回的结果进行后续对话和推理
- 安全与容错
- 服务器对网络请求进行了严格校验、限流和会话管理
- 如遇 Infura API 限流或错误,将返回可操作的错误信息,支持重试策略
-
备注
- 该实现覆盖了 MCP 的核心交互与传输能力,具备完整的服务端实现、工具发现、请求处理、错误处理和多传输模式支持,符合 MCP 服务器的定义与要求。