Skip to main content
Glama

ocean-agent

🧪 封闭测试 — Ocean Agent 截至 2026 年 8 月 11 日处于封闭测试阶段。 经过实测的 bracket 交易引擎首先用我们自己的资金进行实盘验证。 公开测试版下周开放,开放测试版再下一周。 在 Telegram 上关注每日记分卡。

English · 한국어

🌊 网站: oceanagent.fi · PyPI: ocean-agent

告诉你的 AI 去交易。 一个面向 Pacifica 的 MCP 服务器,将自然语言转换为正确、按风险定规模的永续合约订单,外加一个由你控制的策略文件治理的 24/7 自主交易实体。

uvx ocean-agent        # no install needed

⚠️ 这会用真实资金下达真实订单。在连接账户之前,请阅读免责声明。

完全基于 Pacifica 构建。直接调用 Pacifica REST API,使用与官方工具相同的 Ed25519 代理密钥签名,无 npm 依赖。


为什么用这个而不是原始 API 访问

官方 Pacifica MCP 按原样暴露 API:你的 AI 必须自行计算精确的价格和数量,而如果价格不是市场最小变动价位的倍数,交易所会拒绝。ocean-agent 在其之上增加了一层:

原始 API / 官方 MCP

ocean-agent

订单价格

AI 自行计算精确数值

说一句 "3% 止损",自动修正 tick/手数/最小订单量

仓位管理

手动

基于风险(每笔交易固定风险资金百分比)

安全性

无

每个涉及资金的工具都有两步确认门

统计

无

实测胜率和期望值,而非教科书理论


Related MCP server: seashail

MCP 工具

市场与分析

  • analyze_chart,多时间框架指标快照,包含该特定币种和时间框架上每个信号的实测命中率。当不存在优势时会显示“未检测到优势”。

  • top_setups,经统计验证的形态的实时排名(期望值 × 胜率 × 样本置信度),包含入场、止损、目标和杠杆

  • market_context,恐惧与贪婪指数市场状态读取

  • scan_funding,按资金费率 APR 对所有市场进行排名

  • learned_winrates / learned_combos,基于实盘观察构建的胜率数据库,包括多信号组合

  • review_predictions,根据实际发生情况对过去的预测进行评分

交易

  • open_with_bracket,一次调用完成入场并附带交易所原生止盈/止损。止损单驻留在交易所上,即使你的机器关机也会触发。

  • protect_position,为任何未平仓头寸加装原生止盈/止损

  • open_funding_position / close_funding_position,以原子批量方式执行 delta 中性资金费率套利(现货买入 + 永续做空)

  • plan_oi_hedge,为 OI 挖矿头寸计算规模,包含跨交易所对冲、手续费和资金费率计算

  • open_pacifica_leg、check_position、account_status

Print(实验性,使用 Pacifica 尚未文档化的端点;可能随时更改,恕不另行通知)

  • print_quote,实时溢价、隐含波动率和清算价格

  • print_order / print_status / print_close

  • evaluate_print,对 Print 报价是否值得给出统计结论:成交概率、平均超调幅度,以及需要补偿的盈亏平衡 APY


自主交易实体

一个由 policy.yaml(委托合约)约束的自主交易者。它不能在这些边界之外行动。

这是一个独立的常驻进程,不是 MCP 工具。MCP 服务器只在你的 AI 客户端调用它时运行;而一个必须全天候持有头寸并管理止损的交易者需要自己的进程。有意启动它后,无论是否有 AI 连接,它都会持续运行。

python -m ocean_agent.autonomous --init    # create policy.yaml to edit
python -m ocean_agent.autonomous --dry     # decide, but place no orders
python -m ocean_agent.autonomous           # run continuously
python -m ocean_agent.autonomous --once    # single cycle
python -m ocean_agent.autonomous --report  # performance summary

在首次实盘运行前阅读 policy.yaml,资金、杠杆上限、每笔交易风险和硬止损阈值都在其中。先用 --dry 启动。

每个周期它都会读取市场、评估所学内容、管理未平仓头寸,并且只进入通过所有门槛的形态。

投资组合分桶,资金在方向性交易、资金费率套利和现金储备之间分配,每个周期重新平衡。

持仓后续管理,一旦交易盈利,将止损移至盈亏平衡点;随着利润增长进行移动止损,并在目标位部分止盈。止损只会朝有利方向移动。

流动性门槛,跳过你自己的订单将占日成交量很大比例的市场。薄盘才是真正的危险:订单只能部分成交,止损无法按其价格执行。

净敞口限制,限制整个账簿的单向程度,这样单一市场反转不会同时冲击所有头寸。

自我重新测量,这是真正的学习引擎。机器人按计划重新测量币种 × 时间框架 × 信号的完整矩阵,并更新它交易哪些时间框架、信任哪些信号。市场状态会变化:在某次测量中,8 小时时间框架完全没有优势;几周后它却成了表现最好的区间。固定参数会过时,所以它们不是固定的。

python -m ocean_agent.rematrix          # remeasure now
python -m ocean_agent.rematrix --show   # what it currently believes

自适应,在实盘评估中失利的信号会被暂停,回撤期间削减仓位,恢复后重新加回。参数在策略边界内自适应;机器人从不重写自己的代码。

