mcpField
O
Oneqaz Trading Mcp

Oneqaz Trading Mcp

远程服务
oneqaz.com金融数据01 周前更新

关于 Oneqaz Trading Mcp

Oneqaz Trading Mcp 是面向 AI Agent 的金融 MCP 服务,覆盖加密货币、美股、韩股及宏观市场。它提供实时数据衍生信号和市场状态检测,并开放准确性、校准与治理证据,供客户端评估预测和策略。

主要功能

  1. 01基于实时数据的交易信号
  2. 02市场状态检测
  3. 03预测准确性与校准检查
  4. 04特征治理与账本完整性
  5. 05跨资产及投资组合分析
  6. 06市场简报与后续建议

适用场景

  1. 01引用信号前检查其可靠性
  2. 02对照基线审查预测准确性
  3. 03分析跨市场联系与投资组合风险
  4. 04一次调用生成市场概览

MCP 相关

通过托管端点或本地运行的服务,向 MCP 客户端提供金融工具和资源。客户端可发现目录,并使用可信度评估、市场分析和模拟交易工具。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://api.oneqaz.com/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

全部服务地址
Streamable HTTPhttps://api.oneqaz.com/mcp需要授权
安装包
pypioneqaz-trading-mcp0.5.0

工具

43
参数类型必填说明
limitinteger否返回的最大行数(默认 50,最大 1000)。行会分页;请参阅 total_available / truncated。注意:统计数据(win_rate、avg_pnl)基于已扫描的数据集汇总,而非返回的行;请参阅 stats_scope。
symbolany否按股票代码筛选(例如 "BTC"、"AAPL");不区分大小写
max_pnlany否最大盈亏百分比筛选条件(例如 10.0)
min_pnlany否最小盈亏百分比筛选条件(例如 -5.0)
market_idenum是市场 ID(crypto、kr_stock、us_stock;接受别名 coin/kr/us)crypto | kr_stock | us_stock
hours_backany否仅包含过去 N 小时内的交易
action_filterenum否按操作筛选(all、buy、sell)buy | sell | hold

详细介绍

oneqaz-trading-mcp

GitHub stars PyPI License: MIT

面向金融 AI 的专业 API——带有感知对话的响应钩子。

你的 AI Agent 不应只看到价格,还应能够核查它读取的信号表现如何,并知道接下来该问什么。托管端点提供 42 个工具,涵盖 10 个类别:3 个实体上下文工具(一次调用即可查询一只股票、一个行业或整个市场的状态、先行变动因素、带标签的新闻,以及未跟踪的内容)、13 个信任层工具(依据可靠基准评估命中率、校准和治理)、防篡改预测账本(get_ledger_integrity——记录每项宏观状态预测的每日 SHA-256 哈希链,任何人都可以重新计算)、4 个跨资产相关性工具(行业 / 宏观 / 同行)、投资组合分析(MDD / Sharpe / Sortino / Calmar)、模拟交易证据工具,以及用于一次调用获取市场概览的高频 get_daily_brief。每个响应都包含 _next_actions(根据响应数据推荐后续工具)和 _followup_questions_for_user(AI 可直接转述给用户的韩语自然语言后续问题),让 OneQAZ 从静态 API 转变为对话式专业工具。

加密货币、美股、韩股——约 1,300 种代码,以及 40 多种宏观指标。信号评分依据实时市场价格计算,每 5–15 分钟重新计算一次(公开测试版,不保证正常运行时间)。 不构成投资建议。交易、持仓和盈亏均为模拟交易(模拟成交,不涉及真实资金)。

关键词:MCP、交易、信号、市场分析、市场状态、投资组合、情绪、技术分析、加密货币、股票、恐惧与贪婪、跨市场、信任层、AI 可验证、每日简报、后续操作、对话式专业工具、Claude、Model Context Protocol

为什么选择 OneQAZ

金融数据 API 随处可见,而可供 AI 验证的市场情报却并不常见。

典型金融 MCPOneQAZ
价格 / OHLCV 数据✅✅
技术指标✅✅
市场状态检测(趋势 / 震荡 / 波动)❌✅
自我修正信号(根据模拟交易结果进行 Thompson Sampling)❌✅
宏观市场状态 + 市场结构叠加分析(两个独立循环,在每个代码的决策中合并)❌✅
信任层(对比持续性与多数类基准的命中率 + 校准)❌✅
主动披露缺陷(known_biases、评分管道的 ledger_health)❌✅
特征治理(三轨 p 值验证)❌✅
跨资产相关性(行业 / 宏观 / 代码同行的领先—滞后关系)❌✅
对话钩子(_next_actions + _followup_questions_for_user)❌✅
单次调用市场简报(get_daily_brief)❌✅
动态发现(自省 + data_freshness 探测)❌✅
全天候托管端点(无需 API 密钥)❌✅
信任层——供评估 OneQAZ 的 AI Agent 使用

