Indigo MCP 服务器

使用说明(Markdown 格式)

  • 项目简介

    • 这是一个基于 Model Context Protocol (MCP) 的后端服务器实现,专为 Indigo Protocol 构建。它通过 MCP 的工具、资源等能力,向支持 MCP 的大语言模型客户端提供可查询的数据、可执行的外部工具,以及可渲染的提示模板,帮助 LLM-driven 应用访问区块链数据、分析结果和交易能力。
  • 主要功能点

    • 实时数据与分析工具:提供资产价格、价格系列、ADA/INDY 价格、CDP/贷款分析等数据能力。
    • CDP 与交易工具:开放、增抵、取回、关闭 CDP,抵押、铸币、清算等操作,以及与治理、稳定池、LRP 等相关工具。
    • 数据资源与工具注册:通过统一的工具注册中心暴露大量工具,结合资源管理(尽管当前资源模块为占位)。
    • 安全与扩展性:通过 JSON-RPC 与客户端通信,支持会话管理、能力声明;提供多种传输协议(stdio、HTTP SSE/Streamable HTTP)。
    • STATA 环境友好:可在本地或云环境部署,支持环境变量配置(如 BLOCKFROST_API_KEY、INDEXER_URL、CARDANO_NETWORK)。
    • 测试覆盖:包含单元测试,确保工具注册与行为符合预期。
  • 安装步骤

    • 运行环境要求:Node.js 版本 18+,npm。
    • 下载与安装
      • 克隆仓库后,进入项目目录,执行 npm install 以安装依赖。
    • 运行服务器
      • 直接通过 STDIO 运行(默认 stdio 模式):
        • npx @indigoprotocol/indigo-mcp 或
        • npm run dev(使用 tsx 热重载开发模式)
      • 使用 HTTP 传输运行:
        • MCP_TRANSPORT=http
        • PORT=3000
        • npx @indigoprotocol/indigo-mcp
    • 构建与生产启动
      • npm run build 编译 TypeScript
      • npm run start 运行编译后的服务器
    • 依赖与配置(环境变量示例,以下为常用字段)
      • INDEXER_URL:Indigo analytics 数据源基地址(默认 https://analytics.indigoprotocol.io/api/v1)
      • BLOCKFROST_API_KEY:Blockfrost 项目密钥,用于交易构建(写操作需要,只读操作可跳过)
      • CARDANO_NETWORK:Cardano 网络(mainnet、preprod、preview,默认 mainnet)
      • MCP_TRANSPORT:传输模式,stdio 或 http
      • PORT:HTTP 监听端口(仅当 MCP_TRANSPORT=http 时使用)
  • 服务器配置(供 MCP 客户端参考使用) { "serverName": "indigo-mcp", "command": "npx", "args": ["-y", "@indigoprotocol/indigo-mcp"], "env": { "INDEXER_URL": "https://analytics.indigoprotocol.io/api/v1", "BLOCKFROST_API_KEY": "your-blockfrost-project-id", "CARDANO_NETWORK": "mainnet" }, "transport": "stdio" } 注释说明:

    • serverName:服务器名称,与 MCP 客户端连接时标识使用。
    • command / args:启动命令及参数,示例中通过 npx 调用 indigo-mcp。
    • env:运行时环境变量,包含数据源地址、区块链写操作所需的密钥、网络等信息。
    • transport:传输模式,stdio 表示标准输入输出通信,http 表示通过 HTTP 端点对外暴露。
    • MCP 客户端不需要此信息,但若要在 IDE/工具中进行集成配置,可参考上述字段。
  • 基本使用方法(对开发者友好)

    • 启动后,服务会通过 MCP 的标准 JSON-RPC 与 LLM 客户端通信,LLM 客户端可以请求读取资源、执行工具调用、获取提示模板等。
    • 连接方式包括:
      • STDIO:直接通过命令行或集成工具与进程的标准输入输出进行通信。
      • HTTP:通过 POST /mcp 端点进行 JSON-RPC 调用,健康检查可通过 GET /health。
    • 常见交互场景:
      • 读取 Indigo iAsset 数据、价格、以及 CDP/分析结果等。
      • 调用外部工具进行资产管理、Stability Pool、Staking、LRP、治理等操作,返回未签名交易的 CBOR 十六进制字符串以及相关摘要信息,供客户端签名并广播。
      • LLM 客户端发起的查询将以清晰的文本摘要形式返回,便于在对话中展现结果或继续决策。
  • 使用注意事项

    • 写操作需要 BLOCKFROST_API_KEY,以便在客户端签名阶段构建交易。
    • 通过 http 传输时,请确保端口开放并正确配置防火墙。
    • 对接 LLM 客户端时,确保客户端支持 MCP 的 JSON-RPC 约定和传输方式(stdio/http)。

服务器信息