最终止损,在灾难性损失时一次性硬性停止。否则它不会停止,而是自适应。


设置

一条命令,安装所有内容(uv、Python、依赖)并向 Claude Desktop 注册服务器。它会询问两个问题:钱包地址和代理密钥。

# Windows (PowerShell)
powershell -ExecutionPolicy ByPass -c "irm https://oceanagent.fi/install.ps1 | iex"

# macOS / Linux
sh -c "$(curl -LsSf https://oceanagent.fi/install.sh)"

或者手动设置:

  1. 安装 uv:

# Windows (PowerShell)
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

# macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
  1. 在 app.pacifica.fi/apikey 创建一个代理钱包密钥。API 密钥可以交易但不能提取资金,你可以随时撤销它们。

  2. 将其放入 .env:

ADDRESS=your_main_wallet_address
PACIFICA_API_KEY=your_agent_wallet_key
PACIFICA_BASE_URL=https://api.pacifica.fi

按此配置,它会在主网上用真实资金实盘交易。先用 --dry 启动,它会做决策但不下任何订单。如果你更愿意在测试网上演练,也可以使用测试网端点:删除 PACIFICA_BASE_URL 行(测试网使用单独的密钥:ADDRESS_TESTNET、PACIFICA_API_KEY_TESTNET)。

  1. 将你的 MCP 客户端指向它:

{
  "mcpServers": {
    "ocean-agent": {
      "command": "uvx",
      "args": ["ocean-agent@latest"],
      "env": { "PACIFICA_ENV_FILE": "/absolute/path/to/.env" }
    }
  }
}

重启你的 AI 客户端,首次启动会自动下载所有内容。

  1. 检查你的设置:

uv run --with ocean-agent python -m ocean_agent.doctor

本 README 中的任何 python -m ocean_agent... 命令都以相同方式运行,在前面加上 uv run --with ocean-agent。


安全

  • API 密钥仅限交易使用,本软件无法将你的资金转出

  • 每个订单工具都会先预览,并且仅在明确确认后执行

  • 测试网和主网密钥分开保存

  • 自主实体仅在 policy.yaml 范围内行动

风险

这是交易软件。杠杆永续合约的亏损可能超过你缴纳的保证金。实测胜率来自历史数据,并且依赖于市场状态;一个持续数月的优势可能在市场性质改变时消失。这里的一切都不构成财务建议。先用 --dry 运行,直到你完全了解它的行为,并且只承担你能够承受的损失。

许可证

MIT

Available Tools

22 tools
accept_termsRecord Terms AnswerA
DestructiveIdempotent

Record the user's answer to the Terms of Use question. Call ONLY after the user has explicitly answered in chat. confirm=true records acceptance (which approves the builder code from the Terms with the user's key); confirm=false records the decline. Either answer is asked only once.

NameRequiredDescriptionDefault
confirmYes

Output Schema

NameRequiredDescription
resultYes

TDQS

A5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description explains that confirm=true approves builder code with the user's key, adding meaningful side-effect context beyond the annotations' idempotent and destructive hints. No contradictions with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three concise sentences deliver purpose, usage constraint, and parameter behavior without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter tool with output schema and annotations, the description fully equips an agent to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single boolean parameter confirm is fully elaborated, defining true as acceptance and false as decline, which is absent from the schema's generic 'Confirm' label.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it records the user's answer to the Terms of Use question, with a specific verb-resource pairing. It distinguishes from siblings by singularly addressing the Terms workflow.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly instructs to call only after the user has explicitly answered in chat, and notes the question is asked only once, preventing redundant calls. It sets clear timing and exclusivity conditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

account_statusAccount StatusA
Read-onlyIdempotent

Get the connected Pacifica account: USDC balance, equity, open positions, and any funding-farm position opened by this tool.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, openWorld, idempotent, and non-destructive. The description adds value by specifying the return contents, including the unique detail 'any funding-farm position opened by this tool,' which is not in annotations or schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence that front-loads the action ('Get the connected Pacifica account') and then lists specific items. Every word contributes meaning with no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only status tool with no parameters and strong annotations, the description fully covers the tool's purpose and return data. The presence of an output schema also means detailed return formatting is not required in the description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has zero parameters, so the baseline is 4. The description does not need to explain parameters and does not repeat schema information, avoiding redundancy.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses the specific verb 'Get' with the resource 'connected Pacifica account' and lists the exact data returned (USDC balance, equity, open positions, funding-farm position). This clearly distinguishes it from sibling tools like check_position or print_status.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly implies when to use this tool (when account-level status is needed) but does not explicitly mention alternatives or when not to use it. The context is clear enough for an agent to select it over siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

analyze_chartChart & Indicator AnalysisA
Read-onlyIdempotent

Technical analysis for a Pacifica market from real candle data (never estimated). DEFAULT interval='multi' runs the full playbook: FOUR timeframes at once (1h/4h/12h/1d), each with a state snapshot (trend/RSI/MACD/Bollinger) PLUS the measured historical win rates of indicator signals on THIS exact coin+timeframe (only signals passing 30+ samples, +5%p edge, positive EV after fees are shown), marking which are firing right now vs waiting. Pass a single interval (1m/3m/5m/15m/30m/1h/2h/4h/8h/12h/1d/1w) for a deep 8-indicator snapshot of just that timeframe (incl. StochRSI, ATR, VWAP). Takes ~30s in multi mode. Win rates are past-regime measurements, not guarantees, pair with market_context for regime read.