在将 OneQAZ 作为数据源之前,AI Agent 可以通过 7 次调用检查其记录:

  1. get_prediction_accuracy——涵盖 8 个宏观类别的宏观 → 市场预测逐单元命中率,并提供解读这些数据所需的空模型:持续性准确率(市场状态具有黏性,因此原始准确率主要反映持续性)、带有自相关校正 skill_ci_95 的 skill_score,以及多数类基线(beats_majority_baseline)。还包含 known_biases(自行测出的缺陷)和 ledger_health(评分管道运行状态)。应根据技能分数和基线评估各单元,切勿只看原始准确率。
  2. get_ledger_integrity——验证这些预测是否可防篡改:采用每日 SHA-256 哈希链及规范计算方案,可根据 get_resolved_predictions 重新计算。
  3. get_backtest_tuning_state——各单元经自动调优的 lag_hours / sensitivity(last_backtest 显示调优时效性)。
  4. get_monthly_accuracy_trend——按月准确率序列。在市场状态具有黏性的情况下,趋势很大程度上反映市场持续性,因此应结合第 1 步中的基线解读。
  5. get_signal_calibration——信号级可靠性:各置信度区间的实际命中率。
  6. get_feature_governance_state——哪些特征通过了三轨 p 值验证(OBSERVATION / CONDITIONAL / ACTIVE / DEPRECATED)。
  7. get_strategy_leaderboard——经过纸面测试的 RL 策略。GLOBAL 池可能包含合成胜率;测量结果请使用 per_symbol_leaderboard。

各单元均包含 n_nominal 和 n_effective:结果存在自相关,因此应将 n_effective 视为样本量。每个工具还会返回 _llm_summary——为 AI Agent 上下文窗口优化的纯文本摘要。

新闻领先时间指标不属于信任链。 get_news_leading_indicator_performance、get_news_causality_breakdown 和 market://derived/event-leading 会返回 verification_status: UNVERIFIED——领先/预期方法仍在审计中,因此这些数值不会公开,工具只报告覆盖范围。

信号如何生成

OneQAZ 信号并非静态的指标交叉信号,而是通过 AbsoluteZero 风格的自博弈循环生成:

  1. 策略生成——RL 管道按市场状态生成候选策略
  2. 自博弈模拟——策略在模拟市场中相互竞争
  3. Thompson Sampling——根据实际虚拟交易结果持续更新信号权重,而非依据回测曲线
  4. 市场状态自适应——趋势、区间震荡和高波动市场会启用不同的策略池

这意味着,诸如 BTC +0.82 的信号评分依据的是实时纸面交易结果,而不只是对历史数据的拟合;随着结果不断累积,权重也会随之变化。评分是否经过实际校准,会通过数据公开,而非仅作宣称:get_signal_calibration 提供可靠性曲线,get_prediction_accuracy 则包含扣除费用后的 signal_gauge_v2 和 known_biases(例如,极端尾部评分曾被发现是反向的,因此在买入侧会对其降权)。

市场覆盖范围
市场交易所 / 来源标的范围符号数量
加密货币Bithumb所有以 KRW 计价的交易对~460
韩国股票KOSPI / KOSDAQKOSPI 200 + KOSDAQ 150~350
美国股票NYSE / NASDAQS&P 500~500
宏观利率、外汇、期货、ETF债券 · 信用 · 外汇 · 流动性 · 大宗商品 · 能源 · 通胀 · 波动率40+
市场结构ETF / 行业组合按市场划分的结构分析分组~180

数据管道全天候运行。加密货币全天候交易;韩国和美国股票信号则遵循各交易所的交易时段。K 线周期:加密货币为 15m / 30m / 4h / 1d,KR 和 US 为 5m / 15m / 30m / 1d。信号、市场状态检测、模拟交易和 Trust Layer 评分均持续运行。韩国和美国股票的信号分数每 5 分钟根据实时价格重新计算(交易时段内),加密货币则每 15 分钟重新计算;尚未收盘的 K 线指标保持该 K 线开盘时计算的值,宏观市场状态则每日更新。

快速开始

选项 1:实时 API——无需安装

实时数据——随着新 K 线收盘,信号会刷新(周期从 5 分钟到每日不等)。免费套餐下,无需密钥即可调用所有工具和资源(每天 1,500 次调用);唯一例外是 get_account_status,它会报告已连接的 OneQAZ 账户状态(参见访问政策)。

