订单簿交互服务

Raindex MCP Server是一个基于Model Context Protocol(MCP)的服务,封装了Raindex SDK,使AI代理能够查询、管理和交互Raindex的链上订单簿。

  • by hardyjosh
  • TypeScript
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 hardyjosh/raindex-mcp

使用说明

Raindex MCP服务器

A. 模型上下文协议 (MCP)服务器,用于包装 Raindex SDK (@rainlanguage/orderbook),使AI代理能够查询、管理Raindex链上订单位置并与之交互。

特性

  • 17个MCP工具 涵盖订单、保管库、策略、部署、交易和令牌信息
  • Calldata仅写入 --从不持有钥匙或签署交易
  • 多链 --从单个设置文件查询所有已配置的链
  • 注册表集成 --从dotrain注册表浏览和部署策略

先决条件

  • 无 启用薄片
  • Raindex设置YAML文件(请参阅 例子)

设置

# Enter dev shell (provides Node.js 22)
nix develop

# Install dependencies
npm ci

# Build
npm run build

# Run tests
npm test

配置

启动服务器前设置环境变量:

变量 必填 描述
RAINDEX_SETTINGS_PATH 是* YAML设置文件的路径
RAINDEX_SETTINGS_YAML 是* 内联YAML设置字符串
RAINDEX_REGISTRY_URL 否 dotrain注册表清单的URL

*其中之一 RAINDEX_SETTINGS_PATH 或 RAINDEX_SETTINGS_YAML 是必需的。

用法

作为MCP服务器(stdio传输)

RAINDEX_SETTINGS_PATH=./settings.yaml node dist/index.js

MCP客户端配置(例如Claude Desktop)

{
  "mcpServers": {
    "raindex": {
      "command": "node",
      "args": ["/path/to/raindex-mcp/dist/index.js"],
      "env": {
        "RAINDEX_SETTINGS_PATH": "/path/to/settings.yaml",
        "RAINDEX_REGISTRY_URL": "https://example.com/registry.txt"
      }
    }
  }
}

工具

订单

工具 说明
raindex_list_orders 列出带有可选链/所有者/令牌过滤器的订单
raindex_get_order 按哈希值获取单个订单
raindex_get_order_trades 订单的交易历史记录
raindex_get_order_quotes 订单对的实时报价
raindex_remove_order_calldata 生成调用数据以删除订单

拱顶

工具 说明
raindex_list_vaults 列出带有可选过滤器的保管库
raindex_get_vault 按ID获取单个保险库
raindex_get_vault_history 保管库的余额更改历史记录
raindex_deposit_calldata 生成存款调用数据
raindex_withdraw_calldata 生成提取通话数据
raindex_withdraw_all_calldata Multicall提取所有余额

战略与部署

工具 说明
raindex_list_strategies 从注册表中列出策略
raindex_get_strategy_details 战略的部署细节
raindex_compose_rainlang 从dotrain源头谱写Rainlang
raindex_deploy_strategy 生成部署调用数据

信息

工具 说明
raindex_get_transaction 检查订单簿交易
raindex_list_tokens 列出所有已配置的令牌
raindex_list_accounts 从子图中列出已知帐户

建筑

  • 运输: 标准MCP模式
  • 客户: 单 RaindexClient 实例来自设置YAML
  • 写操作: 返回 { calldata, to, chainId } --代理人对外签字
  • SDK: @rainlanguage/orderbook (Rust/WASM绑定)

发展

nix develop -c npm test          # Run tests
nix develop -c npm run lint      # Lint
nix develop -c npm run fmt       # Format
nix develop -c npm run fmt:check # Check formatting
nix develop -c npm run build     # Compile TypeScript

许可证

麻省理工学院