NameRequiredDescriptionDefault
symbolNoBTC
intervalNomulti

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond read-only annotations, it discloses that data is never estimated, takes ~30s in multi mode, filters signals by sample count and edge, and warns that win rates are historical not guarantees. These are valuable behavioral details not present in annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but each sentence adds unique value: purpose, data source, interval modes, signal filtering, performance, and limitations. It is well-structured and front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity and the presence of an output schema, the description covers execution modes, indicator sets, historical win rates, and fallback guidance. It sufficiently prepares the agent to invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description thoroughly explains the interval parameter, listing all valid values and their effects. It mentions 'a Pacifica market' but does not explicitly describe the symbol parameter's format or constraints, leaving a small gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool performs technical analysis on Pacifica markets using real candle data, and distinguishes between multi-timeframe playbook and single-interval deep snapshot modes. It is specific and actionable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides clear guidance on when to use multi vs single interval, and explicitly suggests pairing with market_context for regime context. However, it does not explicitly exclude any alternatives or state when not to use this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

check_positionFarm Position HealthA
Read-onlyIdempotent

Check the health of the current farm position: live funding APR, price move since entry, and whether exit conditions are met. Use this periodically to decide whether to close.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, and non-destructive. The description adds useful behavioral context by listing exactly what status information is checked (live funding APR, price move, exit conditions), which is consistent with the annotations and gives the agent a clear picture of what the tool reports.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences with no filler. It front-loads the core purpose ('Check the health of the current farm position') and immediately lists what is checked, making it easy to scan and comprehend.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the existence of an output schema, the description does not need to explain return values. It fully covers the tool's purpose, the data it reports, and its intended usage. No missing context is apparent for a simple read-only health check tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so the description carries no parameter burden. The baseline of 4 applies since there are no parameters to explain; the description focuses on what the tool does rather than inputs.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool 'Checks the health of the current farm position' with specific components (live funding APR, price move, exit conditions). This distinguishes it from sibling tools like open_funding_position and close_funding_position, which are about taking or closing positions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly advises 'Use this periodically to decide whether to close,' providing a clear when-to-use instruction. It does not mention alternatives or when-not-to-use, but for a read-only monitoring tool this is sufficient context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

close_funding_positionClose Funding Farm PositionA
Destructive

Close the funding-farm position previously opened by this tool (both legs for hedged mode). Requires PACIFICA_API_KEY. IMPORTANT: places a REAL closing order. Call with confirm=false first to preview; only confirm=true after the user approves.

NameRequiredDescriptionDefault
confirmNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already flag destructive and non-idempotent behavior; the description adds critical context: 'places a REAL closing order', the requirement of an API key, and the preview/confirm workflow. This goes well beyond the annotations and informs the agent of real-world consequences.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences that lead with the action, then cover prerequisites and safety. No filler; each clause adds necessary information for correct usage.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's destructive nature and the existence of an output schema, the description covers prerequisites, side effects, and the confirmation workflow. It is complete for agent decision-making, especially within the context of sibling trading tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single parameter 'confirm' is fully explained: preview with false, execute with true. The schema only provides a default, so the description adds essential meaning and usage semantics, fully compensating for the 0% schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb and resource: 'Close the funding-farm position previously opened by this tool'. It also clarifies scope ('both legs for hedged mode'), distinguishing it from siblings like open_funding_position, check_position, and print_close.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit step-by-step usage: 'Call with confirm=false first to preview; only confirm=true after the user approves.' Also states the prerequisite of PACIFICA_API_KEY, giving clear guidance on when and how to invoke the tool safely.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

evaluate_printPrint Expected-Value EvaluatorA
Read-onlyIdempotent

Evaluate a Pacifica Print offer statistically. Print pays daily APY while a target-price order waits, but fills you at your target when the 24h checkpoint lands beyond it (often with the market already past your price). This tool uses ~9 YEARS of hourly history (Binance history joined to Pacifica) to compute: fill probability, average overshoot (instant mark-to-market loss when filled), and the BREAKEVEN APY that would compensate it. Pass shown_apy (the % displayed in the Pacifica UI) to get a verdict: favorable or negative expected value. distance_pct is the target's distance from mark (0.5–5).

Measured result as of 2026-08-05: Print is unfavorable in normal conditions (Pacifica implied vol 26-38% vs realized 40-53%). The one exception found is ETH short at 2% distance while the trailing 7-day realized vol is under 24.2% (~+17%/yr, about 3% of the time). print_eval's vol_gate() reports whether that window is open right now.

