Onv Mcp

codes.onv由 onv.codes 发布官方发布者v1.0.3更新于 Nov 5, 2026

量化策略回测、组合配置与多交易所执行(14 家通道)

已验证Streamable HTTP可网页运行金融数据与分析AI 与机器学习

概览

AI 生成的概览

ONV 平台 MCP 服务器,让助手查询加密货币行情、回测与生成策略、管理订阅,并在多个交易所下单交易。

可以做什么
  • 查询行情:K 线、实时 ticker、市场总览、市场因子、标的搜索、链上 DEX 报价与快速 AI 技术分析
  • 浏览与管理策略:列出公开 Agent、创建/更新/发布/删除自己的策略、提交回测、查看历史并解释回测结果
  • 用 AI 生成与多轮优化策略代码,并查看策略工厂运行记录
  • 读取账户信息:套餐、订阅、用量、交易所凭证(脱敏)、风控配置、持仓、成交与绩效
  • 执行交易:下单、撤单、平仓、一键全平(默认仅预演)以及更新账户级风控配置
适用场景
适合希望让助手研究加密市场、通过回测迭代量化策略,或经 ONV 平台监控并交易多个交易所账户的场景。匿名使用只能访问公开行情与公开 Agent 数据。
运行要求
远程 Streamable HTTP 端点 onv.codes/mcp(另提供 SSE 兼容端点),或本地运行 npm 包,需 Node 18 及以上。需 ONV 平台 API Key(ah_ 前缀)或 Agent Key(ahk_ 前缀),通过 X-Api-Key 请求头或 Bearer 令牌传入;不提供时仅公开工具可用。本地可选环境变量 ONV_API_KEY、ONV_BASE_URL、PORT。
安装前请注意
写操作会以 API Key 身份直接执行并记录审计,包括动用真实资金下单、平仓、一键全平与发布策略。部分工具消耗额度(回测、AI 分析、生成与优化),订阅与套餐工具会创建支付订单。交易所凭证在平台侧绑定,服务器只返回脱敏 ID。具备写权限的 Key 等于交易授权,建议使用最小权限的 Key。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Onv Mcp,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/codes.onv%2Fonv-mcp/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

{
  "mcpServers": {
    "onv": {
      "type": "http",
      "url": "https://onv.codes/mcp"
    }
  }
}

README

@onvcodes/mcp-server

ONV 平台的 MCP (Model Context Protocol) Server。 把平台的行情数据、公开 Agent/策略、回测、订阅、AI 生成等能力暴露为 MCP 工具, 供 Claude Desktop / Cursor / Cline 等 AI Agent 调用。

架构:平台工具薄代理

MCP Server 不本地硬编码工具(避免与平台双套定义漂移),采用运行时动态发现:

MCP Client (Claude / Cursor …)   │  Streamable HTTP(远程,推荐)/ SSE(兼容)/ stdio(本地)   ▼mcp-server(本包)   │ ① 启动/会话时   GET {baseUrl}/api/mcp/platform/tools   → 发现工具清单(JSON Schema)   │ ② 客户端调用工具 POST {baseUrl}/api/mcp/platform/{tool} body { args }   │    凭证按会话透传:Authorization: Bearer > X-Api-Key > 匿名(仅公开工具)   ▼onv-backend(平台 /api/mcp/platform/*,3 通道鉴权:X-Api-Key / ?at= / Bearer JWT)
  • 工具清单与执行端点由 onv-backend 统一承载(backend/routes/platform-mcp.ts), 本服务只是把平台工具翻译成 MCP 协议(zod schema 注册 + 调用转发)。
  • 平台不可达 / 未配置 API Key / 工具端点 404 时,注册一个只读 __platform_health 兜底工具报告状态(tools/list 不为空,便于排查),正常时注册全部平台工具。

平台工具(当前 41 个)

tools/list 返回 41 个平台工具,按权限分层,并按 4 组展示(market / strategy / portfolio / account):

分层数量说明
L0 公开读(无需身份)10market_* · symbol_search · quick_analysis · list_agents · get_agent · plans · wallet_balance
L1 用户读(需 API Key / 登录绑定用户)15my_strategies · backtest_* · subscription_* · user_* · account_overview · positions · trade_history · credentials · risk_config · factory_runs · dex_quote
L2 写操作(需授权 scope)16run_backtest · manage_strategy · publish_strategy · subscribe_* · ai_generate · ai_optimize · place_order · cancel_order · close_position · flat_all · set_risk_config · set_breaker · reset_breaker · dex_swap · factory_run · close_preview

每个工具都带 MCP annotations:title(中文短名)、readOnlyHint(读为 true)、 destructiveHint(写为 true)——满足 Claude Connectors 目录的硬性要求。 展示元数据集中在 backend/services/platform-tools/tool-meta.ts。

工具定义会随平台演进自动更新:改动只发生在 backend 的 PLATFORM_TOOL_DEFS,MCP Server 无需发版。 后端通过 ENABLE_PLATFORM_TOOLS=true 开启工具端点(生产已开启)。

快速接入(生产,推荐 Streamable HTTP)

生产 MCP Server 已随 onv.codes 统一栈部署(容器 onv-mcp,nginx /mcp 与 /mcp/ 反代):

  • Streamable HTTP 端点(推荐):https://onv.codes/mcp
  • SSE 端点(兼容):https://onv.codes/mcp/sse
  • 鉴权(按会话透传):
    • Authorization: Bearer <token>(OAuth / 平台 JWT)
    • 或 X-Api-Key: ah_… / ahk_…(平台 / Agent Key)
    • 均未提供时按匿名处理,只能使用公开工具(行情 / 公开 Agent / 套餐等); HTTP 入口不接受服务端 env Key 兜底,避免匿名调用方继承真实账户身份

Claude Desktop

Claude Desktop → Settings → Developer → Edit Config → claude_desktop_config.json:

json
{  "mcpServers": {    "onv": {      "type": "http",      "url": "https://onv.codes/mcp",      "headers": {        "X-Api-Key": "ah_你的平台APIKey"      }    }  }}

保存后重启 Claude Desktop,对话中即可使用 platform_market_quote、platform_list_agents、 platform_run_backtest、platform_ai_generate 等工具。

Cursor

Cursor → Settings → MCP → Add new MCP server:

  • Type:HTTP(远程,推荐)
  • Name:onv
  • URL:https://onv.codes/mcp
  • Headers:X-Api-Key: ah_你的平台APIKey

旧版 Cursor 若不支持 HTTP 类型,可退回 SSE:https://onv.codes/mcp/sse。

其他 MCP 客户端

支持「Streamable HTTP + 自定义 header」的客户端填 https://onv.codes/mcp 与 X-Api-Key; 仅支持 SSE 的客户端填 https://onv.codes/mcp/sse。两者共用同一套工具与鉴权。

本地开发

依赖:Node ≥ 18。

bash
cd mcp-servernpm installnpm run build   # tsup 打包 ESM + CJS + dts 到 dist/npm test        # vitest(工具 schema / 注册测试)

启动:

bash
# stdio 模式(默认,供 Claude Desktop / Cursor 本地拉起)ONV_API_KEY=ah_xxx node dist/server.js
# HTTP 模式(本地 :3002,同时提供 /mcp 与 /sse)ONV_API_KEY=ah_xxx node dist/server.js --http# => HTTP server listening on http://localhost:3002 (mcp + sse)

环境变量

变量必填默认值说明
ONV_API_KEY--服务端兜底 Key(ah_ / ahk_ 前缀)。客户端自带凭证时优先用客户端的;均缺省时仅公开工具可用
ONV_BASE_URL-https://onv.codes平台 API 根地址(内网联调可指 http://localhost:3100)
PORT-3002HTTP 模式监听端口
MCP_MESSAGE_PATH-/messageSSE 握手事件里的消息投递路径;经 nginx 反代时配置(生产为 /mcp/message)

Claude Desktop / Cursor 本地 stdio 配置

json
{  "mcpServers": {    "onv": {      "command": "node",      "args": ["/absolute/path/to/onv/mcp-server/dist/server.js"],      "env": {        "ONV_API_KEY": "ah_你的平台APIKey",        "ONV_BASE_URL": "https://onv.codes"      }    }  }}

API Key 与权限

Key前缀用途写权限
平台 API Keyah_外部应用 / MCP 调用,绑定用户 + permissionspermissions 含工具 scope(如 backtest:run / agents:write)或 admin 才能直执写工具
Agent API Keyahk_Agent 身份直调scopes 含 write / admin 才能直执写工具
  • 读类(L0)无需鉴权即可调用(返回公开数据)。
  • 用户读(L1)与写(L2)工具要求 X-Api-Key 能解析到有效用户(无效/吊销返回 401)。
  • 写工具(L2)在 key 有对应 scope 时直接执行并落审计;无 scope 返回 403。
  • 对话场景(?at= HMAC token)写操作只落 pending,由前端操作卡确认后执行。

生产部署(onv.codes 统一栈)

  • compose 服务:apps/onv-core/deploy/docker-compose.onv.yml 的 mcp(:3002, build context apps/onv,dockerfile mcp-server/Dockerfile)。
  • nginx:location = /mcp / location /mcp/ 反代到 mcp:3002(Streamable HTTP 关 buffering + 3600s 读超时); location /api/mcp/ 反代到 onv-backend:3100(工具发现/调用端点)。
  • 凭据:按会话透传,不配置服务端 Key(MCP_API_KEY 已从 compose 移除)。 MCP_BASE_URL 默认 https://onv.codes。
  • 后端开关:ENABLE_PLATFORM_TOOLS=true(platform-tools.ts 灰度门,生产已置 true)。

多会话说明

MCP SDK 的 Server 实例同一时刻只能 connect 一个 transport(否则抛 Already connected)。 本服务为每个会话(Streamable HTTP session / SSE transport)创建独立 McpServer 实例 (每次会重新发现工具清单),多客户端并发/重连不会互相影响;凭证也随会话隔离。

故障排查

现象原因与处理
tools/list 只有 __platform_health工具发现失败。检查 ONV_BASE_URL 可达性、backend ENABLE_PLATFORM_TOOLS=true、nginx /api/mcp/ 反代
调用返回 invalid or revoked api key客户端下发的 X-Api-Key / Bearer 无效/已吊销(须 ah_/ahk_ 前缀);匿名调用用户级工具即为此提示
调用返回 404 unknown platform tool工具清单与端点版本不同步(发现后平台已改名),更新 mcp-server 镜像重连
POST /message 502多为 SSE 会话未建立/已断开时投递(sessionId 过期),客户端应重连重新握手

License

Apache-2.0

来源:packages/mcp-server/README.md,提交 c1e4124

工具

44

platform_market_quote

查询K线行情

【行情】查询平台行情 K 线。参数 symbol 为交易标的(如 BTCUSDT / ETHUSDT),timeframe 可选 1m/5m/15m/30m/1H/4H/1D,limit 最大 299。返回该标的的 K 线数组。(cost: free)

输入参数limitsymbol必填timeframe

platform_market_overview

市场总览

【行情】市场总览:主流币种快照、涨跌幅、成交量等市场状态概览。(cost: free)

无需输入参数。

platform_market_ticker

查询实时行情

【行情】查询标的实时行情 ticker。参数 symbol 为交易标的(如 BTCUSDT,可选,缺省返回全部)。(cost: free)

输入参数symbol

platform_market_factors

查询市场因子

【行情】查询标的的市场因子数据(技术/宏观因子)。参数 symbol 为交易标的。(cost: free)

输入参数limitsymbol必填

platform_quick_analysis

快速技术分析

【行情】对指定标的进行快速 AI 技术分析(拉取行情并生成分析结论)。参数 symbol 为交易标的,如 BTCUSDT。(cost: ≈ 22–28 credits/次(按实际 tokens 结算))

输入参数symbol必填timeframe

platform_list_agents

策略市场列表

【策略】列出平台上已发布的公开 Agent(策略),可按能力过滤与分页。参数 capabilities 可选(如 dex/defi)。(cost: free)

输入参数pagepageSizeactiveOnlycapabilities

platform_get_agent

查看策略详情

【策略】获取单个已发布的公开 Agent(策略)详情。参数 agentId 为策略 ID。(cost: free)

输入参数agentId必填

platform_plans

查询订阅套餐

【账户与额度】查询平台订阅套餐列表(免费/付费 tier 与价格)。无需参数。(cost: free)

无需输入参数。

platform_my_strategies

我的策略列表

【策略】查询我创建的**策略市场/订阅域**策略列表(onv-backend `strategies` 表,按钱包地址归属,邮箱注册账号回退按数字 userId)。⚠️ 不含实盘策略——实盘策略在 `qd_strategies_trading`,请用 REST `GET /api/cex/strategies`(该端点不支持 status 过滤,返回全部状态)。status 可选 draft/published/archived(缺省三者全取)。(cost: free)

输入参数pagestatuspageSize

platform_backtest_result

查询回测结果

【策略】查询回测任务结果。参数 jobId 为 run_backtest 返回的任务 ID。(cost: free)

输入参数jobId必填

platform_backtest_history

查询回测历史

【策略】查询回测历史(可指定策略 ID 过滤)。参数 strategyId 可选。(cost: free)

输入参数strategyId

platform_explain_backtest

explain backtest

【行情】解释一次回测「为什么亏 / 为什么没成交」。返回结构化卡片(数据区间、样本内外、最大回撤、数据缺失)与逐条原因。参数 runId / jobId / strategyId 至少给一个,三选一即可。(cost: free)

输入参数jobIdrunIdstrategyId

platform_subscription_status

查询策略订阅状态

【账户与额度】查询对某 Agent 的订阅状态。参数 strategyId 或 agentId。(cost: free)

输入参数strategyId必填

platform_subscription_list

我的策略订阅

【账户与额度】查询我的订阅列表。无需参数。(cost: free)

无需输入参数。

platform_user_subscription

查询我的平台套餐

【账户与额度】查询我的平台套餐订阅状态(当前套餐/到期时间)。无需参数。(cost: free)

无需输入参数。

platform_user_usage

查询用量配额

【账户与额度】查询我的平台用量汇总(今日 bars / 本月 tokens / 剩余配额)。无需参数。(cost: free)

无需输入参数。

platform_run_backtest

运行回测

【策略】提交回测任务(写操作,需用户确认)。strategy 为策略代码字符串或已有策略 ID(纯数字),symbol 为交易标的如 BTCUSDT,timeframe 可选 1m/5m/15m/30m/1H/4H/1D。params 为指标参数覆盖(可选,写入引擎 indicator_params,与代码内 # @param 默认值合并、此处优先),与同步链 /api/cex/indicator/backtest 的 params 同口径。(cost: ≈ 27 credits/次(90d·1H))(写操作,外部调用将以 apikey 身份直接执行)

输入参数paramssymbol必填endDatestrategy必填startDatetimeframe

platform_manage_strategy

创建或修改策略

【策略】管理自己的策略(写操作,需用户确认)。action 为 create / update / delete;update/delete 需要 strategyId;create/update 用 data 传策略数据(data.name 必填,data.strategy_category 为 dex/defi)。(cost: free)(写操作,外部调用将以 apikey 身份直接执行)

输入参数dataaction必填strategyId

platform_publish_strategy

发布策略

【策略】发布策略(写操作,需用户确认)。name 必填、category 为 dex/defi;code 为策略代码(可选);subscription_price 订阅价格;strategy_id 可指定已有草稿发布。发布为公开上架。(cost: free)(写操作,外部调用将以 apikey 身份直接执行)

输入参数codename必填paramscategory必填descriptionperformancestrategy_idpayment_tokensubscription_price

platform_subscribe_guide

获取订阅指引

【账户与额度】订阅引导(写操作,需用户确认):为指定 Agent 生成订阅引导信息(周期可选 day/week/month/year),确认后返回订阅链接与支付信息,不自动扣费。(cost: free)(写操作,外部调用将以 apikey 身份直接执行)

输入参数periodagentId必填

platform_subscribe_plan

订阅策略

【账户与额度】购买平台套餐(写操作,需用户确认):plan_id 必填(来自 platform_plans),period 可选 day/week/month/year,payment_method 可选 chain/x402。创建支付订单,支付在平台完成。(cost: free)(写操作,外部调用将以 apikey 身份直接执行)

输入参数periodplan_id必填payment_method

platform_ai_generate

AI 生成策略

【策略】AI 生成策略代码(写操作,需用户确认):输入自然语言 prompt(可选 context 传入研究流水线结构化学徒上下文),返回策略代码与解释。(cost: ≈ 36–48 credits/次(按实际 tokens 结算))(写操作,外部调用将以 apikey 身份直接执行)

输入参数prompt必填context

platform_ai_optimize

AI 优化策略

【策略】AI 多轮优化策略(写操作,需用户确认):输入 prompt 描述策略目标,自动生成→回测→分析→改进(最多 maxRounds 轮,1-5,默认 3)。耗时较长。给了 initialCode 时第 1 轮不生成:直接回测这份既有代码作基线,第 2 轮起在其上改进(A3)。strategyParams 为指标参数覆盖(对齐 /api/cex/indicator/backtest 的 params)。context 为可选结构化学徒上下文(B2-a,失败因子/评审结论/目标指标),独立注入 LLM。每轮回传 rounds[].params(本轮实际生效参数)与 rounds[].errorCode(失败原因可判定);全轮未产出代码时返回 502/429 + errorCode,不再返回空 finalCode。(cost: ≈ 34–38 credits/轮(按实际 tokens 结算))(写操作,外部调用将以 apikey 身份直接执行)

输入参数prompt必填contextcategorymaxRoundsinitialCodebacktestParamsstrategyParams

platform_account_overview

账户总览

【持仓与执行】我的跨所账户总览:各交易所余额、持仓与币种归并(无凭证返回空)。(cost: free)

无需输入参数。

platform_positions

查询持仓

【持仓与执行】我的全部持仓(跨交易所扁平化,含方向/数量/开仓价/未实现盈亏)。可按交易所或交易对过滤。(cost: free)

输入参数symbolexchangeId

platform_strategy_positions

策略持仓

【持仓与执行】查询**实盘策略**的持仓(策略级,按实盘策略 ID)。⚠️ ID 取自 `qd_strategies_trading`(REST `GET /api/cex/strategies`),不是策略市场/订阅域的 `strategies` 表 ID。返回方向/数量/开仓价/未实现盈亏。(cost: free)

输入参数strategyId必填

platform_strategy_trades

策略成交

【持仓与执行】查询**实盘策略**的成交记录(策略级,按实盘策略 ID;含平仓原因与模拟盘标记)。ID 取自 `qd_strategies_trading`。(cost: free)

输入参数limitstrategyId必填

platform_strategy_performance

策略绩效

【持仓与执行】查询**实盘策略**的绩效(策略级,按实盘策略 ID):权益曲线、最新权益、区间收益与点数。ID 取自 `qd_strategies_trading`。(cost: free)

输入参数strategyId必填

platform_close_preview

一键全平预演

【持仓与执行】一键全平预演(dry-run,不会下单):列出将被平仓的合约持仓 / 现货余额目标与合计盈亏。可按凭证或交易对过滤。(cost: free)

输入参数symbolcredentialId

platform_trade_history

查询成交记录

【持仓与执行】查询我的最近成交记录(默认 50 条,最多 200)。(cost: free)

输入参数limitoffset

platform_credentials

查询交易凭证

【账户与额度】查询我绑定的交易所凭证(脱敏,不含密钥)。返回凭证 ID/交易所/名称,供下单、平仓、查询使用。(cost: free)

无需输入参数。

platform_risk_config

查询风控配置

【账户与额度】查询我的账户级风控面板:配置、熔断状态、聚合风险与策略风险。(cost: free)

无需输入参数。

platform_factory_runs

查询策略工厂记录

【策略】查询我的策略工厂运行记录;传 runId 时返回该次运行详情。(cost: free)

输入参数limitrunId

platform_dex_quote

链上兑换报价

【行情】链上 DEX 报价(只读):chain 如 ETH/BSC/BASE/SOL,fromToken/toToken 为代币地址或符号,amount 为最小单位字符串。(cost: free)

输入参数chain必填amount必填toToken必填slippagefromToken

platform_place_order

下单

【持仓与执行】真实下单(写操作,需确认,动用真实资金):credentialId 来自 platform_credentials,amount 为 USDT 名义金额;orderType=market|limit,限价单必填 price。执行前校验账号级「AI 实盘授权」,未开启一律拒绝。(cost: free)(写操作,外部调用将以 apikey 身份直接执行)

输入参数side必填priceamount必填symbol必填slPricetpPriceleverageorderTypemarketTypecredentialId必填idempotencyKey

platform_cancel_order

撤单

【持仓与执行】撤销未成交挂单(写操作,需确认):exchangeOrderId 与 clientOrderId 二选一。(cost: free)(写操作,外部调用将以 apikey 身份直接执行)

输入参数symbol必填marketTypecredentialId必填clientOrderIdexchangeOrderId

platform_close_position

平仓

【持仓与执行】平仓(写操作,需确认):按 credentialId + symbol 平掉持仓;closeScope=full 全平,传 size 时部分平。(cost: free)(写操作,外部调用将以 apikey 身份直接执行)

输入参数sizesymbol必填closeScopemarketTypecredentialId必填

platform_flat_all

一键全平

【持仓与执行】一键全平(写操作,需确认):默认 dryRun=true 只预演;确认执行须显式 dryRun=false。可按凭证/交易对/市场类型限定,marketType=spot 时清现货余额。(cost: free)(写操作,外部调用将以 apikey 身份直接执行)

输入参数dryRunsymbolmarketTypecredentialId

platform_set_risk_config

修改风控配置

【账户与额度】更新账户级风控配置(写操作,需确认):config 为要修改的字段对象(如日亏损上限、单笔上限)。(cost: free)(写操作,外部调用将以 apikey 身份直接执行)

输入参数config必填

platform_set_breaker

设置熔断

【账户与额度】更新账户熔断配置(写操作,需确认):enabled 开关,可设日亏损上限、连续失败次数、gas 尖峰上限。(cost: free)(写操作,外部调用将以 apikey 身份直接执行)

输入参数enabledalertChannelsgasSpikeLimitUsddailyLossLimitUsdconsecutiveFailLimit

platform_reset_breaker

解除熔断

【账户与额度】人工解除熔断(写操作,需确认):须提供 recoveryCode;解除后策略恢复实盘执行。(cost: free)(写操作,外部调用将以 apikey 身份直接执行)

输入参数recoveryCode必填

platform_dex_swap

链上兑换

【持仓与执行】链上 DEX 兑换(写操作,需确认,动用真实资金):钱包地址自动取本人智能账户,不接受任意地址;大额授权需 approvalToken(由平台签发)。(cost: free)(写操作,外部调用将以 apikey 身份直接执行)

输入参数chain必填amount必填toToken必填slippageamountUsdfromTokenreferenceapprovalToken

platform_factory_run

运行策略工厂

【策略】发起策略工厂运行(写操作,需确认):sourceType=llm(描述生成)/search(条件扫描)/optimize(优化现有策略,需 strategyId)。同一用户同时只允许一个运行。(cost: base 5 + 10/1k bars(>10000 部分 5/1k) + 1/1k tokens credits)(写操作,外部调用将以 apikey 身份直接执行)

输入参数daysintentsymbolfactorIdstimeframesourceTypestrategyIdthresholdsnCandidatessearchBudgetmaxCandidates

版本历史

1
  1. v1.0.3最新Nov 4, 2026

评分

已满足适用检查项的 100%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分