Cursor(mcp.json)和其他可在配置中填写远程 URL 的客户端:

{
  "mcpServers": {
    "oneqaz-trading": {
      "url": "https://api.oneqaz.com/mcp"
    }
  }
}

Claude Desktop 的配置文件需要 mcp-remote 桥接程序:

{
  "mcpServers": {
    "oneqaz-trading": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://api.oneqaz.com/mcp"]
    }
  }
}

Claude Code:claude mcp add --transport http oneqaz-trading https://api.oneqaz.com/mcp。 Claude.ai 和 ChatGPT:将 https://api.oneqaz.com/mcp 添加为自定义连接器。 VS Code 和其他客户端:使用其远程(HTTP)MCP 服务选项,并填写相同的 URL。

可尝试以下请求:

  • “调用 get_daily_brief,为我概述市场情况。” — 单次调用即可获取概览,AI 会自动跟进 _next_actions 进行深入分析。
  • “调用 get_prediction_accuracy,告诉我是否应该信任 OneQAZ。” — Trust Layer 的入口,返回按样本数量加权的命中率。
  • “先读取 market://meta/discovery,再制定计划。” — 动态目录,列出所有托管工具 / 资源 / 模板(43 个工具,包括账户工具、17 个资源、17 个模板),并提供 data_freshness 探测功能。
选项 2:自行托管(代码透明)

此软件包包含为 api.oneqaz.com/mcp 提供服务的服务器代码,由 scripts/sync_from_monorepo.py 从 OneQAZ monorepo 同步而来(0.5.0 = 截至 2026-10-17 的托管代码)。相同的 42 个工具、17 个资源、17 个模板和 4 个提示词都会注册;将此软件包与托管代码连接到同一数据库并排运行时,除 get_macro_influence_map 外,每个工具和资源的结果(成功或错误)都相同。重点就在于此:你可以查看(并运行)生成托管响应的代码。两者的差异如下:

  • 仅 monorepo 中的数据路径:get_macro_influence_map 会返回结构化错误;实体上下文工具会在 gaps 下列出宏观关联,因为实时宏观档案表位于不属于此软件包的 monorepo 模块中。统一资源中的 Agent 历史 RAG 上下文也会以相同方式降级。
  • API 密钥:此处不包含托管端的密钥存储。默认情况下,所有调用方都按免费用户提供服务;设置 MCP_TIER_RESOLVER 即可自行验证密钥(参见使用 API 密钥自行托管)。
  • OAuth 账户连接(“Connect free”)已包含,但默认关闭(MCP_OAUTH_MODE、MCP_OAUTH_AS);它需要托管端的账户表。
  • 仅托管端设置在此处均为空:用于使用情况分析的运营方自有流量列表(MCP_SELF_TRAFFIC_IPS)默认为空。
pip install oneqaz-trading-mcp
# point it at a OneQAZ-compatible PostgreSQL (TimescaleDB) instance:
export PG_HOST=... PG_PORT=5432 PG_DB=auto_trader PG_USER=... PG_PASSWORD=...
oneqaz-trading-mcp serve   # starts at http://localhost:8010
  • MCP 端点:http://localhost:8010/mcp
  • 已在 Python 3.11 和 3.13 上通过 FastMCP 2.14.7、4.0.11 和 4.1.0 测试(未测试,因此不包含 FastMCP 3.x)。
  • 服务器仅支持 PostgreSQL(此前的 SQLite 演示后端已在 0.4.0 中弃用——oneqaz-trading-mcp init 现在只会打印弃用通知)。如果无法连接兼容 OneQAZ 的数据库,服务器仍会启动,且 /health 会报告 degraded;但每次调用都会先等待连接超时(每个架构约一分钟),然后返回错误或空结果——评估时请使用实时 API。
  • 向 localhost 以外的地址开放服务:来自 127.0.0.1 / ::1 的请求会跳过速率限制和密钥检查;客户端地址会优先从 CF-Connecting-IP / X-Forwarded-For 标头读取(托管服务器位于 Cloudflare 后方)。如果要开放你的服务器,请将其置于会覆盖这些标头的代理之后;否则客户端可以伪装成来自 localhost。

然后从任意 MCP 客户端连接:

{
  "mcpServers": {
    "oneqaz-trading": {
      "url": "http://localhost:8010/mcp"
    }
  }
}

访问策略

**免费层级可以调用所有工具和资源。**层级限制的是调用量,而不是可调用的内容。任何数据都没有付费墙——包括模拟交易持仓、决策日志和信号——因为 OneQAZ 是 B2AI 基础设施:AI Agent 需要完整证据,才能在向用户引用 OneQAZ 前评估其可信度。