NameRequiredDescriptionDefault
sideNolong
symbolNoBTC
shown_apyNo
distance_pctNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish this as a read-only, idempotent, non-destructive operation. The description adds valuable context: it uses ~9 years of hourly history, computes specific metrics, and discloses a known measured result as of a date. The mention of 'vol_gate()' introduces some ambiguity, but overall it enriches the behavioral picture beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with purpose and organized into two paragraphs. It is detailed but not bloated, though the 'print_eval's vol_gate()' reference is an abrupt aside that slightly breaks flow. Still, every sentence contributes meaningful context.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's statistical complexity and the presence of an output schema, the description provides substantial context: input parameters, methodology, a historical finding, and an exception. It doesn't explain side/symbol semantics or the vol_gate() reference, but overall it is complete enough for an agent to understand the tool's purpose and invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description is the sole source of parameter meaning. It explains shown_apy as the % in the Pacifica UI and distance_pct as distance from mark with a valid range, but leaves side and symbol undescribed. This partial compensation earns a 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with 'Evaluate a Pacifica Print offer statistically,' clearly stating a specific verb and resource. It distinguishes itself from siblings like print_quote, print_order, and print_close by focusing on statistical evaluation rather than execution, and enumerates the computed metrics (fill probability, overshoot, breakeven APY).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains when this tool is useful: to compute expected value for a Print offer given shown_apy and distance_pct. It provides a concrete measured result and an exception condition (ETH short at 2% distance under trailing vol <24.2%), implicitly guiding when favorable windows exist. However, it does not explicitly name alternatives or exclusions, so a 4 is appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

learned_combosLearned Combo Win RatesA
Read-onlyIdempotent

Show COMBINATION signal win rates learned from live observation, cases where multiple indicators fire together (e.g. RSI-overbought + Bollinger-upper) in a given market regime (fear/neutral/greed). Combos usually carry a stronger edge than any single signal, and the setup scanner automatically boosts picks that match a high-win-rate combo. Empty until enough co-firing signals are graded; fills as the bot runs.

NameRequiredDescriptionDefault
topNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds useful behavioral context beyond the annotations by explaining that the results are empty until enough co-firing signals are graded and fill as the bot runs. This aligns with the openWorldHint and idempotentHint annotations without contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences long, with each sentence adding value: purpose, significance/usage, and data availability. It is front-loaded with the main purpose, though the comparative sentence about scanner boosting could be seen as slightly tangential.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one optional parameter and an output schema, the description covers the core purpose, market-regime context, and data-fill behavior. The main gap is the omitted explanation of the 'top' parameter, which slightly reduces completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has one parameter 'top' with 0% description coverage, and the description does not mention it at all. The meaning of 'top' (likely top N combos) is left to inference from the name and default, which is insufficient given low schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool shows COMBINATION signal win rates learned from live observation, using the specific verb 'Show' and resource 'combination signal win rates'. It also distinguishes from single-signal tools by emphasizing multiple indicators firing together (e.g., RSI-overbought + Bollinger-upper).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context by noting combos usually carry a stronger edge than any single signal and that the setup scanner boosts high-win-rate combos. However, it does not explicitly name alternatives like 'learned_winrates' or state when not to use the tool, so it lacks explicit exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

learned_winratesLearned Signal Win RatesA
Read-onlyIdempotent

Show the signal win rates LEARNED from continuous observation, the bot records every firing signal across the top-volume coins (whether or not it traded them) and grades them against what actually happened, building a real-world win-rate database over time. This is measured live performance, not backtest. Empty early on; fills up as the autonomous loop runs.

NameRequiredDescriptionDefault
topNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations (readOnlyHint, openWorldHint, idempotentHint, destructiveHint=false), the description richly explains the mechanism: it records every firing signal across top-volume coins, grades them against actual outcomes, builds a real-world database over time, and notes it's measured live performance, not backtest. This adds substantial value over the annotations and discloses the early-empty behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the core purpose, and every phrase adds value (e.g., 'whether or not it traded them', 'not backtest', 'Empty early on'). It packs substantial information into a compact, readable format without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is a read-only informational query with low complexity, and the output schema presumably covers return structure. The description explains the data's provenance, reliability, and evolution over time. However, the missing explanation of the 'top' parameter leaves a small but real gap in the overall description's completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0% description coverage for the only parameter 'top', and the description does not mention it at all. While 'top' likely relates to the number of win rates to return, the description does not clarify its meaning or effect. The default of 15 mitigates the issue, but the lack of any explanation is a notable gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool shows signal win rates 'LEARNED from continuous observation' and explicitly contrasts with backtesting ('not backtest'), making it distinct from potential siblings like learned_combos. The verb 'Show' plus the resource 'signal win rates' is specific and unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context on when to expect meaningful data ('Empty early on; fills up as the autonomous loop runs') and an explicit exclusion ('not backtest'), but it does not name alternative tools or provide when-not-to-use guidance beyond that. This is strong but not fully explicit about alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

market_contextMarket ContextA
Read-onlyIdempotent

Live market context to pair with chart analysis: crypto Fear & Greed index (with a regime note, dip-buying historically loses in extreme fear), the latest headlines, and the current funding-rate extremes on Pacifica. Use this before acting on any indicator signal, since signal hit-rates depend heavily on the market regime. Context is for risk management and regime read, not news-chasing entries.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds behavioral context beyond the readOnly/idempotent annotations by warning that 'dip-buying historically loses in extreme fear' and explaining that signal hit-rates depend on regime. This informs the agent about interpretation and risk, which annotations alone do not convey. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences, front-loaded with the core content, and each sentence adds essential information: what it provides, when to use it, and its limitations. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter tool with a defined output schema, the description fully explains the tool's purpose, content, and interpretation caveats. It covers the context needed for an agent to decide when to invoke it and how to use its output, making it complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so the description doesn't need to explain parameter semantics. Per the rubric, a baseline of 4 applies for zero-parameter tools. The description's content about the data provided is sufficient.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool provides live market context (Fear & Greed index, headlines, funding-rate extremes) and explicitly pairs it with chart analysis. It distinguishes itself from news-chasing by noting the purpose is risk management and regime read, not entry signals.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives explicit usage guidance: 'Use this before acting on any indicator signal' and clarifies it is not for 'news-chasing entries.' This tells the agent when to use it relative to other analysis tools, even without naming siblings explicitly.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

