프로토타입 · 미리 보기: 공식 레지스트리의 모든 서버를 담고 있으며 30분마다 동기화해요. Google로 로그인하면 리뷰를 쓸 수 있어요.
PopNx MCPAI를 쓰는 사람을 위한 MCP 서버 · 쉬운 말로 설명해요

Onv MCP

제작자: sftgroup버전 1.0.3i★ 0i컴퓨터 또는 클라우드
레지스트리 이름codes.onv/onv-mcp

설치 방법

What it does

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

  • Connects 컴퓨터 또는 클라우드
  • Account or key No key needed
  • Category 기타

설치

쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.

검사 5/5 통과 · 내가 묻는 내용은 제작자 서버(onv.codes)를 거쳐요

먼저: 어떤 AI를 쓰시나요?

쓰는 앱을 고르면 아래에 단계가 나옵니다.

Claude에 연결할 수 있어요 · 약 2분

키 필요 없음, 설치 필요 없음 · claude.ai나 데스크톱 앱에서 한 번 설정하면 채팅에서 쓸 수 있어요 · 무료 계정은 1개까지 · Team/Enterprise는 소유자(Owner)가 추가

  1. Claude의 Connectors 페이지 열기

    CustomizeConnectors

    CustomizeConnectors1+ Add2https://…3Add4
  2. “+ Add” → “Add custom connector”를 누르고 이 2칸 채우기

    여기서 복사해 Claude의 같은 이름 칸에 붙여 넣고 Continue를 누르세요

    Name · 이름Onv MCP
    Remote MCP server URL · 주소https://onv.codes/mcp

    Authentication은 Claude가 찾은 그대로 두고 Add를 누르세요

  3. 채팅에서 켜기

    +ConnectorsOnv MCP

  4. 해 보기

    Onv MCP을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐

    ✓ Claude가 Onv MCP을 쓰고 있다고 하거나 답에 Onv MCP 도구 이름이 나오면 연결된 거예요

메뉴 이름은 2026년 11월 11일에 Anthropic 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요

ChatGPT는 기업용 요금제에서만 연결돼요

웹의 ChatGPT Business, Enterprise, Edu에서 워크스페이스 관리자나 소유자가 추가해요 · Free, Plus, Pro를 쓰면: 내 ChatGPT 요금제로는 아직 MCP를 직접 연결할 수 없어요

  1. 웹 ChatGPT에서 MCP 추가 페이지 열기

    Plugins+Add custom MCP server

    ChatGPTPlugins1+2https://…3Create4
  2. 이름과 주소 입력

    이름을 넣고 Connection에 주소를 붙여 넣은 뒤 경고에 체크하고 Create as a plugin을 누르세요

    Name · 이름Onv MCP
    Connection · 주소https://onv.codes/mcp
  3. 채팅에서 Onv MCP 고르기

    새 채팅을 열고 입력 전에 플러그인 목록에서 Onv MCP을 고르세요

  4. 해 보기

    Onv MCP을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐

    ✓ ChatGPT가 Onv MCP을 쓰고 있다고 하거나 답에 Onv MCP 도구 이름이 나오면 연결된 거예요

메뉴 이름은 2026년 11월 11일에 OpenAI 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요

Claude Code에 연결할 수 있어요 · 약 2분

키 필요 없음, 설치 필요 없음

  1. 터미널 열기

    Mac: Command+스페이스를 누르고 Terminal 입력 · Windows: PowerShell 열기

  2. 이 명령을 붙여 넣고 Enter

    claude mcp add --transport http --scope user onv https://onv.codes/mcp
  3. Claude Code에서 /mcp 입력

    Onv MCP이 목록에 있고 연결됨으로 보이면 돼요

  4. 해 보기

    Onv MCP을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐

    ✓ Claude Code가 Onv MCP을 쓰고 있다고 하거나 답에 Onv MCP 도구 이름이 나오면 연결된 거예요

메뉴 이름은 2026년 11월 11일에 Anthropic 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요

Cursor에 연결할 수 있어요 · 약 2분

키 필요 없음, 설치 필요 없음

  1. 이 버튼으로 Cursor 열기

    Cursor에서 열기

    Cursor가 설치를 확인하면 Install을 누르세요

  2. Cursor에서 AI 채팅을 Agent 모드로 열기

  3. 해 보기

    Onv MCP을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐

    ✓ Cursor가 Onv MCP을 쓰고 있다고 하거나 답에 Onv MCP 도구 이름이 나오면 연결된 거예요

메뉴 이름은 2026년 11월 11일에 Cursor 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요

VS Code에 연결할 수 있어요 · 약 2분

