Skip to main content
Glama

ocean-agent

🧪 ЗАКРЫТАЯ БЕТА — Ocean Agent находится в закрытой бете с 11 августа 2026. Движок торговли с измеряемыми результатами сначала проходит живую валидацию на наших собственных средствах. Публичная бета открывается на следующей неделе, открытая бета — через неделю после этого. Следите за ежедневной таблицей результатов в Telegram.

English · 한국어

🌊 Веб-сайт: oceanagent.fi · PyPI: ocean-agent

Скажите своему ИИ торговать. MCP-сервер для Pacifica, который превращает естественный язык в корректные, риск-взвешенные ордера на бессрочные фьючерсы, плюс круглосуточный автономный торговый агент, управляемый файлом политики, который вы контролируете.

uvx ocean-agent        # no install needed

⚠️ Это размещает реальные ордера с реальными деньгами. Прочтите дисклеймер перед подключением аккаунта.

Полностью построен на Pacifica. Напрямую вызывает REST API Pacifica с тем же подписыванием Ed25519 agent-key, которое использует официальный инструментарий, без npm-зависимости.


Почему это вместо прямого доступа к API

Официальный MCP Pacifica предоставляет API как есть: ваш ИИ должен сам вычислять точные цены и размеры, а цена, не кратная шагу цены рынка, отклоняется биржей. ocean-agent добавляет слой поверх этого:

Сырой API / официальный MCP

ocean-agent

Цены ордеров

ИИ вычисляет точные значения

Скажите "стоп 3%", коррекция тика/лота/мин. ордера автоматически

Размер позиции

Вручную

На основе риска (фиксированный % капитала под риском на сделку)

Безопасность

Нет

Двухшаговое подтверждение на каждом денежном инструменте

Статистика

Нет

Измеренные показатели выигрышей и ожидаемая ценность, а не теория из учебников


Related MCP server: asterdex-mcp-server

MCP-инструменты

Рынок и анализ

  • analyze_chart, мультитаймфреймовый снимок индикаторов с измеренными показателями попаданий по каждому сигналу на этой конкретной монете и таймфрейме. Говорит «преимущества не обнаружено», когда его нет.

  • top_setups, живой рейтинг статистически подтверждённых сеток (EV × процент выигрышей × доверие к выборке), с входом, стопом, целью и плечом

  • market_context, чтение режима Fear & Greed

  • scan_funding, все рынки, ранжированные по годовой ставке финансирования

  • learned_winrates / learned_combos, база данных процентов выигрышей, построенная на живых наблюдениях, включая комбинации сигналов

  • review_predictions, прошлые прогнозы, оценённые по фактическим результатам

Торговля

  • open_with_bracket, вход плюс нативные TP/SL на бирже одним вызовом. Стопы живут на бирже, поэтому срабатывают даже при выключенной машине.

  • protect_position, добавление нативных TP/SL к любой открытой позиции

  • open_funding_position / close_funding_position, дельта-нейтральный перенос финансирования (покупка спота + короткая позиция по перпу), исполняемый атомарно как пакет

  • 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-сервер работает только когда его вызывает ваш ИИ-клиент; трейдер, который должен держать позиции и управлять стопами круглосуточно, нуждается в собственном процессе. Запустите его осознанно, и он продолжает работать независимо от того, подключён ли какой-либо ИИ.

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.

Каждый цикл он читает рынок, оценивает то, чему научился, управляет открытыми позициями и входит только в те сетки, которые проходят все ворота.

Портфельные корзины, капитал распределён между направленной торговлей, переносом финансирования и денежным резервом, ребалансируется каждый цикл.

Уход за позицией, перемещает стоп в точку безубыточности, когда сделка выходит в плюс, тянет его за ростом прибыли и фиксирует частичную прибыль на цели. Стопы двигаются только в вашу пользу.

Ворота ликвидности, пропускает рынки, где ваш собственный ордер был бы большой долей дневного объёма. Тонкие книги — реальная опасность: ордер, который исполняется лишь частично, и стоп, который не может быть исполнен по своей цене.

Лимит чистой экспозиции, ограничивает, насколько односторонней может стать книга, чтобы один разворот рынка не ударил по всем позициям одновременно.

Самопереизмерение, это и есть настоящий движок обучения. По расписанию бот заново измеряет полную матрицу монет × таймфреймов × сигналов и обновляет, какие таймфреймы он торгует и каким сигналам доверяет. Режимы меняются: в одном измерении таймфрейм 8h не показал никакого преимущества; недели спустя он был лучшей полосой. Фиксированные параметры устаревают, поэтому они не фиксированы.

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

Адаптация, сигналы, проигрывающие в живом оценивании, приостанавливаются, размер сокращается во время просадки и восстанавливается при восстановлении. Параметры адаптируются в пределах политики; бот никогда не переписывает свой собственный код.

Финальный стоп, единственная жёсткая остановка при катастрофическом убытке. В остальном он не останавливается, он адаптируется.


Установка

Одна команда, устанавливает всё (uv, Python, зависимости) и регистрирует сервер в Claude Desktop. Задаёт два вопроса: адрес кошелька и agent key.

# 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. Создайте agent wallet key на 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

Как написано, это торгует вживую на mainnet с реальными средствами. Начните с --dry, который принимает решения, но не размещает ордеров. Также доступен testnet-эндпоинт, если вы предпочитаете репетировать там: удалите строку PACIFICA_BASE_URL (testnet использует отдельные ключи: 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" }
    }
  }
}

Перезапустите ваш ИИ-клиент, первый запуск загрузит всё автоматически.

  1. Проверьте вашу настройку:

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

Любая команда python -m ocean_agent... в этом README работает так же, добавьте uv run --with ocean-agent.


Безопасность

  • API-ключи только для торговли, это программное обеспечение не может вывести ваши средства

  • Каждый инструмент ордеров сначала показывает предпросмотр и исполняется только после явного подтверждения

  • Testnet и mainnet ключи хранятся отдельно

  • Автономный агент действует только в рамках 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmYes

Output Schema

ParametersJSON 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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolNoBTC
intervalNomulti

Output Schema

ParametersJSON 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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmNo

Output Schema

ParametersJSON 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
sideNolong
symbolNoBTC
shown_apyNo
distance_pctNo

Output Schema

ParametersJSON 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
topNo

Output Schema

ParametersJSON 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
topNo

Output Schema

ParametersJSON 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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON 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).

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNohedged
confirmNo
max_usdNo

Output Schema

ParametersJSON 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).

ParametersJSON Schema
NameRequiredDescriptionDefault
sideYes
symbolYes
confirmNo
max_usdNo

Output Schema

ParametersJSON 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).

ParametersJSON Schema
NameRequiredDescriptionDefault
usdYes
sideYes
symbolYes
confirmNo
stop_loss_pctNo
take_profit_pctNo

Output Schema

ParametersJSON 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
topNo
min_carry_aprNo

Output Schema

ParametersJSON 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes
confirmNo
stop_loss_pctNo
take_profit_pctNo

Output Schema

ParametersJSON 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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON 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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON 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).

ParametersJSON Schema
NameRequiredDescriptionDefault
topNo
hedgeable_onlyNo

Output Schema

ParametersJSON 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
topNo
budget_usdNo

Output Schema

ParametersJSON 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. Dates show when Glama detected each change.

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

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    A Model Context Protocol (MCP) server for the Hyperliquid decentralized exchange, enabling AI assistants to perform trading operations, manage accounts, and retrieve market data.
    3
    MIT
  • 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

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/oceanagent/ocean-agent'

If you have feedback or need assistance with the MCP directory API, please join our Discord server