Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
量化策略回测、组合配置与多交易所执行(14 家通道)
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
ใช้ได้ทั้ง Claude บนเว็บ แอปคอมพิวเตอร์ และมือถือ:
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/mcpclaude mcp add onv -- npx -y @onvcodes/mcp-serverวางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"onv": {
"url": "https://onv.codes/mcp"
}
}
}วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"onv": {
"command": "npx",
"args": [
"-y",
"@onvcodes/mcp-server"
]
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"onv": {
"type": "http",
"url": "https://onv.codes/mcp"
}
}
}วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"onv": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@onvcodes/mcp-server"
]
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ChatGPT ต่อได้เฉพาะ server ที่อยู่บนอินเทอร์เน็ต:
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 身份直接执行)
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 6 พ.ย. 2569
ชื่อใน registry ยืนยันโดเมน onv.codes แล้ว (registry ตรวจความเป็นเจ้าของโดเมน)
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตอบกลับใน 779 ms (HTTP 200)
ไม่ต้องล็อกอิน
อ่านคำอธิบายเครื่องมือ 44 ตัวแล้ว ไม่พบคำสั่งแอบแฝงถึง AI
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 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
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Manage over-the-air (OTA) updates for React Native, Expo, Capacitor and Cordova apps.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
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)
backend/routes/platform-mcp.ts), 本服务只是把平台工具翻译成 MCP 协议(zod schema 注册 + 调用转发)。__platform_health 兜底工具报告状态(tools/list 不为空,便于排查),正常时注册全部平台工具。tools/list 返回 41 个平台工具,按权限分层,并按 4 组展示(market / strategy / portfolio / account):
| 分层 | 数量 | 说明 |
|---|---|---|
| L0 公开读(无需身份) | 10 | market_* · symbol_search · quick_analysis · list_agents · get_agent · plans · wallet_balance |
| L1 用户读(需 API Key / 登录绑定用户) | 15 | my_strategies · backtest_* · subscription_* · user_* · account_overview · positions · trade_history · credentials · risk_config · factory_runs · dex_quote |
| L2 写操作(需授权 scope) | 16 | run_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开启工具端点(生产已开启)。
生产 MCP Server 已随 onv.codes 统一栈部署(容器 onv-mcp,nginx /mcp 与 /mcp/ 反代):
https://onv.codes/mcphttps://onv.codes/mcp/sseAuthorization: Bearer (OAuth / 平台 JWT)X-Api-Key: ah_… / ahk_…(平台 / Agent Key)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 → Settings → MCP → Add new MCP server:
onvhttps://onv.codes/mcpX-Api-Key: ah_你的平台APIKey旧版 Cursor 若不支持 HTTP 类型,可退回 SSE:https://onv.codes/mcp/sse。
支持「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
ONV_API_KEY=ah_xxx node dist/server.js --http
| 变量 | 必填 | 默认值 | 说明 |
|---|---|---|---|
ONV_API_KEY | - | - | 服务端兜底 Key(ah_ / ahk_ 前缀)。客户端自带凭证时优先用客户端的;均缺省时仅公开工具可用 |
ONV_BASE_URL | - | https://onv.codes | 平台 API 根地址(内网联调可指 http://localhost:3100) |
PORT | - | 3002 | HTTP 模式监听端口 |
MCP_MESSAGE_PATH | - | /message | SSE 握手事件里的消息投递路径;经 nginx 反代时配置(生产为 /mcp/message) |
{
"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" } } } }
| Key | 前缀 | 用途 | 写权限 |
|---|---|---|---|
| 平台 API Key | ah_ | 外部应用 / MCP 调用,绑定用户 + permissions | permissions 含工具 scope(如 backtest:run / agents:write)或 admin 才能直执写工具 |
| Agent API Key | ahk_ | Agent 身份直调 | scopes 含 write / admin 才能直执写工具 |
X-Api-Key 能解析到有效用户(无效/吊销返回 401)。?at= HMAC token)写操作只落 pending,由前端操作卡确认后执行。apps/onv-core/deploy/docker-compose.onv.yml 的 mcp(:3002, build context apps/onv,dockerfile mcp-server/Dockerfile)。location = /mcp / location /mcp/ 反代到 mcp:3002(Streamable HTTP 关 buffering + 3600s 读超时); location /api/mcp/ 反代到 onv-backend:3100(工具发现/调用端点)。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 过期),客户端应重连重新握手 |
Apache-2.0