ต้นแบบ · รุ่นทดลอง: มีทุก server ในทะเบียนทางการ อัปเดตทุก 30 นาที รีวิวและบัญชีผู้ใช้จะมาในขั้นถัดไป
PopNx MCPที่รวม MCP สำหรับคนใช้ AI · อธิบายเป็นภาษาคน

Onv MCP

โดย sftgroupรุ่น 1.0.3i★ –iบนเครื่องหรือคลาวด์
ชื่อใน registrycodes.onv/onv-mcp

ติดตั้ง

ภาพรวม

คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)

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

สามเสาของ PopNx MCP

สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน

ใช้ทำอะไรได้

ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry

  • การเชื่อมต่อ: บนเครื่องหรือคลาวด์
  • ช่องทาง (transport): stdio, Streamable HTTP
  • หมวด: อื่น ๆ

ติดตั้ง

เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง

ก่อนติดตั้ง

ต้องเตรียมก่อน

  • รันบนคลาวด์ไม่ต้องลงโปรแกรมเพิ่ม ต่อผ่านอินเทอร์เน็ตได้เลย
  • npmติดตั้ง Node.js (มีคำสั่ง npx) ในเครื่อง

คุณใช้แอปไหน

เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”

ใช้ได้ทั้ง Claude บนเว็บ แอปคอมพิวเตอร์ และมือถือ:

  1. เปิด Settings → Connectors
  2. กด Add custom connector
  3. วางที่อยู่ด้านล่างแล้วกด Add
  4. ถ้าให้ล็อกอิน ให้ล็อกอินกับผู้ทำ
SettingsConnectors1+ Add2https://…3
https://onv.codes/mcp

หรือรันในเครื่องคุณ

เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json

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

พิมพ์คำสั่งนี้ใน Terminal

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

หรือรันในเครื่องคุณ

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

เปิดใน Cursor

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json

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

หรือรันในเครื่องคุณ

เปิดใน Cursor

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json

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

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

เปิดใน VS Code

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .vscode/mcp.json ของโปรเจกต์

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

หรือรันในเครื่องคุณ

เปิดใน VS Code

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .vscode/mcp.json ของโปรเจกต์

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

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

ChatGPT ต่อได้เฉพาะ server ที่อยู่บนอินเทอร์เน็ต:

  1. เปิด ChatGPT บนเว็บ → Settings → Connectors (Apps)
  2. กด Create หรือ Add (บางแพ็กเกจต้องเปิด Developer mode ใน Advanced ก่อน)
  3. วางที่อยู่ด้านล่าง ตั้งชื่อ แล้วบันทึก
  4. ถ้าให้ล็อกอิน ให้ล็อกอินกับผู้ทำ
SettingsConnectors1+ Create2https://…3
https://onv.codes/mcp

ชื่อเมนูอาจต่างกันเล็กน้อยตามแพ็กเกจและรุ่นของแอป

ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี

ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README

ทำอะไรได้บ้าง

ชื่อและคำอธิบายเครื่องมือตามที่ server ตอบมาเมื่อ 6 พ.ย. 2569 ผู้ทำเป็นคนเขียน ไม่ใช่เรา แสดงเป็นข้อความล้วน

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

เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 6 พ.ย. 2569

  • ✓ ผ่าน

    ตัวตนผู้ทำตรงกับ repo

    ชื่อใน registry ยืนยันโดเมน onv.codes แล้ว (registry ตรวจความเป็นเจ้าของโดเมน)

  • … ยังไม่ตรวจ

    ยังมีคนดูแล

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • … ยังไม่ตรวจ

    มีสัญญาอนุญาต (license)

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • ✓ ผ่าน

    endpoint ตอบ

    ตอบกลับใน 779 ms (HTTP 200)

  • – ไม่เกี่ยว

    ล็อกอินแบบ OAuth

    ไม่ต้องล็อกอิน

  • ✓ ผ่าน

    คำอธิบายเครื่องมือไม่มีคำสั่งแอบแฝง

    อ่านคำอธิบายเครื่องมือ 44 ตัวแล้ว ไม่พบคำสั่งแอบแฝงถึง AI

เทียบกับตัวอื่นในหมวด อื่น ๆi

  • ดาวมากกว่า 0% ของอีก 32466 ตัวในหมวดนี้
  • ส่งรุ่นใหม่เข้า registry ล่าสุดกว่า 95% ของอีก 32466 ตัวในหมวดนี้
  • ผลตรวจเบื้องต้นดีกว่าหรือเท่ากับ 100% ของอีก 32466 ตัวในหมวดนี้

เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo

คำถามที่พบบ่อย

Onv MCP ปลอดภัยไหม?

จากการตรวจเบื้องต้นของเรา ผ่าน 3 จาก 3 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น

ต้องใช้กุญแจหรือรหัสอะไรบ้าง?

registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก

ตัวนี้รันบนเครื่องหรือบนคลาวด์?

ได้ทั้งสองแบบ จะลงในเครื่องหรือต่อผ่านคลาวด์ก็ได้

ยังมีคนดูแลอยู่ไหม?

repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (1.0.3) เข้า registry เมื่อวานซืน

ใช้กับโปรแกรมไหนได้บ้าง?

โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต่อผ่าน URL จึงใช้กับโปรแกรมที่รับ remote MCP ได้ เช่น ChatGPT ที่เปิดโหมดนักพัฒนา

มีตัวไหนใช้แทนได้บ้าง?

ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, HotCodePush

ตัวที่ใช้แทนได้

server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว

อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi

Spec Driven Development

โดย formulahendry

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

รันบนเครื่อง★ 440MITอัปเดต 14 เดือนที่ผ่านมา
ติดตั้ง

Remote Desktop Commander

โดย desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

รันบนคลาวด์★ 211อัปเดต เมื่อวาน
ติดตั้ง

HotCodePush

โดย hotcodepush-team

Manage over-the-air (OTA) updates for React Native, Expo, Capacitor and Cordova apps.

รันบนคลาวด์อัปเดต วันนี้
ติดตั้ง

README จากผู้ทำ

เปิดอ่าน README

ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ 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

ถาม PopNx