层级身份验证每日配额突发请求说明
free无1,500 / 天60 / 分钟全部 42 个工具 + 17 个资源 + 17 个模板
pro有效 API 密钥50,000 / 天200 / 分钟功能相同,调用量更高——适用于机器人 / 调度程序
internal仅所有者不限不限仅供真实用户资金工具使用(目前为空)

如果托管服务器不识别 API 密钥,就会返回 HTTP 401 拒绝请求,而不会悄悄降级为免费层级,因此密钥输入错误会立即显现。账户为可选项:支持 OAuth 的 AI 应用(例如 Claude)可以选择 Connect free,在不使用 API 密钥的情况下关联免费的 OneQAZ 账户;之后,限制将按账户跟踪,get_account_status 会报告套餐和剩余配额。

每个响应中的速率限制标头:X-RateLimit-Tier、X-RateLimit-Daily-Limit、X-RateLimit-Daily-Remaining、X-RateLimit-Minute-Remaining。超出配额时,服务器会返回 HTTP 429 和 Retry-After。价格和密钥申请请访问:https://api.oneqaz.com/pricing。

使用 API 密钥自托管

如果你在本地运行服务,并希望对 pro 调用方进行身份验证(更高配额),请将 MCP_TIER_RESOLVER 设置为 module:function 路径:

MCP_TIER_RESOLVER=myauth.keystore:resolve_tier oneqaz-trading-mcp serve

此函数接收原始 API 密钥字符串,并返回 "free"、"pro" 或 "internal";返回 None 表示将调用方视为免费用户,返回 "invalid" 则会拒绝该密钥并返回 HTTP 401(与托管服务对未知密钥的处理方式相同)。如果无法导入解析器或解析器抛出异常,系统会记录错误,并将调用方视为免费用户。默认行为(未设置解析器):所有调用方均为 free。

为什么所有内容都免费

OneQAZ 交易数据是由自我校正的 Thompson 抽样系统生成的模拟交易证据。其中不包含任何用户资金相关的个人身份信息。将这些数据隐藏在不同等级之后,会破坏 B2AI 转化漏斗——AI Agent 需要验证我们的声明(预测准确率、信号质量、策略结果)后才能加以信赖。因此,我们公开这些证据,并限制请求频率。

用于判断是否升级的价值信号已嵌入每个响应的 _value_signals 中——AI Agent 可以直接读取:

{
  "_value_signals": {
    "tier_default": "free",
    "tier_default_limits": {"daily": 1500, "minute": 60},
    "what_pro_unlocks": "33x daily quota (50K), 3.3x burst (200/min) — same tools, higher volume",
    "pricing_url": "https://api.oneqaz.com/pricing",
    "key_signup_url": "https://api.oneqaz.com/keys",
    "self_correcting": true
  }
}

响应结构(双受众)

工具响应包含面向 AI Agent 和人类终端用户的字段:

字段受众用途
full_dataAI用于信任验证的原始证据
disclaimer、is_investment_advice、is_real_money、data_classification两者每个响应都包含的合规信息(false / false / research_information_only)
paper_trading_notice两者仅用于包含交易、持仓或盈亏的响应(托管端点):这些数字属于模拟交易,并非真实资金
timestamp、request_id、_sourceAI响应时间、报告问题时引用的请求 ID,以及提供服务的来源 / 数据源
_contractAI仅限状态 / 外部 / 派生 / 统一资源:来源信息 + 实体 + 评估 + 置信度(按架构版本管理)。工具不包含此字段。
_llm_summaryAI多行叙述
ai_summaryAI为上下文窗口压缩成的一行摘要
_value_signalsAI用于判断 B2AI 转化的定价 / 升级信号
summary_for_user人类一行不含术语的韩语摘要,可由 Claude.ai 等逐字引用。
_next_actionsAI根据响应数据生成的后续工具建议,包含 intent、tool、args、rationale、priority。会自动驱动链式调用。
_followup_questions_for_user人类AI 可向用户引用的韩语后续问题——点击其中一个即可触发下一次调用。
对话钩子——_next_actions + _followup_questions_for_user

OneQAZ 不只是返回数据,还会告诉你的 AI 接下来该问什么。