키 필요 없음, 설치 필요 없음

  1. 이 버튼으로 VS Code 열기

    VS Code에서 열기

    VS Code가 설치를 확인하면 Install을 누르세요

  2. VS Code에서 AI 채팅을 Agent 모드로 열기

  3. 해 보기

    Onv MCP을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐

    ✓ VS Code가 Onv MCP을 쓰고 있다고 하거나 답에 Onv MCP 도구 이름이 나오면 연결된 거예요

메뉴 이름은 2026년 11월 11일에 VS Code 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요

Windsurf, Zed, Gemini CLI 같은 다른 MCP 앱은 추가 방법이 저마다 달라요. 앱 목록에서 확인하세요

MCP를 쓰는 앱 모두 보기 →

웹으로 연결하는 앱용 주소

주소https://onv.codes/mcp

JSON 설정은 아래 “개발자용”에 있어요

막혔나요? Onv MCP을 쓰는 사람에게 물어보세요💬 토론 →
개발자용: 터미널 명령과 JSON 설정

웹으로 연결

Claude Code

claude mcp add --transport http --scope user onv https://onv.codes/mcp

Cursor (~/.cursor/mcp.json)

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

VS Code (mcp.json)

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

컴퓨터에 설치

Claude Code

claude mcp add --scope user onv -- npx -y @onvcodes/mcp-server

Claude Desktop (claude_desktop_config.json)

{
  "mcpServers": {
    "onv": {
      "command": "npx",
      "args": [
        "-y",
        "@onvcodes/mcp-server"
      ]
    }
  }
}

Cursor (~/.cursor/mcp.json)

{
  "mcpServers": {
    "onv": {
      "command": "npx",
      "args": [
        "-y",
        "@onvcodes/mcp-server"
      ]
    }
  }
}

VS Code (mcp.json)

{
  "servers": {
    "onv": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@onvcodes/mcp-server"
      ]
    }
  }
}

이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.

한눈에 보기

주간 다운로드i
803/주
확인된 도메인
✓ onv.codes
라이선스i
Apache-2.0
연결 방식
컴퓨터 또는 클라우드
전송 방식
stdio, streamable-http
최신 버전i
1.0.3
카테고리i
기타
레지스트리 공개i
2026년 11월 5일
코드 마지막 변경i
2026년 11월 5일
제작자
sftgroup
패키지
npm: @onvcodes/mcp-server
웹사이트
onv.codes
레지스트리 상태
활성

어떤 앱에서 쓸 수 있나요

이 서버의 연결 방식과 각 앱의 공식 문서를 바탕으로 했어요. 2026년 11월 10일 확인.

인터넷으로 연결하는 앱

ClaudeChatGPTGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatOpen WebUIRaycast

내 컴퓨터에서 실행하는 앱

ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast

모든 앱과 장단점 →

할 수 있는 일

