ocean-agent
ocean-agent
🧪 비공개 베타 — Ocean Agent는 2026년 8월 11일부터 비공개 베타입니다. 측정 기반의 브래킷 트레이딩 엔진은 먼저 자사 자금으로 실전 검증 중입니다. 공개 베타는 다음 주에, 오픈 베타는 그다음 주에 시작됩니다. 매일의 점수표는 Telegram에서 확인하세요.
English · 한국어
🌊 웹사이트: oceanagent.fi · PyPI: ocean-agent
당신의 AI에게 거래하라고 말하세요. Pacifica를 위한 MCP 서버입니다. 자연어를 정확하고 리스크 규모가 산정된 무한기한 선물 주문으로 변환하며, 사용자가 제어하는 정책 파일에 따라 운영되는 24/7 자율 트레이딩 엔터티도 함께 제공합니다.
uvx ocean-agent # no install needed⚠️ 이것은 실제 자금과 실제 주문을 체결합니다. 계정을 연결하기 전에 면제 조항을 먼저 읽으세요.
전적으로 Pacifica 기반으로 구축되었습니다. 공식 도구가 사용하는 것과 동일한 Ed25519 agent-key 서명 방식으로 Pacifica REST API를 직접 호출하며, npm 의존성이 없습니다.
원시 API 접근 대신 이것을 사용하는 이유
공식 Pacifica MCP는 API를 있는 그대로 노출합니다. AI가 정확한 가격과 크기를 스스로 계산해야 하며, 시장의 틱(tick) 크기의 배수가 아닌 가격은 거래소에서 거부됩니다. ocean-agent는 그 위에 계층을 추가합니다.
원시 API / 공식 MCP | ocean-agent | |
주문 가격 | AI가 정확한 값을 계산해야 함 | *"3% 스톱"*이라고 말하면 틱/로트/최소 주문 크기 자동 보정 |
포지션 크기 | 수동 | 리스크 기반(거래당 자본의 고정 비율이 위험에 노출) |
안전 | 없음 | 돈과 관련된 모든 도구에 2단계 확인 게이트 |
통계 | 없음 | 교과서 이론이 아닌 실측된 승률과 기대값 |
Related MCP server: seashail
MCP 도구
시장 및 분석
analyze_chart, 특정 코인/시간프레임에서 시그널별 측정된 승률을 제공하는 멀티 타임프레임 지표 스냅숑. 엣지가 없으면 "엣지가 detected되지 않았습니다"라고 말함.top_setsetup, 통계적으로 입증된 셋업(EV × 승률 × 샘플 신뢰도)을 실시간으로 랭킹하고 진입, 손절, 목표가, 승로지 포함.market_context, Fear & Greed(공포·탐욕) 시장 국면 판단.scan_funding, 모든 시장을 funding APR 순으로 정렬.learned_winrates/learned_combos, 라이브 관측으로 구축된 승률 데이터베이스, 다중 시그널 조합을 포함 가능.review_predictions, 지난 예측을 실제와 대조하며 평가한다.
트레이딩
open_with_bracket, 진입과 동시에 거래소 자체 TP/SL을 실행 le podor하면 브랜드 구실을하는일. 스톱이 거래소에 남기 때문에 컴퓨터가 꺼져 있어도 발동됩니다.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_closeevaluate_print, Print 오퍼가 가치 있는저 통계적 판단: 체결 확률, 평균 오버슈트, 이를 보상하는 손육분 APY.
자율 트레이딩 엔터티
policy.yaml에 정의되는 위임 계약에 따라 스스로 판단하는 회피자입니다. 그 범위를 벗어나 움직일 수 없습니다.
MCP 요구가 아니라 별도로 항상 실행되는 프로세스입니다. MCP 서버는 AI 클라이언트가 호출할 때만 실행되지만, 포지션과 스톱을 24시간 관리해야 하는 트레이더는 별도 프로세스가 필요합니다. 시작을 의도적으로 해두면 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.json을 읽어두십시오. 자본, 레버리지 상한, 거당 리스크, 하드 스톱 한계(임계값) 모두 여기에 있습니다. --dry로 시작하세요.
매 사이클마다 평가, 판단, 학습, 포지션 관리, 그리고 모든 게이트 출력 셋업에만 진입합니다.
포트폴리머 버킷, 방향성 트레이딩, 펀딩 게리, 현금 레랑브로 자본을 나누고, 주기적으로 리밸런스합니다.
포지션 사후 관리, trade가 유리해질 때 스톱을 손익분기으로 옮기고, 수익이 커질수와 함께 trailing, 그리고 목표치에서 부분적으로 이익입니다. 중단은 항상 유리한 방향으로만 이동합니다.
유동성을 강화, 자신의 주문이 daily volume의 큰 비중을 차지하는 시장은 건너red. 비낮은 콜 북은 주문이 일부만 채되거나 stop이 원 가격에 체결되지 못하는 실제 위험입니다.
네트 노출 한도, 하나의 시장 역전이 모든 포지션을 동시에 못 하게 하고 단한 방향이 적↦ 비율을 제한합니다.
Self-remeasurement, 이것은 진짜 학습 엔진입니다. 일정하게 봇이 코인 × 시간프레임 × 신호 pool의 full matrix를 재측정하고, 어떤 시간 프레임을 트레이드하고 어떤 시그널을 신뢰할지 최신화합니다. 변화하는 시장 정권을 반영합니다. 어떤 한 측정 결과에서는 8h 시간가 엣지가 전혀 없어 보였지만, 몇주 후에는 최고의 대역으로 두각을 나타냈습니다. 고정 매개는 남아, 따라서 고정하지 않습니다.
python -m ocean_agent.rematrix # remeasure now
python -m ocean_agent.rematrix --show # what it currently believes적응 — 라이브 평가에서 real time에 불리한 신호는 중단되고, drawdown에 적응하여 크기가 줄었다가 회복 후 다시가 커졌습니다. 파라미터는 정책 한도 내에서만 적응하며, 봇이 자기 코드를 다시 처음 사용하지 않습니다.
최종 스톱 — 치명적 손실에 대해 한번 강제적인 중지가 있습니다. 이 외에는 멈추지 않고 적응합니다.
셋업
원클적으로 어울려, uv, Python, dependencies를 모두 설치하고 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)"수동 설정도 있습니다:
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 | shapp.pacifica.fi/apikey에서 agent wallet key를 생성합니다. API 키는 거래만 가능하며 자금 출금은 불incapable합니다는 숫자 등 요기 임의로 폐기할 수 있습니다.
.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).
MCP 클라이언트를 이쪽으로 향하게 합니다:
{
"mcpServers": {
"ocean-agent": {
"command": "uvx",
"args": ["ocean-agent@latest"],
"env": { "PACIFICA_ENV_FILE": "/absolute/path/to/.env" }
}
}
}AI 클라이언트를 다시 시작하세요. 첫 실행이 자동으로 모든 것을 내려받습니다.
설정 상태를 확인하세요:
uv run --with ocean-agent python -m ocean_agent.doctor이 README의 python -m ocean_agent... 명령은 동일한 방식으로 실행됩니다. 앞에 uv run --with ocean-agent를 붙여사용하세요.
안전
API explicitly는 거래 전용입니다. 이 소프트웨어는 자금을 가져갈 수 없습니다.
모든 주문 도구는 먼저 프리뷰를 보여주고 명시적 확인(confirm) 후에만 실행합니다.
테스트넷과 메인넷 키는 별도로 관리합니다.
자율 엔터티는
policy.yaml의 범위 내만 행동합니다.
리스크
이 소프트웨어는 트레이딩 소프트웨어입니다. 레버리지 무기한 미래는 설정 계좌보다 더 큰 손실을볼 수 있습니다. 실측 승률은 역사적 데이터에 기반하며 시장 패턴에 의존합니다. 수개월 동안 유지된 Edge도 시장의 성격이 변하면 사라질 수 있습니다. 이 문서의 어떤 것도 투자 조언이 아닙미다.
--dry 모드로 정확히 무슨 일을 하는지 이해할 때까지 운용하고, 잃을 수 있는 자금에 한해서만 리스크를 취하세요.
라이선스
MIT
Available Tools
22 toolsaccept_termsRecord Terms AnswerADestructiveIdempotent
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.
| Name | Required | Description | Default |
|---|---|---|---|
| confirm | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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 StatusARead-onlyIdempotent
Get the connected Pacifica account: USDC balance, equity, open positions, and any funding-farm position opened by this tool.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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 AnalysisARead-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.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | BTC | |
| interval | No | multi |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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 HealthARead-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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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 PositionADestructive
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.
| Name | Required | Description | Default |
|---|---|---|---|
| confirm | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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 EvaluatorARead-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.
| Name | Required | Description | Default |
|---|---|---|---|
| side | No | long | |
| symbol | No | BTC | |
| shown_apy | No | ||
| distance_pct | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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 RatesARead-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.
| Name | Required | Description | Default |
|---|---|---|---|
| top | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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 RatesARead-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.
| Name | Required | Description | Default |
|---|---|---|---|
| top | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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 ContextARead-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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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 PositionADestructive
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).
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | hedged | |
| confirm | No | ||
| max_usd | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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 LegADestructive
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).
| Name | Required | Description | Default |
|---|---|---|---|
| side | Yes | ||
| symbol | Yes | ||
| confirm | No | ||
| max_usd | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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/SLADestructive
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).
| Name | Required | Description | Default |
|---|---|---|---|
| usd | Yes | ||
| side | Yes | ||
| symbol | Yes | ||
| confirm | No | ||
| stop_loss_pct | No | ||
| take_profit_pct | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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 PlannerARead-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.
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | ||
| min_carry_apr | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
print_closeClose Print DepositADestructive
End a Pacifica Print deposit early and withdraw (signed end_game + withdraw_from_game). IMPORTANT: moves funds, confirm=false previews, confirm=true executes after user approval.
| Name | Required | Description | Default |
|---|---|---|---|
| game | No | BTC_24H | |
| confirm | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes beyond the annotations (destructiveHint, readOnlyHint, etc.) by explicitly warning that it 'moves funds' and explaining the behavioral difference between confirm=false (preview) and confirm=true (execute after user approval). This adds critical context about side effects and safety that annotations alone do not fully convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, front-loaded with the main purpose, and includes the most critical safety warning ('IMPORTANT: moves funds') in the second sentence. Every word earns its place with no redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has an output schema and annotations, the description provides sufficient context for safe invocation: it explains the purpose, the confirm workflow, and the fund-moving nature. The only gap is the undefined 'game' parameter, which prevents a perfect score. Overall, it is nearly complete for a destructive operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage, so the description must explain parameters. It clearly explains the 'confirm' parameter's behavior ('confirm=false previews, confirm=true executes after user approval'). However, the 'game' parameter is not explained beyond its name and default value, leaving ambiguity about what values it accepts or how it relates to the deposit being closed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('End a Pacifica Print deposit early and withdraw') with specific verb 'end' and resource 'Pacifica Print deposit', and distinguishes it from sibling tools by naming the exact mechanism ('signed end_game + withdraw_from_game'). The title 'Close Print Deposit' matches the description and is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 end a deposit early and withdraw) and includes explicit instructions for the confirm parameter ('confirm=false previews, confirm=true executes after user approval'). However, it does not explicitly mention alternatives or when not to use it, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
print_orderPlace Print OrderADestructive
Place a Pacifica Print order via API (what the web UI does, first programmatic access; undocumented, may change). Deposits usd into the Print market: you earn premium each 24h cycle while your strike order waits, and get filled at your strike if the checkpoint lands beyond it. IMPORTANT: moves real funds, call with confirm=false first to preview, confirm=true only after the user approves. Run evaluate_print and print_quote first to check the expected value.
| Name | Required | Description | Default |
|---|---|---|---|
| usd | No | ||
| game | No | BTC_24H | |
| side | No | long | |
| confirm | No | ||
| leverage | No | ||
| strike_price | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations (destructiveHint=true), the description warns 'moves real funds', explains the mechanics of earning premium per 24h cycle, the strike fill condition, and that the API is 'undocumented, may change'. This substantially enriches the agent's understanding of the tool's behavior and risks, with no contradiction 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but each sentence earns its place: definition, mechanics, and critical usage warning. The 'IMPORTANT' label front-loads the highest-risk aspect, and the instructions are sequentially actionable. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (mutating, real funds, six undocumented params) and the presence of an output schema, the description covers the essential workflow and risks well. However, the missing parameter definitions for game, side, and leverage leave some operational ambiguity. Still, the core usage and safety guidance are present, making it largely complete for selecting and invoking the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 explains 'usd' via 'Deposits usd', 'confirm' via the preview/confirm flow, and 'strike_price' via 'strike order', but completely omits 'game', 'side', and 'leverage'. For a financial tool with six parameters, this is a significant gap that leaves the agent without necessary guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific action: 'Place a Pacifica Print order via API', clearly identifying the resource and verb. It distinguishes itself from siblings like print_close, print_status, and print_quote by stating it is the first programmatic access and what the web UI does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit usage workflow is provided: run evaluate_print and print_quote first, call with confirm=false to preview, then confirm=true only after user approval. This clearly states when to use the tool and the necessary precursor steps, setting it apart from related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
print_quotePrint Live QuoteARead-onlyIdempotent
Get a LIVE quote for a Pacifica Print order: the premium (yield) you would earn per 24h cycle, implied volatility, and liquidation price. Print = place a target-price (strike) order that earns premium while waiting; fills at your strike if the 24h checkpoint lands beyond it. side long = buy below market, short = sell above market. strike_price 0 = auto (1% away from mark). Uses Pacifica's own simulator (undocumented web API, may change without notice). Free, no execution.
| Name | Required | Description | Default |
|---|---|---|---|
| usd | No | ||
| game | No | BTC_24H | |
| side | No | long | |
| leverage | No | ||
| strike_price | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds important context: 'Uses Pacifica's own simulator (undocumented web API, may change without notice)' warns about stability, and 'Free, no execution' clarifies no hidden costs or side effects. It also describes what the quote contains, adding behavioral detail 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured, starting with the main purpose and then providing necessary context on Print mechanics, parameter semantics, and API caveats. It is moderately long but every sentence contributes to understanding. It is not bloated, though it could be condensed without losing essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so explaining return values isn't needed. The description covers the core concept, explains the key parameter behavior (side, strike_price), and warns about API instability. Gaps remain for 'usd', 'game', and 'leverage' semantics, and explicit alternative tool usage, but for a read-only quote tool this is substantially complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 explicitly clarifies 'side' (buy/sell below/above market) and 'strike_price' (0 = auto 1% away from mark). However, 'usd', 'game', and 'leverage' are not directly explained; 'premium per 24h cycle' hints at their role but leaves ambiguity. The description partially compensates but not fully.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Get a LIVE quote for a Pacifica Print order' and specifies the exact outputs (premium, implied volatility, liquidation price). It also explains the Print concept and clarifies 'Free, no execution', which distinguishes it from execution tools like print_order and evaluate_print.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use the quote mechanic implicitly by describing what a Print is and noting 'no execution', implying execution is a different tool. It also gives concrete guidance for side ('long = buy below market, short = sell above market') and strike_price ('0 = auto 1% away from mark'). However, it does not explicitly name alternative tools or provide a direct 'use this when' statement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
print_statusPrint Deposits StatusARead-onlyIdempotent
List my active Pacifica Print deposits: market, direction, deposit, strike price, leverage, entry mark price, premium collected, and age.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already establish read-only, idempotent, non-destructive behavior. The description adds the qualifier 'active' indicating it returns only open positions, but it does not discuss ordering, pagination, or any edge cases. Since output schema likely covers return fields, the added value here is minimal beyond the annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that is front-loaded with 'List' and enumerates the included fields without any fluff or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a zero-parameter tool with a clear output schema and annotations that convey safety, the description is sufficient to understand what the tool does and what it returns. It does not need to explain return values in detail because the output schema exists.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters are defined, so there is nothing to describe. The baseline score of 4 is appropriate given zero parameters, meaning no confusion is possible.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'List' and clearly identifies the resource as 'my active Pacifica Print deposits' while enumerating the exact fields returned. This distinguishes it from sibling tools like account_status or check_position which likely serve different purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context (lists active deposits with specific fields) which implies it is for obtaining a snapshot of open print deposits. However, it does not explicitly mention when not to use it or name alternative tools, so it stops short of full guidance.
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-ProfitADestructive
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.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | ||
| confirm | No | ||
| stop_loss_pct | No | ||
| take_profit_pct | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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 AdvisorARead-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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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 ScorecardARead-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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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 ScannerARead-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).
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | ||
| hedgeable_only | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | ||
| budget_usd | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
22 tool updates
v0.3.8- First observed
accept_terms - First observed
account_status - First observed
analyze_chart - First observed
check_position - First observed
close_funding_position - First observed
evaluate_print - First observed
learned_combos - First observed
learned_winrates - First observed
market_context - First observed
open_funding_position - First observed
open_pacifica_leg - First observed
open_with_bracket - First observed
plan_oi_hedge - First observed
print_close - First observed
print_order - First observed
print_quote - First observed
print_status - First observed
protect_position - First observed
recommend_settings - First observed
review_predictions - First observed
scan_funding - First observed
top_setups
TDQS
Scored across 22 tools
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 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.
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.
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
Related MCP Connectors
- FensoryOAuthcom.fensory
Trading MCP server for AI agents, with live market data, account reads and controlled execution.
MCP server for Mudrex futures trading enabling AI agents to securely access data and risk tools.
MCP server for OpenMM — exposes market data, account, trading, and strategy tools to AI agents
MCP server for Gainium — manage trading bots, deals, and balances via AI assistants
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceA 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.1MIT
- AlicenseNot gradedqualityDmaintenanceAgent-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.7Apache 2.0
- FlicenseNot gradedqualityDmaintenanceMCP server that exposes Polymarket prediction markets via CLI wrapper. Enables AI agents to discover markets, check prices, and place trades programmatically.-
- FlicenseNot gradedqualityDmaintenanceMCP server for OpenAlgo, enabling algorithmic trading operations via natural language commands.60 PyPI3-