{
  "ai_summary": "Prediction accuracy — 24 cells, avg hit rate 32.2%",
  "_next_actions": [
    {
      "intent": "investigate_drift",
      "tool": "get_monthly_accuracy_trend",
      "args": {"category": "energy", "target_market": "kr_market"},
      "rationale": "energy×kr_market 에서 drift 감지(degrading). 월별 시계열로 추세 검증 필요.",
      "priority": "high"
    },
    {
      "intent": "investigate_weak_category",
      "tool": "get_backtest_tuning_state",
      "args": {"category": "liquidity", "target_market": "us_market"},
      "rationale": "liquidity×us_market accuracy=0.06 (sub-50%). 자기보정이 lag/sensitivity 를 어떻게 조정했는지 확인.",
      "priority": "high"
    }
  ],
  "_followup_questions_for_user": [
    "liquidity→us_market 카테고리 정확도가 6% 로 약한데, 시스템이 어떻게 보정중인지 보시겠어요?",
    "가장 정확한 credit→us_market (62%) 패턴의 월별 추세도 보여드릴까요?",
    "최근 OneQAZ 가 만든 활성 예측 5개도 볼까요?"
  ]
}
  • _next_actions——面向 AI Agent。最多 3 条。包含预填的 args。依据响应数据生成,而非静态依赖图(例如,只有在 accuracy < 0.5 + samples >= 30 时才会触发弱势类别检测)。
  • _followup_questions_for_user——面向终端用户。使用韩语自然语言。可逐字引用,也可翻译。

结果:典型会话从 7 次以上的通用调用(由 AI 猜测下一步该做什么)减少到 4 次有针对性的调用,从而揭示真正的情况(漂移、弱势类别、合成数据与实测数据的排行榜拆分)。

工具(托管端点上有 42 个——全部为免费等级)

此外还有 get_account_status(已连接的 OneQAZ 账户的方案和剩余配额;仅在启用 OAuth 账户连接时注册)。自托管软件包也会注册相同的 42 个工具——请参阅 选项 2。

实体上下文(3 个工具)—— 0.5.0 中新增

一次调用即可回答某只股票或硬币、某个板块/ETF 组合,或整个市场的「X 发生了什么?」每个响应都先给出独立完整的标题式结论,然后列出实体的观测状态、先于它变化的因素(领先滞后联系、宏观和结构分组)、随后发生的变化、带标签的新闻,以及数据缺口——OneQAZ 未跟踪的相关内容。

工具返回内容
get_symbol_context一只股票或硬币(代码、KRX 代码或名称):信号状态、所属结构分组、上游联系、随后跟随它的同类资产、带标签的新闻、数据缺口。名称有歧义时会返回候选项,而非猜测。
get_group_context一个板块、主题、ETF 组合或指数组合:各时间区间的市场状态、共同变动的分组、包含最新信号倾向的成分代码、该组合领先的代码、数据缺口。
get_market_context整个市场(KR、US、crypto):结构市场状态和全球宏观市场状态、假定会影响该市场的宏观类别(附调优后的滞后时间)、按市场阶段划分的分组、带市场标签的新闻、数据缺口。
高频入口——get_daily_brief(1 个工具)
工具返回内容
get_daily_brief一次调用获取市场概览:宏观市场状态 + 最强的 5 个信号 + 昨日模拟交易盈亏 + 活跃预测数量 + 韩语叙述。「今天市场行情如何?」的自然首选调用。
可验证的预测账本(3 个工具)—— 0.4.0 中新增
工具返回内容
get_ledger_integrity预测账本的防篡改证据:对所有已创建/已结算的宏观市场状态预测行构建每日 SHA-256 哈希链,并公开精确的规范计算方案,任何第三方都可以重新计算并验证。每个 UTC 日结束后都会计算一次哈希,并与此前的每一天串联,因此之后的静默编辑会导致重新计算结果不一致。请注意适用范围:预测期限为 0–24h,许多预测会在创建当天结算,因此哈希链只能证明某一天结束后未被更改,不能证明每个结果出现前就已存在哈希。公开锚点还会通过 OpenTimestamps 记录到 Bitcoin 区块链(账本锚点)。
get_resolved_predictions原始逐行预测账本:每个宏观市场状态预测的完整生命周期(created_at → resolved_at → 结果)——可逐项审计证据判断。
get_trade_outcomes_bulk使用游标分页批量导出预测 → 交易 → 结果链(含已实现盈亏的模拟交易;尽最大努力将每笔交易关联到入场前的信号预测,匹配条件为同一代码、2h 时间窗口)——自行计算命中率,而非轻信我们的数据。
投资组合分析(1 个工具)—— 0.4.0 中新增
工具返回内容
get_performance_metrics按市场和账户类型(paper/live)提供投资组合级别的 MDD/夏普比率/索提诺比率/卡玛比率/胜率,可选每日权益曲线。模拟交易盈亏为毛额(按 K 线成交,不含费用或滑点)。
信号校准(1 个工具)—— 0.4.0 中新增
工具返回内容
get_signal_calibration信号置信度的可靠性图数据:每个置信度区间的实际命中率及 ECE 汇总——验证置信度为 0.9 的信号是否真的能达到约 90% 的命中率。
ChatGPT 连接器标准(2 个工具)—— 0.4.0 中新增
工具返回内容
search遵循 ChatGPT 连接器标准,在 OneQAZ 的实时信息面中进行发现搜索——包括工具、资源,以及三个市场中最新的强势信号。结果 ID 可供 fetch 使用。
fetch遵循连接器标准,根据 search 返回的 ID 获取单条结果。
信任层(13 个工具)
工具返回内容
get_prediction_accuracy每个单元格的命中率,以及持久性与多数类基线、技能评分和经自相关修正的置信区间、known_biases、ledger_health
get_backtest_tuning_state当前调优参数和上次重新校准的时间戳
get_monthly_accuracy_trend每月的准确率序列,按(类别、目标市场、滞后)划分——需结合上述基线解读
get_news_leading_indicator_performance未验证——新闻事件分组的覆盖情况;方法审计完成前,不提供提前量/评分指标
get_news_causality_breakdown未验证——各流水线新闻标签(ANTICIPATED / SURPRISE_WITH_PRECURSOR / SURPRISE)的计数;不提供提前量指标
get_feature_governance_state按状态划分的特征(OBSERVATION/CONDITIONAL/ACTIVE/DEPRECATED)
get_structure_calibration行业/ETF 级命中率及解读所需的多数类基线——这是测量结果,不代表优势
get_structure_validation_history历史结构验证评分
get_strategy_leaderboard经过纸面测试的 RL 策略;per_symbol_leaderboard 是实测数据表面(GLOBAL 池可能包含合成值)
get_active_predictions当前尚未结算并追踪结果的宏观预测
get_macro_influence_map宏观 → 市场因果假设(滞后小时数 + 敏感度)
get_cross_market_correlation跨市场相关性矩阵
get_role_analysis基于角色的策略分析
信号证据(3 个工具)
工具参数
get_signalsmarket_id、symbol、min_score、max_score、action_filter、interval
get_signal_detailmarket_id、symbol、interval
explain_decisionmarket_id、symbol
层间相关性——跨资产结构(4 个工具)