open_funding_positionOpen Funding Farm PositionA
Destructive

Open a funding-farming position on the best available market. mode='hedged': buy spot + short perp of equal size (delta-neutral, price-risk free, only works on spot-listed coins). mode='directional': single perp position following the funding sign (collects funding but IS exposed to price moves). max_usd caps the position size. Requires PACIFICA_API_KEY. IMPORTANT: this places a REAL order. First call with confirm=false (default) to preview; only call with confirm=true after the user explicitly approves. All orders carry builder code 'mustache' (attached only if the account approved it; otherwise the order still goes through without it).

NameRequiredDescriptionDefault
modeNohedged
confirmNo
max_usdNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations mark this as destructive, non-read-only, but the description adds crucial context: 'this places a REAL order', the preview/confirm workflow, the API key requirement, and the builder code caveat. This goes well beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is structured into clear, focused sentences with line breaks, each adding essential information. The warning about real order placement is prominent and not buried. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with multiple modes, confirmation flow, API key, and a builder code, the description covers all necessary operational aspects. The output schema exists to handle return values, so not describing them is acceptable.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, but the description fully explains all three parameters: mode with its two values and implications, max_usd as a size cap, and confirm with its preview/execution semantics. This fully compensates for the lack of schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function as 'Open a funding-farming position' and explains the two modes. It does not explicitly differentiate from siblings like 'open_pacifica_leg' or 'open_with_bracket', but the verb-resource combination is specific enough.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explains when to use hedged vs directional mode and provides a critical usage flow: preview with confirm=false, then confirm=true after explicit user approval. It does not mention alternatives or exclusions, but the context for using this tool is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

open_pacifica_legOpen Pacifica Hedge LegA
Destructive

Open the Pacifica leg of an OI-farming hedge: a perp position on the given symbol and side ('long' or 'short'). Use plan_oi_hedge first to pick the symbol/side, and open the opposite position on the recommended exchange yourself, this tool only executes the Pacifica side. Requires PACIFICA_API_KEY. IMPORTANT: places a REAL order. Call with confirm=false first to preview; only confirm=true after the user approves. Orders carry builder code 'mustache' (attached only if approved).

NameRequiredDescriptionDefault
sideYes
symbolYes
confirmNo
max_usdNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds critical behavioral context beyond the annotations: it warns 'IMPORTANT: places a REAL order,' requires PACIFICA_API_KEY, describes the confirm=false preview flow, and notes that builder code 'mustache' is attached only if approved. These details are not present in the annotations (readOnlyHint: false, destructiveHint: true) and are essential for safe usage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is four sentences, front-loaded with purpose, then workflow, then the real-order warning, and finally builder code detail. Each sentence carries essential information with no redundancy or filler, making it concise and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given that an output schema exists, return-value details are not required. The description covers the tool's purpose, prerequisites (plan_oi_hedge, API key), side effects (real order, confirm flow), and behavioral constraints. It omits the meaning of max_usd and does not describe post-order actions, but the coverage is sufficient for correct selection and invocation in most scenarios.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It clarifies 'symbol' and 'side' by mentioning they represent the perp position's symbol and long/short direction. It also explains 'confirm' via the preview vs. execute flow. However, 'max_usd' is not described at all, and the description does not provide parameter-level details such as accepted values or units, leaving a gap in understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: 'Open the Pacifica leg of an OI-farming hedge: a perp position on the given symbol and side ('long' or 'short').' This is a specific verb+resource construction that singles out this tool from siblings like open_funding_position and plan_oi_hedge by explicitly naming the Pacifica side and mentioning the OI-farming hedge context.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit when-to-use guidance: 'Use plan_oi_hedge first to pick the symbol/side, and open the opposite position on the recommended exchange yourself, this tool only executes the Pacifica side.' It also instructs the user to call with confirm=false first and only confirm=true after approval, which is a clear procedural directive for safe usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

open_with_bracketOpen Position with TP/SLA
Destructive

Open a perp position with EXCHANGE-NATIVE take-profit / stop-loss attached, so the position is protected even if this bot or the user's computer is off, Pacifica closes it at the trigger price. side: 'long'/'short'. usd: notional size. stop_loss_pct / take_profit_pct: distance from entry as a percent (e.g. 3 = 3%); 0 disables that leg. Triggers use mark price. IMPORTANT: places a REAL order, call with confirm=false first to preview, confirm=true only after the user approves. Carries builder code 'mustache' (if approved).

