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 服务器的定义与要求。

服务器信息