来自 agent_history 流水线的第 2 阶段输出。行业聚类、宏观因果图和标的间的领先—滞后关系——这些跨资产背景信息能将“BTC 上涨”转化为“BTC 上涨是因为 DXY 在 4 小时前走弱”。

工具返回内容
get_sector_correlations_tool市场内 ETF/行业相关性矩阵 + 自动聚类(60 天窗口,每 6 小时刷新)
get_macro_causality_graph_tool8 个宏观类别(债券/vix/外汇/信贷/通胀/流动性/大宗商品/能源)间考虑滞后因素的因果关系
get_symbol_peer_links_tool标的间的领先—滞后关系(例如 META → AMZN,滞后 15 分钟,ρ=+0.62)
get_feature_governance_status_tool特征生命周期分布 + 最近 7 天的状态变更
纸面交易结果(11 个工具)

OneQAZ 持续对自身信号进行纸面交易(通过其入场筛选条件的 BUY 信号)。这些工具提供持仓及结果——包括亏损——供 AI Agent 核查我们的说法。成交基于 K 线,不计手续费或滑点,因此 P&L 为毛值。

工具返回内容
get_positions未平仓纸面持仓及 ROI
get_position_detail单笔持仓详细分析
get_profitable_positions / get_losing_positions按 P&L 筛选
get_strategy_distribution按策略划分的持仓数量
get_trade_history已平仓的纸面交易(筛选条件:操作、P&L、时间)
analyze_trades汇总交易分析
get_winning_trades / get_losing_trades按结果筛选
get_latest_decisions近期信号 → 决策的转换记录
get_llm_trading_decisionsLLM 生成的决策日志

资源(17 个静态资源 + 17 个模板——全部为免费层级)