NameRequiredDescriptionDefault
usdYes
sideYes
symbolYes
confirmNo
stop_loss_pctNo
take_profit_pctNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations (destructiveHint=true, openWorldHint=true), the description discloses key behavioral traits: it places a real order, has a two-step confirmation flow, uses mark price for triggers, and remains safe even if the bot is offline. This adds significant behavioral context, with no contradictions to annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and well-structured: it opens with the core purpose, then parameter explanations, then an important confirmation warning, and finally a note about builder code. Every sentence serves a purpose, and the information is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (six parameters, two-phase confirmation, external order placement), the description covers all essential aspects: the protected nature, trigger price, parameter semantics, and safety flow. An output schema exists, so return values need not be described. The description is complete enough for correct tool selection and invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description explains the meaning of side ('long'/'short'), usd (notional size), stop_loss_pct/take_profit_pct (percent distance, 0 disables). This adds meaning beyond the schema, which has no property descriptions. Confirm behavior is also described in the usage note. Symbol is self-explanatory, so coverage is effectively complete.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's primary purpose: opening a perp position with exchange-native take-profit and stop-loss protection. It uses a specific verb-resource pairing ('Open a perp position') and differentiates from sibling tools like open_funding_position and open_pacifica_leg by emphasizing the attached TP/SL brackets.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear usage context: it explains the need to call with confirm=false first and then confirm=true after user approval, and it details parameter usage. However, it does not explicitly mention when to avoid this tool or recommend alternatives, so while guidance is present, exclusions are missing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

plan_oi_hedgeOI Hedge PlannerA
Read-onlyIdempotent

Plan OI farming on Pacifica with a cross-exchange hedge. For each coin, compares funding rates across 10+ exchanges (Binance, Bybit, Hyperliquid, Coinbase, Variational, etc.) and recommends: which side to hold on Pacifica (this builds your OI / points), which exchange to open the OPPOSITE position on (this cancels the price risk), and the resulting net funding carry APR. Positive carry = you get PAID to farm OI delta-neutrally. Note: extreme APRs on exotic/pre-market symbols are often illiquid, prefer major coins.

NameRequiredDescriptionDefault
topNo
min_carry_aprNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate read-only, idempotent, and non-destructive behavior. The description adds value by explaining that it compares live funding rates, provides recommendations, and computes net carry APR. It also discloses a practical limitation (illiquid exotic/pre-market symbols) that goes beyond the structured annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences, each adding essential value: the main purpose, the analysis and recommendations, and a practical caution. It is front-loaded and free of filler, making it easy to scan and understand.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity, the description covers the core functionality, output type (net carry APR), and a key risk (illiquidity). An output schema exists, so return-value details are not needed, but the description could have mentioned any prerequisites or data freshness limitations, making it slightly incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema has 0% description coverage, and the description does not directly explain the 'top' or 'min_carry_apr' parameters. While 'min_carry_apr' is indirectly related to the carry APR concept, the description fails to clarify their meaning or how they affect results, forcing reliance on parameter names alone.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function with a specific verb ('Plan') and resource ('OI farming on Pacifica with a cross-exchange hedge'). It details what it compares (funding rates across 10+ exchanges) and what it recommends (which side to hold, which exchange to hedge on, and net carry APR), effectively distinguishing it from siblings like scan_funding or open_funding_position.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description conveys that this is a planning tool (not execution) and gives a caution about illiquid exotic symbols, implying when to use it. However, it does not explicitly name alternatives or state when not to use it, such as comparing against scan_funding for raw funding rates or open_funding_position for execution.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

protect_positionAttach Stop-Loss / Take-ProfitA
Destructive

Attach EXCHANGE-NATIVE stop-loss / take-profit to a position that is ALREADY OPEN (opened anywhere, this bot, the website, or another tool). Percentages are distances from the current mark price (e.g. 3 = 3%); 0 disables that leg. Once set, Pacifica enforces the triggers even if this bot or the user's PC is offline. IMPORTANT: modifies live protection, call with confirm=false first to preview, confirm=true after the user approves.

NameRequiredDescriptionDefault
symbolYes
confirmNo
stop_loss_pctNo
take_profit_pctNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate destructive and non-idempotent behavior. The description adds valuable context beyond annotations: the triggers are enforced even offline, and the two-phase confirm workflow (preview with confirm=false, execute with confirm=true) is disclosed. It also clarifies what 'modifies live protection' entails.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, structured, and front-loaded. The first sentence states the core action and scope. Subsequent sentences efficiently clarify parameter semantics, offline enforcement, and the confirmation workflow. No filler or redundant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's mutating nature, four parameters, annotations, and output schema, the description covers the essential aspects: purpose, open-position prerequisite, parameter semantics, offline enforcement, and the confirm workflow. It does not describe return values, but that is handled by the output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage, but the description compensates by explaining the percentage parameters are distances from the current mark price and that 0 disables that leg. It also explains the confirm parameter's role in the two-phase workflow. The symbol parameter is not explicitly described but is self-evident from the context.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description specifies a clear action ('Attach EXCHANGE-NATIVE stop-loss / take-profit') and a specific resource ('a position that is ALREADY OPEN'). It explicitly distinguishes from sibling tools like open_with_bracket by emphasizing the position must already be open, regardless of where it was opened.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides clear context on when to use: only for positions that are already open. It also gives an explicit workflow with confirm=false for preview and confirm=true after approval. However, it does not explicitly name alternatives or state when not to use beyond the 'already open' condition.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

recommend_settingsPosition Sizing AdvisorA
Read-onlyIdempotent

