MCP servers › codes.onv › onv-mcp
MCP server · registry snapshot 2026-11-05 · last tested 2026-11-05
onv-mcp MCP server
Registry name codes.onv/onv-mcp
by onv.codes · domain (the registry's namespace rule)repository owner on GitHub: sftgroup (personal account)Source ↗npm ↗Website ↗
量化策略回测、组合配置与多交易所执行(14 家通道) — the publisher's description
Summary
codes.onv/onv-mcp is a remote and local MCP server listed in the official MCP registry at version 1.0.3, under the namespace of the domain onv.codes. Its linked repository is github.com/sftgroup/onv-mcp; GitHub reports its owner as sftgroup, a personal account. On 2026-11-05 ProtocolProbe connected to it in read-only mode and read its inventory: 44 tools, 0 resources and 0 prompts.
Record checks
- met: Registry entry is active and says how to run it
- met: Source repository link opens
- met: Repository is not archived
- met: Code pushed to the repository in the 90 days before our check
- met: Repository publishes a security policy (SECURITY.md)
- met: Package names its licence with a standard (SPDX) identifier
- met: The version the registry lists can be installed and is not withdrawn
- not met: npm package carries build provenance (attestation)
- met: No known critical or high advisory in the package or its dependencies
- #5,612 of 18,557 packages by monthly downloads, tied with 10 others
- Not ranked by stars: 0 stars (ranked from 10)
From public records, not a safety rating. Each check with its reason · Is it safe to install?
Operate this server? Correct a fact · README badge · Run the checks yourself
Key facts
- Runs
- remote and local package
- Transport
- standard input/output, streamable HTTP
- Your own values
- none declared (not a guarantee)
- Sign-in
- none needed to open a session
- Package
- npm · listed version current
- License
- Apache-2.0
- Dependencies
- no known high or critical advisories
- Repository
- public
- Tools
- 44
- Last tested
- 2026-11-05
How a client gets in
Connects without signing in
Read from the server's public metadata on 2026-11-05 (onv.codes), in our read-only connection; no tool was called. It may have changed since. How it is read
Tool list at the three APIs
Not sent yet for this version (1.0.3).
Observed fact
This server accepted a session without any credential and lists 16 tools whose name or declaration suggests they change data (platform_run_backtest, platform_manage_strategy, platform_publish_strategy, platform_subscribe_guide, platform_subscribe_plan and 11 more). That is our reading of the names; we did not call them. Source: our connection, 2026-11-05.
How fresh this is
- Live-tested
- yes, a real session (not a text-only review)
- Last tested
- 2026-11-05
- Mode
- read-only (no tool calls)
- Latest version
- 1.0.3, published 2026-11-04 (registry, as of the 2026-11-05 snapshot)
- First listed version
- 2026-11-04 (earliest version still in the registry; older removed versions would be earlier)
- Registry data
- snapshot 2026-11-05
- Package and repository
- checked 2026-11-05
- Engine
- mcp-runtime-engine@0.1.0 · sdk@1.32.0
Dead or stale signals
None found in the records we hold
Looked for and not found: deprecated in the registry; listed version cannot be installed or is withdrawn; repository link does not open; repository archived; no push in over 365 days. Each line is a dated fact from a public record. It does not say whether the server still works, and a record can change after the date shown.
Changes since the last refresh
New in the registry: not in the list of 2026-11-04, listed on 2026-11-05 with version 1.0.3 (published 2026-11-04).
Source: the official MCP Registry list on 2026-11-04 and on 2026-11-05.
What it is
What does this server offer?
Observed inventoryNone of its 44 tools are described as changing anything. For 44 the reading was uncertain, so no mark is shown.
- platform_market_quote
“【行情】查询平台行情 K 线。参数 symbol 为交易标的(如 BTCUSDT / ETHUSDT),timeframe 可选 1m/5m/15m/30m/1H/4H/1D,limit 最大 299。返回该标的的 K 线数组。(cost: free)”
Publisher declares: read-only yes · destructive no
3 inputs, 1 required
symbolstringrequired“交易标的,如 BTCUSDT(必填)”timeframestring“K 线周期,如 1H / 4H / 1D(可选)”limitnumber“返回 K 线条数上限(可选,最大 299)”
- platform_market_overview
“【行情】市场总览:主流币种快照、涨跌幅、成交量等市场状态概览。(cost: free)”
Publisher declares: read-only yes · destructive no
Takes no inputs.
- platform_market_ticker
“【行情】查询标的实时行情 ticker。参数 symbol 为交易标的(如 BTCUSDT,可选,缺省返回全部)。(cost: free)”
Publisher declares: read-only yes · destructive no
1 input
symbolstring“交易标的,如 BTCUSDT(可选)”
- platform_market_factors
“【行情】查询标的的市场因子数据(技术/宏观因子)。参数 symbol 为交易标的。(cost: free)”
Publisher declares: read-only yes · destructive no
2 inputs, 1 required
symbolstringrequired“交易标的,如 BTCUSDT(必填)”limitnumber“返回因子条数上限(可选)”
- platform_symbol_search
“【行情】搜索平台支持的交易标的(币种/交易对)。参数 query 为关键词如 BTC。(cost: free)”
Publisher declares: read-only yes · destructive no
1 input, 1 required
querystringrequired“搜索关键词,如 BTC(必填)”
- platform_quick_analysis
“【行情】对指定标的进行快速 AI 技术分析(拉取行情并生成分析结论)。参数 symbol 为交易标的,如 BTCUSDT。(cost: ≈ 22–28 credits/次(按实际 tokens 结算))”
Publisher declares: read-only yes · destructive no
2 inputs, 1 required
symbolstringrequired“交易标的,如 BTCUSDT(必填)”timeframestring“K 线周期(可选)”
- platform_list_agents
“【策略】列出平台上已发布的公开 Agent(策略),可按能力过滤与分页。参数 capabilities 可选(如 dex/defi)。(cost: free)”
Publisher declares: read-only yes · destructive no
4 inputs
capabilitiesstring“按能力过滤(可选,如 dex)”activeOnlyboolean“仅返回活跃 Agent(可选)”pagenumber“页码(可选)”pageSizenumber“每页数量(可选)”
- platform_get_agent
“【策略】获取单个已发布的公开 Agent(策略)详情。参数 agentId 为策略 ID。(cost: free)”
Publisher declares: read-only yes · destructive no
1 input, 1 required
agentIdstringrequired“策略 / Agent ID(必填)”
- platform_plans
“【账户与额度】查询平台订阅套餐列表(免费/付费 tier 与价格)。无需参数。(cost: free)”
Publisher declares: read-only yes · destructive no
Takes no inputs.
- platform_my_strategies
“【策略】查询我创建的**策略市场/订阅域**策略列表(onv-backend `strategies` 表,按钱包地址归属,邮箱注册账号回退按数字 userId)。⚠️ 不含实盘策略——实盘策略在 `qd_strategies_trading`,请用 REST `GET /api/cex/strategies`(该端点不支持 status 过滤,返回全部状态)。status 可选 draft/p…”
Publisher declares: read-only yes · destructive no
3 inputs
statusstring“状态过滤(可选,draft/published/archived)”pagenumber“页码(可选)”pageSizenumber“每页数量(可选)”
- platform_backtest_result
“【策略】查询回测任务结果。参数 jobId 为 run_backtest 返回的任务 ID。(cost: free)”
Publisher declares: read-only yes · destructive no
1 input, 1 required
jobIdstringrequired“回测任务 ID(必填)”
- platform_backtest_history
“【策略】查询回测历史(可指定策略 ID 过滤)。参数 strategyId 可选。(cost: free)”
Publisher declares: read-only yes · destructive no
1 input
strategyIdstring“策略 ID(可选,缺省返回全部)”
Show 32 more tools
- platform_explain_backtest
“【行情】解释一次回测「为什么亏 / 为什么没成交」。返回结构化卡片(数据区间、样本内外、最大回撤、数据缺失)与逐条原因。参数 runId / jobId / strategyId 至少给一个,三选一即可。(cost: free)”
Publisher declares: read-only yes · destructive no
3 inputs
runIdnumber“回测记录 ID(qd_backtest_runs.id,可选)”jobIdstring“回测任务 ID(run_backtest 返回,可选)”strategyIdnumber“策略 ID(取最近一次回测,可选)”
- platform_subscription_status
“【账户与额度】查询对某 Agent 的订阅状态。参数 strategyId 或 agentId。(cost: free)”
Publisher declares: read-only yes · destructive no
1 input, 1 required
strategyIdstringrequired“策略 / Agent ID(必填)”
- platform_subscription_list
“【账户与额度】查询我的订阅列表。无需参数。(cost: free)”
Publisher declares: read-only yes · destructive no
Takes no inputs.
- platform_user_subscription
“【账户与额度】查询我的平台套餐订阅状态(当前套餐/到期时间)。无需参数。(cost: free)”
Publisher declares: read-only yes · destructive no
Takes no inputs.
- platform_user_usage
“【账户与额度】查询我的平台用量汇总(今日 bars / 本月 tokens / 剩余配额)。无需参数。(cost: free)”
Publisher declares: read-only yes · destructive no
Takes no inputs.
- platform_run_backtest
“【策略】提交回测任务(写操作,需用户确认)。strategy 为策略代码字符串或已有策略 ID(纯数字),symbol 为交易标的如 BTCUSDT,timeframe 可选 1m/5m/15m/30m/1H/4H/1D。params 为指标参数覆盖(可选,写入引擎 indicator_params,与代码内 # @param 默认值合并、此处优先),与同步链 /api/cex/indicato…”
Publisher declares: read-only no · destructive yes
6 inputs, 2 required
strategystringrequired“策略代码或策略 ID(纯数字视为 ID)”symbolstringrequired“交易标的,如 BTCUSDT(必填)”timeframestring“K 线周期(可选)”startDatestring“开始日期,如 2024-01-01(可选)”endDatestring“结束日期,如 2024-12-31(可选)”paramsobject“指标参数覆盖,如 {"fast_period":20,"slow_period":60}(可选)”
- platform_manage_strategy
“【策略】管理自己的策略(写操作,需用户确认)。action 为 create / update / delete;update/delete 需要 strategyId;create/update 用 data 传策略数据(data.name 必填,data.strategy_category 为 dex/defi)。(cost: free)(写操作,外部调用将以 apikey 身份直接执行)”
Publisher declares: read-only no · destructive yes
3 inputs, 1 required
actionstringrequired“要执行的操作”strategyIdstring“策略 ID(update / delete 必填)”dataobject“策略数据(create / update 必填)”
- platform_publish_strategy
“【策略】发布策略(写操作,需用户确认)。name 必填、category 为 dex/defi;code 为策略代码(可选);subscription_price 订阅价格;strategy_id 可指定已有草稿发布。发布为公开上架。(cost: free)(写操作,外部调用将以 apikey 身份直接执行)”
Publisher declares: read-only no · destructive yes
9 inputs, 2 required
namestringrequired“策略名称(必填)”categorystringrequired“分类(必填)”descriptionstring“策略描述(可选)”codestring“策略代码(可选)”paramsobject“策略参数(可选)”performanceobject“历史表现数据(可选)”subscription_pricenumber“订阅价格(可选)”payment_tokenstring“支付代币,默认 ETH”strategy_idnumber“已有草稿 ID(可选,发布该草稿)”
- platform_subscribe_guide
“【账户与额度】订阅引导(写操作,需用户确认):为指定 Agent 生成订阅引导信息(周期可选 day/week/month/year),确认后返回订阅链接与支付信息,不自动扣费。(cost: free)(写操作,外部调用将以 apikey 身份直接执行)”
Publisher declares: read-only no · destructive yes
2 inputs, 1 required
agentIdstringrequired“要订阅的 Agent / 策略 ID(必填)”periodstring“订阅周期(可选)”
- platform_subscribe_plan
“【账户与额度】购买平台套餐(写操作,需用户确认):plan_id 必填(来自 platform_plans),period 可选 day/week/month/year,payment_method 可选 chain/x402。创建支付订单,支付在平台完成。(cost: free)(写操作,外部调用将以 apikey 身份直接执行)”
Publisher declares: read-only no · destructive yes
3 inputs, 1 required
plan_idnumberrequired“套餐 ID(必填)”periodstring“订阅周期(可选)”payment_methodstring“支付方式(可选,默认 chain;仅支持加密货币)”
- platform_ai_generate
“【策略】AI 生成策略代码(写操作,需用户确认):输入自然语言 prompt(可选 context 传入研究流水线结构化学徒上下文),返回策略代码与解释。(cost: ≈ 36–48 credits/次(按实际 tokens 结算))(写操作,外部调用将以 apikey 身份直接执行)”
Publisher declares: read-only no · destructive yes
2 inputs, 1 required
promptstringrequired“策略描述提示词,如「BTC 均线金叉策略」(必填)”contextobject“可选结构化学徒上下文(B2-a):failedReasons/retiredFactors/reviewNotes/targetMetrics,独立注入 LLM,不进 prompt 文本”
- platform_ai_optimize
“【策略】AI 多轮优化策略(写操作,需用户确认):输入 prompt 描述策略目标,自动生成→回测→分析→改进(最多 maxRounds 轮,1-5,默认 3)。耗时较长。给了 initialCode 时第 1 轮不生成:直接回测这份既有代码作基线,第 2 轮起在其上改进(A3)。strategyParams 为指标参数覆盖(对齐 /api/cex/indicator/backtest 的 pa…”
Publisher declares: read-only no · destructive yes
7 inputs, 1 required
promptstringrequired“策略目标描述(必填)”categorystring“分类(可选,默认 dex)”maxRoundsnumber“优化轮数 1-5(可选,默认 3)”backtestParamsobject“回测参数(可选)”initialCodestring“待改进的既有策略代码(可选;提供时第 1 轮直接回测它作基线)”strategyParamsobject“指标参数覆盖,写入引擎 indicator_params(可选)”contextobject“可选结构化学徒上下文(B2-a):failedReasons/retiredFactors/reviewNotes/targetMetrics,独立注入 LLM,不进 prompt 文本”
- platform_account_overview
“【持仓与执行】我的跨所账户总览:各交易所余额、持仓与币种归并(无凭证返回空)。(cost: free)”
Publisher declares: read-only yes · destructive no
Takes no inputs.
- platform_positions
“【持仓与执行】我的全部持仓(跨交易所扁平化,含方向/数量/开仓价/未实现盈亏)。可按交易所或交易对过滤。(cost: free)”
Publisher declares: read-only yes · destructive no
2 inputs
exchangeIdstring“交易所 ID(可选,如 binance)”symbolstring“交易对(可选,如 BTC/USDT)”
- platform_strategy_positions
“【持仓与执行】查询**实盘策略**的持仓(策略级,按实盘策略 ID)。⚠️ ID 取自 `qd_strategies_trading`(REST `GET /api/cex/strategies`),不是策略市场/订阅域的 `strategies` 表 ID。返回方向/数量/开仓价/未实现盈亏。(cost: free)”
Publisher declares: read-only yes · destructive no
1 input, 1 required
strategyIdnumberrequired“实盘策略 ID(必填)”
- platform_strategy_trades
“【持仓与执行】查询**实盘策略**的成交记录(策略级,按实盘策略 ID;含平仓原因与模拟盘标记)。ID 取自 `qd_strategies_trading`。(cost: free)”
Publisher declares: read-only yes · destructive no
2 inputs, 1 required
strategyIdnumberrequired“实盘策略 ID(必填)”limitnumber“返回条数上限(可选,默认 200,最大 1000)”
- platform_strategy_performance
“【持仓与执行】查询**实盘策略**的绩效(策略级,按实盘策略 ID):权益曲线、最新权益、区间收益与点数。ID 取自 `qd_strategies_trading`。(cost: free)”
Publisher declares: read-only yes · destructive no
1 input, 1 required
strategyIdnumberrequired“实盘策略 ID(必填)”
- platform_close_preview
“【持仓与执行】一键全平预演(dry-run,不会下单):列出将被平仓的合约持仓 / 现货余额目标与合计盈亏。可按凭证或交易对过滤。(cost: free)”
Publisher declares: read-only yes · destructive no
2 inputs
credentialIdnumber“凭证 ID(可选,来自 platform_credentials)”symbolstring“交易对(可选,如 BTC/USDT)”
- platform_trade_history
“【持仓与执行】查询我的最近成交记录(默认 50 条,最多 200)。(cost: free)”
Publisher declares: read-only yes · destructive no
2 inputs
limitnumber“返回条数(可选,1-200)”offsetnumber“偏移量(可选)”
- platform_credentials
“【账户与额度】查询我绑定的交易所凭证(脱敏,不含密钥)。返回凭证 ID/交易所/名称,供下单、平仓、查询使用。(cost: free)”
Publisher declares: read-only yes · destructive no
Takes no inputs.
- platform_risk_config
“【账户与额度】查询我的账户级风控面板:配置、熔断状态、聚合风险与策略风险。(cost: free)”
Publisher declares: read-only yes · destructive no
Takes no inputs.
- platform_factory_runs
“【策略】查询我的策略工厂运行记录;传 runId 时返回该次运行详情。(cost: free)”
Publisher declares: read-only yes · destructive no
2 inputs
limitnumber“返回条数(可选,默认 20)”runIdnumber“运行 ID(可选,传则取详情)”
- platform_dex_quote
“【行情】链上 DEX 报价(只读):chain 如 ETH/BSC/BASE/SOL,fromToken/toToken 为代币地址或符号,amount 为最小单位字符串。(cost: free)”
Publisher declares: read-only yes · destructive no
5 inputs, 3 required
chainstringrequired“链短名,如 ETH / BSC / BASE / SOL”fromTokenstring“卖出代币(地址或符号;原生币可留空)”toTokenstringrequired“买入代币(地址或符号)”amountstringrequired“卖出数量(最小单位字符串)”slippagenumber“滑点百分比(可选,默认 1)”
- platform_place_order
“【持仓与执行】真实下单(写操作,需确认,动用真实资金):credentialId 来自 platform_credentials,amount 为 USDT 名义金额;orderType=market|limit,限价单必填 price。执行前校验账号级「AI 实盘授权」,未开启一律拒绝。(cost: free)(写操作,外部调用将以 apikey 身份直接执行)”
Publisher declares: read-only no · destructive yes
11 inputs, 4 required
credentialIdnumberrequired“交易所凭证 ID(必填)”symbolstringrequired“交易对,如 BTC/USDT(必填)”sidestringrequired“方向(必填)”amountnumberrequired“下单金额,USDT 名义(必填)”orderTypestring“订单类型(可选,默认 market)”pricenumber“限价(限价单必填)”leveragenumber“杠杆(可选,默认 1)”marketTypestring“市场类型 swap/spot(可选)”tpPricenumber“止盈价(可选)”slPricenumber“止损价(可选)”idempotencyKeystring“幂等键(可选,防重复下单)”
- platform_cancel_order
“【持仓与执行】撤销未成交挂单(写操作,需确认):exchangeOrderId 与 clientOrderId 二选一。(cost: free)(写操作,外部调用将以 apikey 身份直接执行)”
Publisher declares: read-only no · destructive yes
5 inputs, 2 required
credentialIdnumberrequired“交易所凭证 ID(必填)”symbolstringrequired“交易对(必填)”exchangeOrderIdstring“交易所订单 ID(与 clientOrderId 二选一)”clientOrderIdstring“客户端订单 ID(与 exchangeOrderId 二选一)”marketTypestring“市场类型 swap/spot(可选)”
- platform_close_position
“【持仓与执行】平仓(写操作,需确认):按 credentialId + symbol 平掉持仓;closeScope=full 全平,传 size 时部分平。(cost: free)(写操作,外部调用将以 apikey 身份直接执行)”
Publisher declares: read-only no · destructive yes
5 inputs, 2 required
credentialIdnumberrequired“交易所凭证 ID(必填)”symbolstringrequired“交易对(必填)”sizenumber“平仓数量(可选,缺省全平)”closeScopestring“full=全平(可选,默认 full)”marketTypestring“市场类型 swap/spot(可选)”
- platform_flat_all
“【持仓与执行】一键全平(写操作,需确认):默认 dryRun=true 只预演;确认执行须显式 dryRun=false。可按凭证/交易对/市场类型限定,marketType=spot 时清现货余额。(cost: free)(写操作,外部调用将以 apikey 身份直接执行)”
Publisher declares: read-only no · destructive yes
4 inputs
credentialIdnumber“凭证 ID(可选,缺省全部)”symbolstring“交易对(可选)”marketTypestring“swap/spot(可选)”dryRunboolean“仅预演(默认 true)”
- platform_set_risk_config
“【账户与额度】更新账户级风控配置(写操作,需确认):config 为要修改的字段对象(如日亏损上限、单笔上限)。(cost: free)(写操作,外部调用将以 apikey 身份直接执行)”
Publisher declares: read-only no · destructive yes
1 input, 1 required
configobjectrequired“风控字段对象(必填)”
- platform_set_breaker
“【账户与额度】更新账户熔断配置(写操作,需确认):enabled 开关,可设日亏损上限、连续失败次数、gas 尖峰上限。(cost: free)(写操作,外部调用将以 apikey 身份直接执行)”
Publisher declares: read-only no · destructive yes
5 inputs
enabledboolean“是否启用熔断”dailyLossLimitUsdnumber“日亏损上限 USD(可选)”consecutiveFailLimitnumber“连续失败次数上限(可选)”gasSpikeLimitUsdnumber“gas 尖峰上限 USD(可选)”alertChannelsstring“告警通道(可选)”
- platform_reset_breaker
“【账户与额度】人工解除熔断(写操作,需确认):须提供 recoveryCode;解除后策略恢复实盘执行。(cost: free)(写操作,外部调用将以 apikey 身份直接执行)”
Publisher declares: read-only no · destructive yes
1 input, 1 required
recoveryCodestringrequired“解除码(必填)”
- platform_dex_swap
“【持仓与执行】链上 DEX 兑换(写操作,需确认,动用真实资金):钱包地址自动取本人智能账户,不接受任意地址;大额授权需 approvalToken(由平台签发)。(cost: free)(写操作,外部调用将以 apikey 身份直接执行)”
Publisher declares: read-only no · destructive yes
8 inputs, 3 required
chainstringrequired“链短名,如 ETH / BSC / BASE / SOL(必填)”fromTokenstring“卖出代币(地址或符号;原生币可留空)”toTokenstringrequired“买入代币(地址或符号,必填)”amountstringrequired“卖出数量(最小单位字符串,必填)”slippagenumber“滑点百分比(可选,默认 1)”amountUsdnumber“本次金额 USD 估值(可选,用于大额授权校验)”approvalTokenstring“大额授权确认 token(可选,平台签发)”referencestring“幂等参考号(可选)”
- platform_factory_run
“【策略】发起策略工厂运行(写操作,需确认):sourceType=llm(描述生成)/search(条件扫描)/optimize(优化现有策略,需 strategyId)。同一用户同时只允许一个运行。(cost: base 5 + 10/1k bars(>10000 部分 5/1k) + 1/1k tokens credits)(写操作,外部调用将以 apikey 身份直接执行)”
Publisher declares: read-only no · destructive yes
11 inputs
sourceTypestring“运行类型(可选,默认 llm)”symbolstring“交易对(可选,默认 BTC/USDT)”timeframestring“周期(可选)”intentstring“自然语言意图(llm 模式用)”strategyIdstring“被优化的策略 ID(optimize 必填,支持 s:/t: 前缀)”factorIdsarray“条件 ID 列表(search 模式用)”daysnumber“回测天数(可选)”maxCandidatesnumber“候选上限(可选)”nCandidatesnumber“生成候选数(llm 模式,可选)”searchBudgetnumber“搜索预算(可选)”thresholdsobject“指标阈值(可选)”
Each quoted sentence is the first sentence of the publisher’s own description. The kind of tool and the “changes data” mark are our AI model’s reading of that description, not something we tested: two differently worded runs had to agree, otherwise no label is shown, and nobody has checked them by hand. A tool without the “changes data” mark is described as only reading, searching or calculating, or the two runs did not agree. No tool was called. Read the publisher’s full description before relying on it. “Publisher declares” lists the hints the server itself sends with the tool (MCP annotations: read-only, destructive, idempotent, open-world); they are the publisher's claims, not checked by us. Inputs are the parameters in the tool's own input schema: name, declared type, whether it is required, and the first sentence of its description. Read 2026-11-05.
How well are its tools described?
Features #4 and #5
How clearly this server's own tool descriptions say what a tool does, and how consistent its tool list is. The first part is an AI model's yes/no reading of each description; the second part is counted. We do not turn it into a grade.
Descriptions
AI reading of each description
No AI reading was available for this server's tools (the two runs did not agree, or the listing was not reviewed).
Counted from the listing
- Parameters with a description
- 100% of 123
- Tools with a description
- 100% of 44
- Typical description length
- 108 characters
The tool set
Counted from the listing
- Tools
- 44
- Size of the list
- about 6,572 tokens for an agent to load (characters ÷ 4)
- Naming
- 44 of 44 names use snake_case
AI reading: easy to mix up
No pair found.
The AI items cover 0 of 44 tools: for a tool where two differently worded runs disagreed, that item is left out. They were not checked by hand, and no tool was called. “Easy to mix up” means two tools whose names or descriptions overlap without saying how they differ; the AI found none, comparing tools within groups of 40. We do not rate whether the tool set is complete or whether side effects are spelled out, because our AI reading of those was not reliable enough.
How do I add it to my client?
Config from the registry entry
From the npm package @onvcodes/mcp-server
Add to CursorAn install link in the format Cursor documents, holding the Cursor config below. The command runs the publisher’s code on your machine.
Claude Desktop · claude_desktop_config.json (Settings → Developer → Edit Config)
{
"mcpServers": {
"onv-mcp": {
"command": "npx",
"args": [
"-y",
"@onvcodes/mcp-server@1.0.3"
]
}
}
}Cursor · .cursor/mcp.json in a project, or ~/.cursor/mcp.json
{
"mcpServers": {
"onv-mcp": {
"command": "npx",
"args": [
"-y",
"@onvcodes/mcp-server@1.0.3"
]
}
}
}VS Code · .vscode/mcp.json
{
"servers": {
"onv-mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@onvcodes/mcp-server@1.0.3"
]
}
}
}VS Code (command line) · Bash or zsh terminal (macOS, Linux)
code --add-mcp '{"name":"onv-mcp","type":"stdio","command":"npx","args":["-y","@onvcodes/mcp-server@1.0.3"]}'Claude Code
claude mcp add --transport stdio onv-mcp -- npx -y @onvcodes/mcp-server@1.0.3
Cline · cline_mcp_settings.json (Cline CLI: ~/.cline/data/settings/; in the editor: MCP Servers → Configure → Configure MCP Servers)
{
"mcpServers": {
"onv-mcp": {
"command": "npx",
"args": [
"-y",
"@onvcodes/mcp-server@1.0.3"
],
"disabled": false,
"autoApprove": []
}
}
}Gemini CLI · ~/.gemini/settings.json, or .gemini/settings.json in a project
{
"mcpServers": {
"onv-mcp": {
"command": "npx",
"args": [
"-y",
"@onvcodes/mcp-server@1.0.3"
]
}
}
}OpenAI Codex · ~/.codex/config.toml, or .codex/config.toml in a trusted project
[mcp_servers.onv-mcp] command = "npx" args = ["-y", "@onvcodes/mcp-server@1.0.3"]
Zed · Zed settings file (command: zed: open settings file)
{
"context_servers": {
"onv-mcp": {
"command": "npx",
"args": [
"-y",
"@onvcodes/mcp-server@1.0.3"
]
}
}
}Try it in the MCP Inspector · runs on your machine, opens in your browser · Node 22.19+
npx @modelcontextprotocol/inspector@2.11.0 -- npx -y @onvcodes/mcp-server@1.0.3
- This runs the publisher's code on your machine (npx). Read its README first.
- The MCP Inspector lists the server's tools, resources and prompts; a tool you call there runs for real.
From the remote endpoint (Streamable HTTP)
We connected to this URL on 2026-11-05 (a read-only session: no tool was called).
Add to CursorAn install link in the format Cursor documents, holding the Cursor config below.
Claude Desktop or claude.ai
Settings → Connectors → Add custom connector, then paste: https://onv.codes/mcp
Cursor · .cursor/mcp.json in a project, or ~/.cursor/mcp.json
{
"mcpServers": {
"onv-mcp": {
"url": "https://onv.codes/mcp"
}
}
}VS Code · .vscode/mcp.json
{
"servers": {
"onv-mcp": {
"type": "http",
"url": "https://onv.codes/mcp"
}
}
}VS Code (command line) · Bash or zsh terminal (macOS, Linux)
code --add-mcp '{"name":"onv-mcp","type":"http","url":"https://onv.codes/mcp"}'Claude Code
claude mcp add --transport http onv-mcp https://onv.codes/mcp
Cline · cline_mcp_settings.json (Cline CLI: ~/.cline/data/settings/; in the editor: MCP Servers → Configure → Configure MCP Servers)
{
"mcpServers": {
"onv-mcp": {
"type": "streamableHttp",
"url": "https://onv.codes/mcp",
"disabled": false,
"autoApprove": []
}
}
}Gemini CLI · ~/.gemini/settings.json, or .gemini/settings.json in a project
{
"mcpServers": {
"onv-mcp": {
"httpUrl": "https://onv.codes/mcp"
}
}
}OpenAI Codex · ~/.codex/config.toml, or .codex/config.toml in a trusted project
[mcp_servers.onv-mcp] url = "https://onv.codes/mcp"
Zed · Zed settings file (command: zed: open settings file)
{
"context_servers": {
"onv-mcp": {
"url": "https://onv.codes/mcp"
}
}
}Try it in the MCP Inspector · runs on your machine, opens in your browser · Node 22.19+
npx @modelcontextprotocol/inspector@2.11.0 --server-url https://onv.codes/mcp --transport http
- The server runs on the operator's infrastructure; it may ask you to sign in when you first connect.
- Zed's docs we read on 2026-10-26 describe remote servers by URL and do not name the transport.
- The MCP Inspector lists the server's tools, resources and prompts; a tool you call there runs for real.
Built from the server's registry entry with each client's documented format (checked 2026-10-14; the Cursor link and the VS Code command 2026-10-19; the MCP Inspector command 2026-10-21; Cline, Gemini CLI, OpenAI Codex and Zed 2026-10-26). Values in < > are yours to fill in; this page never contains a key. Where the server needs a setting the entry does not declare, it can still fail to start.
Can it be installed, and is it up to date?
Version pin · advisories
Listed version
- Registry lists
- 1.0.3
- Latest stable
- 1.0.3
- Status
- current
- Withdrawn
- no
Source: registry.npmjs.org · 2026-11-05. About the version the registry lists; a manual install may resolve to a different one.
Dependency advisories
Counted in the full dependency tree as resolved on 2026-11-05 (npm audit; each bar counts packages with an advisory, not advisories). Bars share one scale. The package itself has no known vulnerability (OSV.dev).
Integrity, provenance, license
- Integrity
- sha512-yY4sGkgyHYNSW7kyi…
- Signature
- signed
- License
- Apache-2.0
Source: the package registry · 2026-11-05.
Usage
- Downloads
- 590 in the last month
Source: api.npmjs.org · 2026-11-05.
Does the registry listing match what we found?
Feature #6The registry checks an entry when it is published (each new version), and nothing re-checks it on a schedule. A difference below is about the listing, not a judgement of the publisher.
| Registry says | We found | Result | Source · date |
|---|---|---|---|
| Remote endpoint onv.codes/mcp | Session opened | matches | our test · 2026-11-05 |
| No credential declared as required | Opened a session without any credential | matches | our test · 2026-11-05 |
| Version 1.0.3 on npm | Exists and can be installed | matches | npm · 2026-11-05 |
| Repository github.com/sftgroup/onv-mcp | Opens publicly | matches | api.github.com · 2026-11-05 |
Who made it?
Feature #7 · lineage
Facts about the publisher. We do not turn them into a trust score.
- Namespace
- codes.onv
- GitHub owner
- a personal account (sftgroup)
- Build record
- signed
- Repository
- github.com/sftgroup/onv-mcp
- Stars
- 0
- Repository age
- 0–30 days
- Last push
- 0–30 days ago
- Archived
- no
- Security policy
- SECURITY.md
Source: the registry entry and api.github.com · 2026-11-05; security policy read from GitHub · 2026-11-05.
Publish this server? Run these checks against it yourself before release, from your own machine: a server the command starts, or your own server at its URL after a one-time proof that you control it: npx protocolprobe-selftest.
Choosing
Record checks
Public records · not a safety rating8 of 9 record checks met
- #5,612 of 18,557 packages by monthly downloads, tied with 10 others
- Not ranked by stars: 0 stars (ranked from 10)
- MetRegistry entry is active and says how to run itActive, with a package or a remote address.
- MetSource repository link opensThe linked GitHub repository is public.
- MetRepository is not archivedNot archived.
- MetCode pushed to the repository in the 90 days before our checkLast push 0-30 days before our check.
- MetRepository publishes a security policy (SECURITY.md)SECURITY.md found.
- MetPackage names its licence with a standard (SPDX) identifierApache-2.0
- MetThe version the registry lists can be installed and is not withdrawnThe listed version exists and is current.
- Not metnpm package carries build provenance (attestation)Signed by npm, but no build attestation.What changes this check: npm's documentation describes publishing with provenance from a cloud-hosted runner of a supported CI/CD provider, using npm CLI 9.5.0 or newer and npm publish --provenance. npm: generating provenance statements
- MetNo known critical or high advisory in the package or its dependenciesNone known in the package or its dependency tree.
Read from public records only: the registry entry, npm/PyPI, GitHub and advisory databases, checked 2026-11-05 (security policy 2026-11-05). No tool was called. Only “met” and “not met” are counted, so the total differs between servers; a check that does not apply or that we could not run is listed, never counted against it. It is not a safety rating, and the same rules apply to every server. How each check works · Leaderboards · How we stay neutral
Common questions about codes.onv/onv-mcp
Answered from the data aboveWho publishes codes.onv/onv-mcp?
The registry ties the namespace codes.onv to the domain onv.codes; only its owner can publish under it. Its linked repository is github.com/sftgroup/onv-mcp; GitHub reports its owner as sftgroup, a personal account. These are facts from the registry and GitHub, not a rating.
Is codes.onv/onv-mcp safe to install?
We do not rate servers as safe or unsafe. 8 of its 9 applicable record checks are met (facts from public records, each listed on this page). What the records show: Its source repository opens publicly. Its repository had a push in the last 90 days. The listed version is the latest stable release. The package itself has no known vulnerability (OSV.dev). Its full dependency tree has no known advisory. These are facts with their sources on this page, not a safety guarantee, and we did not run its tools.
Does codes.onv/onv-mcp need an API key or sign-in?
It opened a session without any credential on 2026-11-05. The registry entry declares no required credential; no declaration is not a guarantee.
Has codes.onv/onv-mcp been security tested?
Partly. 3 of the 15 checks that apply to it were exercised. It accepted a session without any credential and lists tools whose names suggest they change data. We did not call them. ProtocolProbe publishes no security verdict for a named server.
Does codes.onv/onv-mcp publish a security policy?
Yes: its repository has a public security policy (github.com/sftgroup/onv-mcp/blob/HEAD/SECURITY.md). That is the publisher's statement, not permission for us to test the server, and we call none of its tools.
Is the listed version current?
Yes. The registry lists 1.0.3, the latest stable release on npm.
Where is the source code of codes.onv/onv-mcp?
In github.com/sftgroup/onv-mcp, which opens publicly.
Found this page useful?
Anonymous · no sign-inA quick, anonymous reaction — no account, no email. One per kind from your browser. The tally updates when the page is next refreshed, and it is only a rough count, never a safety rating or a measured number of people.
Compare with another server
Side by side: registry entry, our read-only session, the tools and the 18 classification fields. Same values as each page; no score.
Security testing
What did we test, and what did we leave out?
18 checks · features #1, #2
Open without sign-in
It accepted a session without any credential and lists tools whose names suggest they change data. We did not call them. No security score is given; a check we did not run is never counted as passed.
- Inventory: exercised
- Hidden instructions: exercised
- Real execution: not run · our policy
- Secret leak: not run · nothing to check it against
- Internal addresses: not run · our policy
- Unconfirmed changes: not run · our policy
- Bad input: not run · our policy
- Model requests: not run · nothing to check it against
- Sensitive questions: not run · nothing to check it against
- Folder boundary: not run · our policy
- Log leaks: not run · nothing to check it against
- Hidden content: not run · nothing to check it against
- Fake assistant turns: not applicable
- Token passthrough: not applicable
- Token audience: not applicable
- Sign-in redirect: not run · our policy
- Consent handling: not testable from outside
- Sign-in metadata: exercised
3 exercised12 not run (reason given)3 not applicable
Each check ends in exactly one state: exercised, not run (with the reason), or not applicable (with the reason). 3 of the 15 checks that apply to it were exercised. We do not publish security-check outcomes for named servers. These 18 checks are separate from the record checks at the top of this page, which read public records only.
- 1Inventory
tool-listReads the declared tools, resources and prompts.exercised - 2Hidden instructions
description-poisoningLooks for hidden instructions in tool descriptions.exercised - 18Sign-in metadata
oauth-url-schemeChecks the published sign-in metadata for unsafe URLs.exercised
- 3Real execution
real-executionCalls a tool and checks what really happens.This check calls the server's tools. ProtocolProbe calls no server's tools for anything it publishes; an operator can run this check on their own server with our self-test command.not run · our policy - 4Secret leak
canary-leakPlants a fake secret and checks whether it leaks.This check needs at least one successful tool call to have something to check, and no tool was called.not run · nothing to check it against - 5Internal addresses
ssrfChecks whether a tool can be steered to internal addresses.This check calls the server's tools. ProtocolProbe calls no server's tools for anything it publishes; an operator can run this check on their own server with our self-test command.not run · our policy - 6Unconfirmed changes
write-without-confirmationChecks whether tools that change data act without asking.This check calls the server's tools. ProtocolProbe calls no server's tools for anything it publishes; an operator can run this check on their own server with our self-test command.not run · our policy - 7Bad input
error-handlingSends bad input and watches how the server answers.This check calls the server's tools. ProtocolProbe calls no server's tools for anything it publishes; an operator can run this check on their own server with our self-test command.not run · our policy - 8Model requests
samplingChecks whether the server asks the client's model to act for it.This check needs at least one successful tool call to have something to check, and no tool was called.not run · nothing to check it against - 9Sensitive questions
elicitation-sensitive-dataChecks whether the server asks users for sensitive data.This check needs at least one successful tool call to have something to check, and no tool was called.not run · nothing to check it against - 10Folder boundary
root-boundaryChecks whether the server reaches outside the folders it was given.This check calls the server's tools. ProtocolProbe calls no server's tools for anything it publishes; an operator can run this check on their own server with our self-test command.not run · our policy - 11Log leaks
logging-side-channelChecks whether log messages carry data they should not.This check needs at least one successful tool call to have something to check, and no tool was called.not run · nothing to check it against - 12Hidden content
audience-hidingChecks resources that hide content from the user.This check needs content the server returns, and nothing was read or called.not run · nothing to check it against - 16Sign-in redirect
open-redirectChecks the sign-in redirect for abuse.Testing the sign-in redirect means sending probes to the operator's sign-in service, which we do not do.not run · our policy - 17Consent handling
confused-deputyChecks consent handling when one service acts for another.Depends on the operator's own consent screen, which differs per server and cannot be tested from outside.not testable from outside
- 13Fake assistant turns
fake-assistant-turnChecks prompts that pose as the assistant's own words.The server exposes no prompts.not applicable - 14Token passthrough
token-passthroughChecks whether the server forwards a user's token to other services.The server opened a session without sign-in, so there is no token flow to check.not applicable - 15Token audience
token-audience-validationChecks whether tokens meant for another service are accepted.The server opened a session without sign-in, so there is no token flow to check.not applicable
Source: our own test, 2026-11-05, mcp-runtime-engine@0.1.0. Which checks count and why follows our published scoring model.
What happened during the test?
Feature #8
The steps in order, as the test record holds them.
- 0 msStarted a read-only session with the server's remote endpoint
- 856 msConnected after 0 redirects. No credential was sent or needed.
- Read the inventory: 44 tools, 0 resources, 0 prompts.
- 2,462 msFinished: 3 checks exercised.
Reference
How is it classified?
18 fields
One value per field, each with its source. Fields written by AI models are marked. A field with no value says why.
“Not stated” means the source did not state it; “does not apply” means it does not apply to this kind of server; “our limit” means our own lookup failed. A linked value opens the directory filtered to the same value.
Cite or correct this page
Sources and corrections
Suggested citation
ProtocolProbe. “codes.onv/onv-mcp: MCP server record.” Data checked 2026-11-05. https://protocolprobe.com/mcp/servers/codes.onv/onv-mcp
Figures are valid for the date shown. Our facts on this page are CC BY 4.0: reuse them with a link and the check date. Quoted text (the publisher’s descriptions, website quotes, tool names) is not ours to license.
As JSON: this record in the API · API documentation.
Badge for your README
[](https://protocolprobe.com/mcp/servers/codes.onv/onv-mcp)
It shows this server's record-check count: facts from public records, no tool called. It is not a security rating or a pass. It links here and updates after each data reload.
Something wrong, or is this yours?
If a fact here is wrong, tell us and we will re-check it. If you operate this server, you can run our checks on it yourself with the free self-test command; we call no server’s tools ourselves for anything shown here.
Write to hello@protocolprobe.com · corrections log · methodology