Meta — 发现与自省
资源 URI描述
market://meta/discovery动态目录(v2.0) — 通过 FastMCP 自省获取完整的工具/资源列表(无静态 if/else),包含 data_freshness PG 探测(5 个源表)、positioning 区块(specialist_domains、trust_principles、what_we_do_NOT_provide、philosophy)、counts、notes。请先调用此项,了解 OneQAZ 提供的内容。
market://meta/tool-chains推荐的调用序列(quick_analysis、deep_analysis、portfolio_check、symbol_deep_dive)+ 依赖关系图。
market://meta/pg-poolpsycopg ConnectionPool 统计信息 — 连接压力监控。
market://health服务运行状况检查。
market://info服务元数据 + 数据源索引。
静态资源
资源 URI描述
market://global/summary全球宏观态势摘要
market://global/categories可用的宏观类别列表
market://global/macro_events活跃宏观事件的生命周期
market://all/summary汇总 3 个市场的综合摘要
market://structure/all所有市场的 ETF/篮子结构
market://indicators/fear-greed恐惧与贪婪指数
market://indicators/regime4 层态势指标(短期/中期/长期/超长期)
market://indicators/context恐惧与贪婪 + 4 层态势 + 市场广度
market://unified/cross-market跨市场相关性快照(BTC ↔ 股票 ↔ 外汇)
market://derived/event-leading新闻事件领先分组 — 未经验证(不提供评分字段)
market://derived/cross-decoupling跨资产脱钩指数
market://derived/reaction-speed新闻反应速度分布
模板(参数化)
URI 模板示例
market://global/category/{category}market://global/category/bonds
market://{market_id}/statusmarket://crypto/status
market://{market_id}/positionsmarket://crypto/positions
market://{market_id}/positions/snapshotmarket://crypto/positions/snapshot
market://{market_id}/structuremarket://kr_stock/structure
market://{market_id}/structure/group/{group_id}market://kr_stock/structure/group/SEMICONDUCTOR
market://{market_id}/signals/summarymarket://crypto/signals/summary
market://{market_id}/signals/rolesmarket://crypto/signals/roles
market://{market_id}/signals/feedbackmarket://crypto/signals/feedback
market://{market_id}/external/summarymarket://crypto/external/summary
market://{market_id}/external/symbol/{symbol}market://crypto/external/symbol/BTC
market://{market_id}/external/causalitymarket://crypto/external/causality
market://{market_id}/unifiedmarket://crypto/unified
market://{market_id}/unified/symbol/{symbol}market://crypto/unified/symbol/BTC
market://{market_id}/derived/regime-transitionsmarket://crypto/derived/regime-transitions
market://{market_id}/derived/strategy-fitnessmarket://crypto/derived/strategy-fitness
market://{market_id}/derived/allmarket://crypto/derived/all

market://meta/discovery 中的 template_resources[*].example 字段可直接复制粘贴 — AI 无需手动填充占位符即可获取具体 URI。

市场 ID:crypto、kr_stock、us_stock(别名:coin、kr、us)

示例:Trust Layer 查询

已使用 fastmcp 2.14 和 4.0 对实时端点进行测试(pip install fastmcp):

import asyncio, json
from fastmcp import Client

async def main():
    async with Client("https://api.oneqaz.com/mcp") as client:
        result = await client.call_tool("get_prediction_accuracy", {})
    resp = json.loads(result.content[0].text)

    print(resp["ai_summary"])
    for cat, markets in resp["full_data"]["summary"].items():
        for market, lags in markets.items():
            for lag, cell in lags.items():
                if cell.get("horizon_type") != "forecast":
                    continue  # lag 0h cells are same-cycle nowcast checks, not forecasts
                lo, hi = cell.get("skill_ci_95") or (float("nan"), float("nan"))
                print(f"{cat:12} -> {market:10} {lag:>4}  hit {cell['accuracy']:.1%}"
                      f"  persistence {cell.get('persistence_accuracy', float('nan')):.1%}"
                      f"  skill CI [{lo:+.2f}, {hi:+.2f}]"
                      f"  beats majority baseline: {cell.get('beats_majority_baseline')}")
    print("edge cells:", len(resp["full_data"]["edge_cells"]))
    print(resp["full_data"]["meta"].get("persistence_null_caveat", ""))
    print(resp["disclaimer"])

asyncio.run(main())

每个预测单元格会输出一行:原始命中率、持久性零假设、技能置信区间,以及该单元格是否优于恒定的“最常见结果”猜测。 保守的解读方式是:只有当某个单元格的技能置信区间下限高于 0 且 优于多数基线时,才将其视为证据;信任 edge_cells 前,请先阅读 meta.persistence_null_caveat。 ai_summary / _llm_summary 会用一行说明相同的比较结果,每个响应都包含 disclaimer 信封。

配置

所有配置均通过环境变量完成:

变量默认值说明
MCP_SERVER_PORT8010服务端口
MCP_SERVER_HOST0.0.0.0绑定主机
MCP_LOG_LEVELINFO日志级别
MCP_TIER_RESOLVERunset返回 API 密钥对应层级的 module:function(可自托管钩子)
MCP_TRUSTED_IP_PREFIXESunset视同 localhost(不受速率限制)的逗号分隔地址前缀
MCP_SELF_TRAFFIC_IPSunset从使用情况分析中排除的逗号分隔地址(自有监控器)
MCP_LEDGER_THREAD_DISABLED0设为 1 可停止每小时预测账本哈希写入器(用于第二个实例)
MCP_OAUTH_MODE / MCP_OAUTH_ASoffOAuth 账户连接;需要托管账户表
DB_BACKENDpostgres必须为 postgres(SQLite 后端已于 0.4.0 停用);若未设置,serve 会设置此值
PG_HOST / PG_PORTpostgres / 5432PostgreSQL 主机 / 端口
PG_DB / PG_USER / PG_PASSWORDauto_trader / …PostgreSQL 数据库 / 凭据(只读角色即可)
PG_POOL_MIN / PG_POOL_MAX0 / 50每个 schema 的连接池上下限
PG_STATEMENT_TIMEOUT_MS30000服务端语句超时时间
MCP_COIN_DATA_DIR / MCP_KR_DATA_DIR / MCP_US_DATA_DIRauto覆盖逻辑数据路径根目录(见下文)
MCP_EXTERNAL_CONTEXT_DATA_DIRauto覆盖外部上下文逻辑根目录

Docker

docker build -t oneqaz-trading-mcp .
docker run -p 8010:8010 -e DB_BACKEND=postgres -e PG_HOST=... -e PG_PASSWORD=... oneqaz-trading-mcp

数据后端(PostgreSQL)

所有数据均存储在 PostgreSQL 16 + TimescaleDB 中,每个领域使用一个 schema (market_coin / market_kr / market_us、market_*_struct、 external_context、rl_pipeline、mcp_analytics 等)。代码仍会 构造旧式 SQLite 路径(.../coin_market/data_storage/trading_system.db), 但这些路径仅作为逻辑路由键:connect_readonly() 会将每条 路径映射到其 PG schema,并返回一个 shim 连接,因此不会读取或写入任何 .db 文件。 这与生产环境 Wave-I 的“仅使用 PG”迁移保持一致——查询失败时会明确报错, 而不会静默回退。

速率限制

权威配额见上文访问策略。简要回顾:

层级每日配额突发请求身份验证
Free每天 1,500 次每分钟 60 次无(无法识别的密钥会返回 HTTP 401)
Pro(测试版)每天 50,000 次每分钟 200 次有效的 API 密钥
Internal(所有者)不限不限仅限所有者
Local(可自托管)不限不限不适用

每个请求都会返回以下响应头:

  • X-RateLimit-Tier:解析出的层级(free/pro/internal)
  • X-RateLimit-Daily-Limit:解析出的层级当日上限
  • X-RateLimit-Daily-Remaining:当日剩余请求数
  • X-RateLimit-Minute-Remaining:当前分钟剩余请求数
  • 超出限制时会返回 HTTP 429,并附带 Retry-After 响应头。

隐私

  • 托管服务(api.oneqaz.com):权威政策请参阅 https://api.oneqaz.com/privacy。 简而言之——无需账户(可选择将 AI 应用连接到免费的 OneQAZ 账户); 系统会记录每次请求的元数据(IP、user-agent、工具名称、结果、列入白名单的参数、客户端/协议 元数据、API 密钥指纹,以及连接了账户时的账户标识符); IP 地址和从 IP 推导出的会话密钥会在 12 个月后不可逆地替换;数据绝不会出售。
  • 自托管:此软件包不会向 OneQAZ 发送遥测数据,请求日志会写入你自己的 PostgreSQL。 如果你公开部署的服务,请将随附的 /privacy 页面替换为你自己的声明。

详情请参阅:PRIVACY.md。

免责声明

本软件仅用于信息和教育目的。本软件不构成财务建议。

  • 所有信号、市场状态分析和市场数据均由自动化系统生成,可能包含错误。
  • 信号评分根据实时市场价格计算,并每 5–15 分钟重新计算;这些数据并非逐笔数据。
  • 交易、持仓和盈亏数据来自模拟交易(基于 K 线模拟成交,不计手续费、税费或滑点)。真实资金交易的结果会更差。
  • 过往命中率和结果不保证未来表现。
  • 你须对自己的投资决策承担全部责任。 作者和贡献者不对使用本软件造成的任何财务损失承担责任。
  • 本软件不是注册投资顾问、经纪交易商或财务规划师。
  • 做出任何投资决策前,请务必自行研究(DYOR)。

使用本软件即表示你确认理解并接受这些条款。

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。