Read the connected account and recommend how to size trading: risk per trade, number of concurrent positions, leverage, margin mode (isolated vs cross), and the notional cap, with the reasoning behind each number.

Read-only: it changes nothing, it only proposes. Every figure is derived from the account balance, the exchange's own market specs (max leverage, maintenance margin), and win rates measured by walk-forward validation over ~9 years of price history, not from convention or rules of thumb.

The central point most people get wrong: leverage does NOT make positions bigger. Position size comes from the stop distance (notional = capital x risk% / stop%), where leverage cancels out. Leverage only changes how much margin is locked, so the best leverage is the SMALLEST one that fits the notional you want, going higher just moves the liquidation price closer for no gain. This tool computes that minimum for the connected account.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description goes well beyond the annotations by explicitly stating 'Read-only: it changes nothing, it only proposes,' which directly addresses the readOnlyHint. It also discloses the data sources (account balance, exchange specs, walk-forward validation over ~9 years) and the underlying sizing logic (leverage cancels out, uses minimum leverage). This provides deep behavioral insight that annotations alone do not offer.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is thorough but verbose. The first sentence is a strong front-loaded summary, but the long leverage-explanation paragraph could be condensed. Every sentence provides some value though, so it is not wasteful, but the overall length reduces the conciseness score.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, the description need not detail return values. It provides enough context about inputs (none) and the reasoning methodology to make the tool's behavior understandable. It lacks details about error cases (e.g., no connected account), but that is not critical for the main usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are zero parameters, so the baseline is 4 per the rubric. The description explains what the tool does without any parameter details, which is appropriate; no additional parameter semantics are needed or added.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'recommend' and identifies the resource ('how to size trading') with clear scope: risk per trade, number of positions, leverage, margin mode, and notional cap. It is immediately clear what the tool does and distinguishes itself from siblings like top_setups or open_with_bracket by focusing on advisory sizing calculations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use the tool: to get position sizing recommendations based on the connected account and market specs. It does not explicitly state when NOT to use it or mention alternatives, but the read-only, advisory nature is explicit, so an agent can infer it is for planning rather than execution. This meets 'clear context, no exclusions'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

review_predictionsPrediction ScorecardA
Read-onlyIdempotent

Score past setups from top_setups against what actually happened: per-prediction hit/miss, cumulative realized win rate vs predicted win rate (calibration). If realized falls 10%p+ below predicted, it flags a likely regime change and recommends re-measuring the signal statistics. This is the feedback loop that keeps recommendations honest over time.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds significant behavioral detail beyond annotations: it flags a likely regime change when realized win rate falls 10 percentage points or more below predicted, and recommends re-measuring signal statistics. This gives the agent concrete expectations about outputs and side effects (recommendations), which the annotations' readOnly/idempotent hints do not convey.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences front-load the main purpose, then add actionable details and value. No filler words, and each clause contributes meaning. Well-structured for quick parsing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given zero parameters and an output schema that likely details return fields, the description completely covers what the tool does, when to use it, and what behavioral triggers to expect. It also conveys the broader purpose of keeping recommendations honest. Nothing important seems missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has zero parameters, so the baseline is 4. The description correctly focuses on behavior rather than parameter details, and there are no parameters to explain. It adds value by clarifying what the tool does internally.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool scores past setups from top_setups against actual outcomes, with specific outputs like hit/miss and calibration. It distinguishes itself from siblings like learned_winrates and top_setups by focusing on retrospective evaluation rather than setup generation or rate lookup.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It implies when to use the tool—after setups have played out—and describes its role as a feedback loop. While it doesn't explicitly name alternatives or exclusions, the context is clear enough for an agent to know it is for periodic performance review rather than for setting up new trades.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

scan_fundingFunding Rate ScannerA
Read-onlyIdempotent

Scan funding rates across all Pacifica perp markets, ranked by annualized funding APR (absolute value). Positive funding means shorts collect, negative means longs collect. Set hedgeable_only=true to only show coins that also have a spot market (required for delta-neutral farming).

NameRequiredDescriptionDefault
topNo
hedgeable_onlyNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and idempotentHint=true, so safety is covered. The description adds behavioral context by explaining how to interpret funding values ('Positive funding means shorts collect, negative means longs collect') and that results are ranked by absolute value. This goes beyond annotations to clarify output meaning, though it does not disclose potential rate limits or pagination behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description consists of three concise sentences, each adding value: the primary function, the interpretation of funding signs, and a parameter-specific usage tip. It is front-loaded with the main purpose and contains no redundant or filler content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only scanner with rich annotations and an output schema, the description provides sufficient context. It explains the data scope, ranking logic, sign interpretation, and a specific use case. The only missing detail is the 'top' parameter, but the schema default and name make this self-explanatory, and the output schema covers return values.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for parameter meaning. It explicitly explains hedgeable_only ('Set hedgeable_only=true to only show coins that also have a spot market'), but does not explain the 'top' parameter. However, 'top' is an integer with a default of 10, and its meaning is inferable from the ranking context, so it is partially compensated.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Scan funding rates across all Pacifica perp markets, ranked by annualized funding APR (absolute value).' The verb 'scan' and specific resource 'funding rates' provide a precise action and object. It also distinguishes itself from sibling tools like open_funding_position and close_funding_position by focusing on scanning rather than managing positions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context on when to use the tool by explaining the significance of positive/negative funding and the hedgeable_only parameter. It mentions a specific use case ('required for delta-neutral farming') but does not explicitly name alternative tools or state when not to use it. This is a minor gap, as the context strongly implies its role as a scanning/analysis tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