도구 이름과 설명은 서버가 2026년 11월 11일에 알려 준 그대로예요. 우리가 아니라 제작자가 쓴 글이고, 일반 텍스트로만 보여 드려요.

  • platform_market_quote

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

  • platform_market_overview

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

  • platform_market_ticker

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

  • platform_market_factors

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

  • platform_symbol_search

    【行情】搜索平台支持的交易标的(币种/交易对)。参数 query 为关键词如 BTC。(cost: free)

  • platform_quick_analysis

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

  • platform_list_agents

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

  • platform_get_agent

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

  • 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)

  • platform_backtest_result

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

  • platform_backtest_history

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

  • platform_explain_backtest

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

  • platform_explain_portfolio

    【行情】解释我的持仓与账户风控:逐仓名义价值 / 未实现盈亏 / 杠杆,以及账户敞口、当日盈亏、保证金使用率、熔断状态。返回结构化卡片,每个数字带 source(来源接口 + 字段),narrative.traces 写明口径公式;不做收益预测。(cost: free)

  • platform_explain_factors

    【行情】解释一次回测里各因子对收益的贡献:同一指标代码 / 区间 / 参数,逐个剔除一个因子列重跑,用指标差分(基准 − 剔除后)给出边际贡献,并把每个数字的 source 写明(基准结果 / ablate(id))。参数 runId / jobId 至少给一个,maxFactors 可选(默认 3,最大 5)。(cost: free)

  • platform_subscription_status

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

  • 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 身份直接执行)

  • platform_manage_strategy

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

  • platform_publish_strategy

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

  • platform_subscribe_guide

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

  • platform_subscribe_plan

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

  • platform_ai_generate

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

  • platform_ai_optimize

    【策略】AI 多轮优化策略(写操作,需用户确认):输入 prompt 描述策略目标,自动生成→回测→分析→改进(最多 maxRounds 轮,1-5,默认 3)。耗时较长。给了 initialCode 时第 1 轮不生成:直接回测这份既有代码作基线,第 2 轮起在其上改进(A3)。strategyParams 为指标参数覆盖(对齐 /api/cex/indicator/backtest 的 params)。context 为可选结构化学徒上下文(B2-a,失败因子/评审结论/目标指标),独立注入 LLM。每轮回传 rounds[].params(本轮实际

  • platform_account_overview

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

  • platform_positions

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

  • platform_strategy_positions

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

  • platform_strategy_trades

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

  • platform_strategy_performance

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

  • platform_close_preview

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

  • platform_trade_history

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

  • platform_credentials

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

  • platform_risk_config

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

  • platform_factory_runs

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

  • platform_dex_quote

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

  • platform_place_order

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

  • platform_cancel_order

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

  • platform_close_position

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

  • platform_flat_all

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

  • platform_set_risk_config

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

  • platform_set_breaker

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

  • platform_reset_breaker

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

  • platform_dex_swap

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

  • platform_factory_run

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

기본 점검i

누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 12일 점검

  • ✓ 통과

    제작자와 저장소 일치

    레지스트리 이름이 도메인 onv.codes 기준으로 확인되었어요(레지스트리가 도메인 소유를 확인해요)

  • ✓ 통과

    계속 관리되고 있음

    코드 마지막 변경: 7일 전

  • ✓ 통과

    라이선스 있음

    Apache-2.0 사용

  • ✓ 통과

    엔드포인트 응답

    354ms 만에 응답(HTTP 200)

  • – 해당 없음

    OAuth로 로그인

    로그인 필요 없음

  • ✓ 통과

    도구 설명에 숨겨진 지시 없음

    도구 설명 46개를 읽었고, AI에게 보내는 숨겨진 지시는 없었어요

토론

질문하고, 팁을 나누고, 안 되는 점을 알려 주세요. "도움이 됨"이 많은 순서예요.

아직 글이 없어요. 처음으로 질문하거나 공유해 보세요.

이곳의 글은 사용자가 쓴 것으로, PopNx 팀의 글이 아니에요.

Google로 로그인하고 글쓰기

사용자 리뷰

아직 리뷰가 없어요

Google로 로그인하고 리뷰 쓰기

기타 카테고리의 다른 서버와 비교i

  • 이 카테고리의 다른 서버 19309개 중 0%보다 스타가 많아요
  • 이 카테고리의 다른 서버 19309개 중 85%보다 최근에 레지스트리에 공개됐어요
  • 기본 점검 결과가 이 카테고리의 다른 서버 19309개 중 100%와 같거나 더 좋아요

레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.

자주 묻는 질문

Onv MCP, 안전한가요?

해당하는 기본 점검 5개 중 5개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.

어떤 키나 코드가 필요한가요?

레지스트리에 필수 키가 나와 있지 않아요. 다만 처음 쓸 때 로그인을 요구하는 서버도 있어요.

내 컴퓨터에서 실행되나요, 클라우드에서 실행되나요?

둘 다 가능해요. 내 컴퓨터에 설치해도 되고, 클라우드 버전에 연결해도 돼요.

아직 관리되고 있나요?

GitHub 저장소는 마지막으로 7일 전 변경됐고, 최신 버전(1.0.3)은 7일 전 레지스트리에 올라왔어요.

어떤 앱에서 쓸 수 있나요?

Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. URL로 연결되므로 원격 MCP를 지원하는 앱에서도 쓸 수 있어요. 예: ChatGPT Business 이상.

대신 쓸 수 있는 건 뭐가 있나요?

같은 카테고리에는: World Monitor, Claude Flow, Windmill

같은 카테고리의 다른 것

같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.

카드 보는 법:↓ 주간 다운로드i★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i

World Monitor

Real-time global intelligence on conflict, markets, energy, trade, shipping and cyber. 102 tools.

제작자: koala73널리 사용됨★ 9만오늘 업데이트

클라우드에서 실행✓ 서비스 회사 · worldmonitor.app

Claude Flow

AI orchestration with hive-mind swarms, neural networks, and 87 MCP tools for enterprise dev.

제작자: ruvnet널리 사용됨↓ 1.4만/주★ 8.1만14개월 전 업데이트

내 컴퓨터에서 실행

Windmill

Run Windmill scripts and flows and manage jobs, schedules, resources and variables.

제작자: windmill-labs널리 사용됨★ 1.9만오늘 업데이트

클라우드에서 실행

제작자의 README

README 열기

제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.

@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 (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:

{

"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。

cd mcp-server

npm install npm run build # tsup 打包 ESM + CJS + dts 到 dist/ npm test # vitest(工具 schema / 注册测试)

启动:

# 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 配置
{

"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