mcpField
O
openmm-mcp

openmm-mcp

本地服务
github.com/QBT-Labs金融数据37 周前更新

关于 openmm-mcp

openmm-mcp 是面向 AI Agent 的加密货币交易 MCP 服务,提供市场数据、账户、订单和策略工具,支持本地密钥库或托管服务。其本地模式通过加密密钥库和统一套接字隔离签名流程,也可使用 USDC 按调用付费访问托管服务。

主要功能

  1. 01查询行情、订单簿、成交与 K 线
  2. 02查看余额和未完成订单
  3. 03创建及取消交易订单
  4. 04启动、停止和查询网格策略
  5. 05通过加密密钥库管理凭据

适用场景

  1. 01让 AI Agent 查询交易所行情与账户余额
  2. 02使用工具创建或取消交易订单
  3. 03运行并查看网格交易策略
  4. 04通过托管服务按调用支付获取公开数据

MCP 相关

服务通过 MCP 将市场数据、账户、交易和策略工具提供给 AI Agent。客户端可连接本地运行的 openmm serve 统一套接字,也可连接支持 x402 USDC 支付的托管服务。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"adacapo21-openmm": {
"command": "npx",
"args": [
"-y",
"@qbtlabs/openmm-mcp"
]
}
}
}
启动命令npx -y @qbtlabs/openmm-mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@qbtlabs/openmm-mcp1.0.5

工具

13

收录的工具列表 · 更新于 2 周前

参数类型必填说明
symbolstring是交易对符号(例如:BTC/USDT、INDY/USDT)
exchangestring是要查询的交易所。支持:mexc、gateio、bitget、kraken

详细介绍

@qbtlabs/openmm-mcp

smithery badge npm version npm downloads License: MIT Ask DeepWiki

📚 文档 · 🤖 AI 技能门户 · 🔌 API 参考

OpenMM 的 MCP 服务 — 通过任意 MCP 客户端向 AI Agent 提供市场数据、账户、交易和策略工具。

openmm-mcp MCP 服务

两种使用方式

选项适用场景API 密钥付款
本地(npm)完全掌控,使用自己的密钥加密保险库免费
托管(mcp.openmm.io)无需设置,按使用量付费公共数据无需密钥x402 USDC

本地设置

前提条件: Node.js 20 或更高版本。

1. 安装并配置
npm install -g @qbtlabs/openmm-mcp
openmm-mcp --setup

设置向导会为你的客户端(Claude Desktop、Claude Code、Cursor、Windsurf)写入正确的 MCP 配置。配置文件中不会存储凭据 — 仅包含套接字路径。

2. 初始化加密保险库
openmm-init

这会在 ~/.openmm/vault.enc 创建一个加密保险库,其中包含你的钱包密钥和交易所 API 凭据。你需要设置密码、生成(或导入)钱包,并可选择添加交易所密钥。

3. 启动服务
openmm serve

输入一次保险库密码。统一套接字会在 /tmp/openmm.sock 启动 — 所有 MCP 客户端都连接到这里。任何配置文件中都不会存有凭据。

手动配置

如果你想直接编辑配置文件,而不是使用 --setup:

客户端配置文件
Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.json
Claude Code~/.claude.json
Cursor.cursor/mcp.json
Windsurf~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "openmm": {
      "command": "node",
      "args": ["/path/to/openmm-mcp/dist/index.js"],
      "env": {
        "MCP_TRANSPORT": "stdio",
        "OPENMM_SOCKET": "/tmp/openmm.sock",
        "PAYMENT_SERVER": "https://mcp.openmm.io",
        "X402_TESTNET": "true"
      }
    }
  }
}

将 /path/to/openmm-mcp 替换为实际安装路径。对于 Claude Desktop,请使用 node 的完整路径(例如通过 which node 获取),以避免 nvm/PATH 问题。

提示: 改为运行 openmm-mcp --setup — 它会自动写入正确的绝对路径。

无需 API 密钥。无需私钥。无需密码。只需套接字路径。

不使用保险库(快速开始)

你可以跳过保险库,直接在 env 块中传入 API 密钥:

{
  "mcpServers": {
    "openmm": {
      "command": "npx",
      "args": ["@qbtlabs/openmm-mcp"],
      "env": {
        "MEXC_API_KEY": "your_key",
        "MEXC_SECRET": "your_secret"
      }
    }
  }
}

保险库可以增强所有使用场景的安全性 — 配置文件、进程环境或客户端内存中都不会存有任何敏感信息。

客户端兼容性
客户端不使用保险库使用保险库
Claude Desktop环境变量中的 API 密钥仅 OPENMM_SOCKET
Claude Code环境变量中的 API 密钥仅 OPENMM_SOCKET
Cursor环境变量中的 API 密钥仅 OPENMM_SOCKET
Windsurf环境变量中的 API 密钥仅 OPENMM_SOCKET

所有客户端都连接到同一个运行中的 openmm serve — 一个保险库、一个套接字,支持任意客户端。


使用 x402 付款的托管服务

连接到 mcp.openmm.io — 获取公共数据无需本地安装。 使用 Base 上的 USDC 按工具调用付费。