top_setupsTop Trade SetupsA

Scan top-volume Pacifica perps across three horizons and return the highest-probability setups RIGHT NOW: entry, direction, leverage, margin size, take-profit and stop-loss (as price move AND as % of margin), win rate with sample count, and fee-adjusted expected value.

The three timeframes are NOT fixed, they are whichever ones currently measure the highest expected value, re-selected every 7 days by the re-measurement job. Ask analyze_chart if you need a specific timeframe.

The win rate shown is MEASURED, not a backtest number: it comes from walk-forward validation over ~9 years (Binance history joined to Pacifica), where a prediction is formed using only data available at that moment and then checked against what actually happened. That measurement found the realistic ceiling in this market is about 58%, and that raw backtest values above ~55% do not survive out of sample (a backtest claiming 73% came out at 51% in reality). So expect numbers in the low-to-mid 50s. A setup showing "70%" would be a bug, not an opportunity.

STRICT honesty gates: 30+ occurrences on that exact coin+timeframe, at least 2%p above the base rate, positive EV after fees, and the signal must beat the unconditional baseline for its direction (otherwise it is riding market drift, not skill). Returning ZERO setups is common and correct. Every shown setup is logged for later scoring via review_predictions. Takes 1-2 minutes to scan.

NameRequiredDescriptionDefault
topNo
budget_usdNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description goes far beyond the annotations by disclosing the measured (not backtested) win rate methodology, strict honesty gates, the possibility of zero setups being correct, the logging behavior via review_predictions, and the 1-2 minute scanning time. This is extensive behavioral disclosure and aligns with the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but well-structured: it front-loads the core purpose, then explains the measurement methodology and honesty gates. Every paragraph adds necessary context for a complex tool. It is slightly verbose but justified by the complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity, the description covers virtually everything an agent needs to know: exact output fields, timeframe selection, win rate methodology, honesty gates, side effects, and runtime. The only notable omission is the parameter semantics, which is already penalized separately; overall this is near-complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has zero descriptions for its two parameters (top and budget_usd), and the tool description never mentions these parameters or explains how they affect behavior. With 0% schema coverage, the description needed to compensate but did not, leaving the meaning and usage of these parameters entirely ambiguous.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening sentence clearly states the tool scans top-volume Pacifica perps and returns the highest-probability setups with a specific list of output fields (entry, direction, leverage, etc.). It also distinguishes from a sibling tool by directing users to analyze_chart for specific timeframe needs.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies this tool is for getting high-probability trading setups right now and explicitly tells users to use analyze_chart if they need a specific timeframe. It does not go as far as providing exhaustive when-not-to-use criteria, but it gives clear context and one direct alternative.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 22 tool updatesv0.3.8
    • First observedaccept_terms
    • First observedaccount_status
    • First observedanalyze_chart
    • First observedcheck_position
    • First observedclose_funding_position
    • First observedevaluate_print
    • First observedlearned_combos
    • First observedlearned_winrates
    • First observedmarket_context
    • First observedopen_funding_position
    • First observedopen_pacifica_leg
    • First observedopen_with_bracket
    • First observedplan_oi_hedge
    • First observedprint_close
    • First observedprint_order
    • First observedprint_quote
    • First observedprint_status
    • First observedprotect_position
    • First observedrecommend_settings
    • First observedreview_predictions
    • First observedscan_funding
    • First observedtop_setups

TDQS

A4/5.0

Scored across 22 tools

Disambiguation4/5

Most tools have distinct purposes, but some overlap exists between open_funding_position, open_pacifica_leg, and open_with_bracket (all open positions) and between scan_funding and plan_oi_hedge (both analyze funding rates). Descriptions are detailed enough to disambiguate with careful reading.

Naming Consistency3/5

Naming mixes verb-first (open_*, close_*, evaluate_*) with noun-style (account_status, print_status, top_setups) and participial (learned_winrates, learned_combos). The print_* group is consistent, but overall there is no single predictable pattern.

Tool Count3/5

22 tools is on the heavy side (16-25 range). The scope covers many features (funding farming, OI hedging, Prints, TA, risk, learning), so the count is defensible, but it pushes the upper bound of what feels scoped.

Completeness4/5

The surface covers account management, funding farming lifecycle, OI hedging, Prints, technical analysis, risk recommendations, and a feedback loop for predictions. Missing a general close-position tool for regular perps and order management, but these are minor given the focused domain.

Maintenance

ActivitySlowing
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    A comprehensive MCP server for Aster DEX perpetual futures trading, enabling AI agents to access real-time market data, perform institutional-grade analysis, execute orders, and run automated trading strategies.
    1
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Agent-native, self-hosted MCP server for crypto trading and DeFi management. Enables agents to query balances, execute trades, and manage positions with a policy engine and secure key storage.
    7
    Apache 2.0
  • F
    license
    Not graded
    quality
    D
    maintenance
    MCP server for OpenAlgo, enabling algorithmic trading operations via natural language commands.
    60 PyPI
    3
    -