工作原理
AI Agent (Claude / Cursor / Windsurf)
│  MCP stdio — no keys in config
▼
MCP Client Process
(reads OPENMM_SOCKET — credentials never here)
│  Unix socket /tmp/openmm.sock (mode 0600)
▼
openmm serve — unified vault process
┌──────────────────────────────────┐
│  ~/.openmm/vault.enc             │
│  AES-256-GCM + PBKDF2           │  ← wallet key + exchange keys, one vault
│            │                     │
│  Policy Engine                   │  ← maxPerTx, maxPerDay, allowedChains
│  (checked before key is touched) │
│            │                     │
│  signAndWipe()                   │  ← key used inline, wiped from memory
└──────────────────────────────────┘
│  EIP-3009 signature only
▼
mcp.openmm.io → x402 verification → Base L2 settlement
安全属性
属性方式
静态加密密钥使用 AES-256-GCM + PBKDF2,存储在 ~/.openmm/vault.enc
密钥绝不会出现在客户端内存中MCP 进程只持有套接字路径
密钥绝不会出现在配置文件中配置中任何位置都没有 API 密钥或私钥
进程隔离签名在 openmm serve 中进行,而不是在 AI Agent 进程中进行
策略执行在访问私钥前检查支出限额
内存安全signAndWipe() —— 密钥仅使用一次,随后立即离开作用域
支付流程
  1. Agent 调用工具
  2. 服务返回带有价格的 402 Payment Required
  3. openmm serve 对 EIP-3009 授权进行签名(无需 Gas——不需要 ETH)
  4. 服务在链上提交付款并返回数据
工具定价
类别工具价格(USDC)
免费list_exchanges$0.00
读取get_ticker、get_orderbook、get_trades、get_ohlcv、get_balance、list_orders、get_cardano_price、discover_pools、get_strategy_status$0.001
写入create_order、cancel_order、cancel_all_orders、start_grid_strategy、stop_strategy$0.01

可用工具(15)

工具描述参数
市场数据
list_exchanges列出支持的交易所—
get_ticker实时价格、买价/卖价、价差、交易量exchange、symbol
get_orderbook订单簿深度(买单/卖单)exchange、symbol、limit?
get_trades最新交易及买入/卖出摘要exchange、symbol、limit?
get_ohlcvOHLCV 蜡烛图数据exchange、symbol、timeframe?、limit?
账户
get_balance账户余额(全部或筛选后)exchange、asset?
list_orders未结订单(全部或按交易对筛选)exchange、symbol?
交易
create_order下达限价单或市价单exchange、symbol、type、side、amount、price?
cancel_order按 ID 取消订单exchange、symbol、orderId
cancel_all_orders取消某个交易对的所有订单exchange、symbol
Cardano DEX
get_cardano_price汇总 DEX 的代币价格symbol
discover_pools通过 Minswap 和 SundaeSwap 查找直接 ADA 池symbol
策略
start_grid_strategy开始网格交易exchange、symbol、lowerPrice、upperPrice、gridLevels?、totalAmount
stop_strategy停止正在运行的策略strategyId、cancelOrders?
get_strategy_status获取策略状态strategyId

CLI 参考

设置与服务
命令描述
openmm-init创建保险库、生成/导入钱包、添加交易所
openmm-init --import <key>使用现有私钥创建保险库
openmm serve解锁保险库,启动统一套接字
openmm-status显示保险库、套接字、钱包和交易所状态(无需密码)
交易所凭据
命令描述
openmm-exchange list列出已配置的交易所
openmm-exchange add <id>添加交易所凭据
openmm-exchange remove <id>移除交易所凭据

支持的交易所:mexc、gateio、bitget、kraken、binance、coinbase、okx

钱包
命令描述
openmm-wallet info显示钱包地址和链
openmm-wallet set设置钱包凭据
openmm-wallet export显示私钥(需要确认)
支出策略
命令描述
openmm-policy show显示当前策略
openmm-policy set max-per-tx <amount>每笔交易的 USDC 上限
openmm-policy set max-per-day <amount>每日 USDC 上限
openmm-policy set allowed-chains <chains>以逗号分隔的链 ID
openmm-policy reset清除所有策略限额
高级
命令说明
openmm-vault info显示保险库元数据
openmm-vault change-password更改保险库密码
openmm-vault export导出所有凭据(危险)
openmm-vault destroy删除保险库

使用示例

查看 BTC 价格:

"Get me the BTC/USDT ticker on MEXC"

下单:

"Buy 0.1 ETH at $2400 on Kraken"

启动网格策略:

"Start a grid strategy on MEXC for INDY/USDT between $0.10 and $0.15 with 10 levels and $500 total"

查看 Cardano 代币:

"What's the current price of SNEK on Cardano DEXes?"

安全性

  • 保险库: 使用 AES-256-GCM 加密,存储于 ~/.openmm/vault.enc
  • 密码: 仅通过交互式终端输入,绝不会出现在任何配置文件、环境变量或 CLI 标志中
  • 套接字: /tmp/openmm.sock,模式为 0600;套接字是身份验证边界
  • 策略: 在触及私钥之前,通过套接字强制执行支出限额
  • 隔离: 私钥绝不会进入任何 MCP 客户端进程的内存;签名通过 IPC 在 openmm serve 进程中完成

开发

git clone https://github.com/QBT-Labs/openMM-MCP.git
cd openMM-MCP
npm install
npm run typecheck
npm run lint
npm test
npm run build

资源

许可证

MIT

托管部署

可通过 Fronteir AI 使用托管部署。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。