Skip to main content
Glama
AlgoChains

AlgoChains MCP Server

Official
by AlgoChains

AlgoChains MCP Server

MCP Tools Version Python License Docs Data


The only MCP server with live futures bots, real fill data, real-time ML inference, and 535 tools across 21 domains — all backed by real APIs, zero synthetic data.

Connect your AI assistant (Claude, Cursor, ChatGPT) to your trading infrastructure in 3 commands. Ask Claude "What's my paper P&L today?" — it reads your AlgoChains virtual paper account and tells you. No broker required.

You ask Claude:                       Claude calls:                    Server calls:
"What's my paper P&L?"        →  get_my_portfolio()        →  AlgoChains paper account → real signals
"What signals did MNQ fire?"  →  get_signal_stream()       →  copy-trade signal feed → live bot output
"Run a backtest on MNQ"       →  run_backtest()             →  Databento tick archive
"Is the market trending?"     →  detect_market_regime()    →  Polygon + FRED → analysis
"What's my live NQ position?" →  get_positions()           →  Tradovate API → real data  (live users)

Quick Install

# 1. Install
pip install algochains-mcp-server

# 2. Connect to your IDE (no credentials needed to start)
python scripts/quickstart.py --generate-config cursor

# 3. Verify
python scripts/quickstart.py --mode demo

That's it. Your AI now has 181 tools (smart mode) available immediately.

Recommended next step — no broker needed: Sign up at algochains.ai for a free hosted virtual paper account, set ALGOCHAINS_SUBSCRIBER_KEY=sub_live_…, and start copy-trading MNQ signals instantly. See Option B below.

For live broker connectivity (Tradovate, Alpaca, etc.), see Option C.


Related MCP server: vibetrader-mcp

Subscriber Onramp — Try It Free (No Broker Required)

The fastest way to get value from this server is as a subscriber: sign up at algochains.ai, get a free hosted virtual paper account, and start copy-trading the live MNQ bot's signals in seconds. No Tradovate credentials. No Alpaca account. No real money.

How it works

  1. Sign up at algochains.ai — free paper account provisioned automatically

  2. Dashboard shows your sub_live_… subscriber key — copy it

  3. Set ALGOCHAINS_SUBSCRIBER_KEY=sub_live_… in your shell or .env

  4. Claude now has 9 subscriber-scoped tools available:

Tool

What it does

get_my_portfolio

Paper balance + active bot assignments + open signals + 7-day P&L in one call

get_signal_stream

Unread copy-trade signals for the bots you follow (MNQ by default)

get_my_pnl

Today's P&L and 7-day P&L from your paper fills

get_my_fills

Paginated fill history — symbol, side, qty, fill price, P&L per trade

get_my_assignments

Which bots you're subscribed to and their risk caps

get_marketplace_listings

Browse all approved bots available to subscribe to

place_paper_order

Place a self-directed paper order (filled at real quotes)

cancel_paper_order

Cancel a pending paper order

get_my_paper_positions

Open and recently filled self-directed paper orders

All 16 subscriber tools require only the sub_live_… key (env ALGOCHAINS_SUBSCRIBER_KEY) — no OWNER_API_TOKEN, no broker credentials.

To place trades in your own broker (Tradovate/Alpaca) rather than the hosted virtual paper account, connect it at https://algochains.ai/account/brokers/ (server-side Broker Hub — no local daemon to run).

Subscriber key format

Keys always start with sub_live_ (production) or sub_test_ (sandbox). Set the key as ALGOCHAINS_SUBSCRIBER_KEY (canonical) in your .env — the server resolves your subscriber_id server-side via Supabase. Your key never touches this repo.

ALGOCHAINS_SUB_KEY is accepted as a back-compat alias by both the Python server and the TS CLI (fixed in #242 / v22.7.1), but prefer ALGOCHAINS_SUBSCRIBER_KEY. Note: ALGOCHAINS_BRIDGE_KEY is the owner / developer key — it is not a subscriber key. On the HTTP bridge the subscriber key is sent as the X-Api-Key header; the base URL is https://mcp.algochains.ai (api.algochains.ai is a different service — AlgoChains' Data API — and does not answer /api/mcp). There are 16 subscriber tools in total (get_signal_stream, get_my_pnl, get_my_fills, get_my_assignments, get_my_portfolio, get_marketplace_listings, place_paper_order, cancel_paper_order, get_my_paper_positions, report_fill, heartbeat, ack_signal, join_bot, get_subscriber_status, accept_subscriber_terms, get_my_usage).

Subscriber quick-start prompts

Portfolio snapshot:
"Run get_my_portfolio. What's my paper balance and how did the MNQ bot do today?"

Signal stream:
"Call get_signal_stream. What signals has the MNQ bot fired in the last hour?"

Fill history:
"Run get_my_fills with limit=20. List the last 20 fills with P&L per trade."

Marketplace browse:
"Run get_marketplace_listings. Which bots are available to subscribe to?"

Paper trade:
"I want to paper-trade 1 MES long at market. Use place_paper_order."

Bot owners: See MARKETPLACE_CREATOR_GUIDE.md and check_propagation_health / test_signal_propagation for the copy-trade pipeline health tools (requires OWNER_API_TOKEN).


Smart Mode vs Full Mode

AlgoChains exposes tools in two tiers, controlled by ALGOCHAINS_TOOL_MODE:

Mode

Tools Exposed

Token Cost

When to Use

Smart (default)

181 curated

~4K tokens

Cursor, Windsurf (80-tool limit), everyday use

Full (ALGOCHAINS_TOOL_MODE=full)

535 tools

~40K tokens

Claude Code, full agentic sessions

Smart mode includes: all live bot tools, market data, signals, research/backtest, Onyx RAG, prop fund pipeline, position sizing, broker management, and order execution. Everything you need 95% of the time.

Full mode unlocks the remaining 352 tools: advanced DeFi, Kalshi order placement, multi-tenant SaaS, QuantConnect integration, alt-data pipelines, and more.

discover_tools — Find Any Tool Without Full Mode

Even in smart mode, you can find and use any of the 535 tools:

# Ask the server to find the right tool for your task
discover_tools("walk-forward validation with leakage check")
# → Returns: walk_forward_test, run_mcpt_validation, analyze_overfitting

# Then call it
execute_dynamic_tool("walk_forward_test", {"symbol": "MNQ", "lookback_days": 252})

This provides 99.6% token reduction vs exposing all 535 tools (arXiv:2603.20313).


Tool Domains

All 535 tools organized across 21 domains:

#

Domain

Smart

Full

Key Tools

1

Market Data

14

22

get_quote, get_ohlcv, get_tick_data, get_options_chain, get_footprint_chart, get_dark_pool_volume

2

Signals & Analysis

12

18

generate_signal, detect_market_regime, get_ensemble_vote, compute_gex, read_tape, pair_trade_signal

3

Research & Backtesting

10

16

run_backtest, walk_forward_test, run_mcpt_validation, validate_strategy_metrics, analyze_overfitting

4

Position Sizing

6

8

compute_r_multiple_size, compute_volatility_targeted_size, compute_idm, dual_size_conservative

5

Options Analytics

4

6

compute_option_greeks, find_optimal_strike, get_options_chain, unusual_options_activity

6

Prop Fund Pipeline

8

10

evaluate_strategy_for_prop_fund, simulate_prop_fund_evaluation, list_prop_funds, check_rithmic_status

7

Broker Management

6

15

check_all_broker_credentials, connect_broker, get_broker_onboarding_guide, store_api_key

8

Subscriber / Copy-Trade

3 stdio

16 bridge

get_subscriber_status, accept_subscriber_terms, join_bot, get_my_portfolio, get_signal_stream, place_paper_order

9

Account Protection

6

8

check_protection_status, record_stop_event, lock_instrument, check_rate_limit_status

10

Order Execution

8

12

place_order, place_bracket_order, cancel_order, smart_route_order, execute_twap

11

Emergency / Destructive

3

5

flatten_all_positions, cancel_all_orders, emergency_stop, trip_circuit_breaker

12

Intelligence (Onyx + Macro)

10

14

onyx_ask, onyx_search, get_macro_signals, get_us_economic_indicators, get_fed_policy_signals

13

Prediction Markets

8

12

get_prediction_markets, search_prediction_markets, get_kalshi_settlements, place_kalshi_order

14

Skills Bridge

5

5

list_skills, get_skill_detail, search_skills, get_skills_for_task, invoke_moltbook_debate

15

Agent Memory

6

8

get_openclaw_memory, store_trade_lesson, get_current_regime, get_openclaw_state_summary

16

Live Bot Intelligence

12

18

get_bot_health, get_live_bot_metrics, get_bot_position_state, get_ai_pipeline_health, restart_trading_bot

17

Desktop Tower / Dispatch

4

8

dispatch_tower_job, get_tower_job_status, run_tower_backtest, sync_to_tower

18

Performance Reporting

4

6

generate_bot_tearsheet, get_bot_metrics_full, run_mcpt_pipeline, capture_learning_signal

19

Billing & Subscription

12

12

get_started, get_pricing, get_checkout_url, accept_subscriber_terms, get_my_usage, create_referral_code, get_referral_earnings, create_creator_onboarding_link, get_my_creator_earnings, run_creator_payouts, get_my_realized_pnl, get_system_status

20

Platform / SaaS

8

20

join_waitlist, create_support_ticket, track_platform_event, get_analytics_summary

21

AlphaLoop / Evolution

12

22

run_alphaloop_cycle, get_alphaloop_results, get_algochains_telos, send_ntfy_notification

Subscriber tools are split by transport: local stdio exposes the consent/status funnel, while the HTTP bridge exposes the full subscriber data and paper-order surface.


Live Bot Showcase

AlgoChains runs 4 live futures bots on Tradovate. Their state, fills, ML pipeline health, and brackets stream through this MCP server in real time.

Bot

Symbol

Strategy

Live Since

Key MCP Tool

MNQ_Upgraded_Scalper

MNQ

7-AI ensemble, 5-min bars

Dec 2024

get_bot_health(bot="MNQ")

CL_Swing_Scalper

CL

FinBERT sentiment + momentum

Jan 2025

get_bot_health(bot="CL")

MES_EMA_Swing

MES

EMA pullback + regime detection

Feb 2025

get_bot_health(bot="MES")

NQ_EMA_Swing

NQ

Trend following + foundation model

Feb 2025

get_bot_health(bot="NQ")

get_bot_health — Full e2e Signal→Order→Fill Trace

Routing: “MNQ health / is the bot running / bot status” → get_bot_health. Do not web-search CME/Yahoo for bot liveness. For “MNQ price right now” use get_quote. Full agent table: docs/LIVE_OPS_TOOL_ROUTING.md.

# Returns: process state, position, bracket status, AI pipeline health,
#          ml_env_flags (MASSIVE_NEWS_FEATURES, MASSIVE_PCR_FEATURES, MASSIVE_HALT_GUARD),
#          cc_health (Command Center last-seen, WS status, Databento live feed age),
#          signal_health (params, risk_bootstrap, bot_version, trading_mode),
#          e2e_sentinel (signal→order→bracket→fill lifecycle state)
health = get_bot_health(bot="MNQ")
# All 4 bots in one call
status = get_all_bot_ops_status()
# Returns: process + position + bracket + pipeline snapshot for MNQ/CL/MES/NQ

No credentials needed if you have ALGOCHAINS_BRIDGE_API_KEY. Read-only.

Agent live-ops routing (mandatory)

Ask

Tool

Bot health / running?

get_bot_health

Session / portfolio P&L (owner)

portfolio_summary

Paper P&L (subscriber)

get_my_pnl / get_my_portfolio

Flat / open positions

get_positions

Stops / unprotected

check_unprotected_positions

Working orders

get_orders

Live quote now

get_quote

Market news / headlines

web/news tools — not get_bot_health

Never invent broker numbers. Ghost-P&L and persona rules: docs/LIVE_OPS_TOOL_ROUTING.md.


Billing & Subscription Funnel (Fully Programmatic)

Every billing action is available as an MCP tool — no browser required after the initial Stripe checkout. An agent or a user can go from zero to copy-trading MNQ signals in one conversation thread.

New-user discovery (no auth, always available)

get_started(goal="subscriber")   # guided next-step map for new users
get_pricing()                    # transparent tiers, referral %, creator share
get_system_status()              # platform health, bot roster, live tool count

Subscribe programmatically

# 1. Get a Stripe-hosted checkout URL (one call — no browser needed after this)
get_checkout_url(email="you@example.com", tier="paper")
# → returns a checkout_url the user visits once to enter payment details
# → subscriber API key is emailed automatically after payment

# 2. Set ALGOCHAINS_SUBSCRIBER_KEY, then accept the CFTC risk disclosure
#    (required before signals; subscriber_id is resolved from the key)
accept_subscriber_terms(
    acknowledgment="I have read and understand the risk disclosure above. I accept full responsibility for my trading decisions."
)

# 3. Subscribe to MNQ copy-trade signals (published for you to review and act on)
join_bot(bot="MNQ", size_multiplier=1.0)

# 4. Check stdio status; use the HTTP bridge for portfolio/signal tools
get_subscriber_status()

Usage metering

get_my_usage()
# → calls_this_month, included_quota, overage_calls, projected_overage_usd

Referral program

create_referral_code()   # → code: "AC-X7K2NP"
get_my_referrals()       # attributed sign-ups + commission
get_referral_earnings()  # total earned, pending payout

Creator revenue (strategy publishers)

create_creator_onboarding_link(creator_id="cr_...", creator_email="you@example.com")
# → Stripe Connect Express onboarding URL (KYC, bank account)

get_my_creator_earnings(creator_id="cr_...")
# → accrued_usd, paid_usd, pending_payout_usd, next_payout_date

# Owner-gated payout run (requires OWNER_API_TOKEN)
run_creator_payouts(dry_run=True)   # preview
run_creator_payouts(dry_run=False, owner_token="tok_...")  # execute transfers

Realized P&L (live-tier subscribers)

get_my_realized_pnl()
# → realized_pnl_usd, trade_count, period, disclaimer (CFTC 4.41(b))

Tool

Auth

Tier gate

get_started

None

Public

get_pricing

None

Public

get_system_status

None

Public

get_checkout_url

None

Public (Stripe handles billing)

accept_subscriber_terms

Subscriber API key

Paper / Live

get_my_usage

Subscriber API key

Paper / Live

create_referral_code

Subscriber API key

Paper / Live

get_my_referrals

Subscriber API key

Paper / Live

get_referral_earnings

Subscriber API key

Paper / Live

get_my_realized_pnl

Subscriber API key

Live

create_creator_onboarding_link

OWNER_API_TOKEN

Owner

get_my_creator_earnings

OWNER_API_TOKEN

Owner

run_creator_payouts

OWNER_API_TOKEN

Owner

Signals are published for the subscriber to review and act on — no automated execution. Past performance is not indicative of future results. See accept_subscriber_terms for the full CFTC risk disclosure.


Desktop Tower Dispatch

Heavy ML workloads (hyperparameter sweeps, walk-forward validation, feature importance) run on the desktop tower (configured via ALGOCHAINS_TOWER_HOST) via dispatch_tower_job. The Mac stays clean.

# Dispatch a backtest or ML job to the GPU tower
dispatch_tower_job(
    job_type="backtest",
    params={"strategy": "mnq_scalper", "lookback_days": 252, "wfv_windows": 12}
)

# Check job status
get_tower_job_status(job_id="job_abc123")

From the CLI (ac command):

# Not yet in ac — see CLI_GAP_ANALYSIS.md for ac tower subcommand roadmap
python3 -c "
from algochains_mcp.algoclaw.desktop_tower import dispatch_tower_job
dispatch_tower_job('backtest', {'strategy': 'mnq_scalper', 'lookback_days': 90})
"

What runs where:

Component

MacBook (execution)

Desktop Tower (ML/GPU)

Live bots (MNQ/CL/MES/NQ)

✅ launchd

Token Guardian, Kalshi daemon

✅ launchd

Command Center (:3333)

✅ cloudflared tunnel

Onyx RAG ($ALGOCHAINS_TOWER_HOST:8085)

GPU/ML: FinBERT, Kronos, vLLM

Heavy backtests via dispatch_tower_job

sends job →

✅ executes


Security

Authentication Tiers

Scope

How to Authenticate

What's Allowed

Public / demo

No credentials

Market data, Onyx search, regime detection

Team

ALGOCHAINS_BRIDGE_API_KEY

Bot metrics, positions (read-only)

Owner

OWNER_API_TOKEN

Order execution, bot restart, emergency stop

Localhost-Only Services

The following services bind to 127.0.0.1 only and are never exposed publicly:

  • MCP server HTTP bridge (port 8765 / stdio)

  • Command Center dev server (port 3333) — external access via Cloudflare Access tunnel only

  • Onyx RAG stack (tower port 8085) — accessible via Tailscale VPN only

Hard-Coded Safety Limits

These cannot be overridden by any AI agent:

Daily loss limit:      $500   (hard stop, all orders blocked until midnight)
Max drawdown:          15%    (circuit breaker trips at 15% peak-to-trough)
Human confirmation:    required for all orders above $10K notional
AI loop detection:     5 identical calls in 60s → 30-minute order block
VIX gate:             all trades blocked when VIX > 35

Full safety documentation: SAFETY_MODEL.md

OWNER_API_TOKEN — Mutation Gating

Tools in danger tier 2 (order execution) and tier 3 (destructive) require OWNER_API_TOKEN in the request header. The HTTP bridge verifies this before dispatching. AI agents that do not supply it get a policy_denied error — not a soft warning.

# Set in .env (never commit)
OWNER_API_TOKEN=your-owner-token-here

What's New in v22.x

v22.7.3 (2026-09-01) — VirusTotal hash gate on marketplace staging

  • submit_to_marketplace now asks Django POST /api/v1/security/scan-hash/ after artifact verify. Unknown or unclean hashes fail closed (scan_blocked). Quota is 5 scans per person per UTC day, owned by Django.

  • register_strategy spec paths are jailed to state/custom_strategies plus configured artifact roots.

  • Synced package/registry version metadata to 22.7.3.

v22.7.2 (2026-07-13) — Live-ops tool routing for agents

  • Added docs/LIVE_OPS_TOOL_ROUTING.md: intent → MCP tool map so agents never substitute web search for bot health, P&L, positions, brackets, orders, or live quotes.

  • README + AGENTS.md routing/safety clarity; tool descriptions hardened for LLM selection.

  • Synced package/registry version metadata to 22.7.2.

v22.7.1 (2026-07-07) — Subscriber key alias fix

  • Both ALGOCHAINS_SUBSCRIBER_KEY (canonical) and ALGOCHAINS_SUB_KEY (back-compat alias) are now accepted by both the Python server and the TS CLI (#242). Previously the CLI told users to set ALGOCHAINS_SUB_KEY while the server only read ALGOCHAINS_SUBSCRIBER_KEY, so a subscriber could auth to one component but not the other.

  • Corrected subscriber tool count to 16 and documented the server-side Broker Hub.

v22.4 (2026-04-06) — UX & Team Onboarding

  • Complete README rewrite (plain English, team access)

  • scripts/quickstart.py — interactive setup wizard with health checks

  • SAFETY_MODEL.md — answers "is this safe?" for every failure mode

  • tool_danger_tiers.py — machine-readable danger classification (0–3) for the documented 535-tool surface

  • HTTP bridge /tools endpoint now returns danger_tier, safe_in_demo_mode, etc.

  • get_bot_health includes e2e_sentinel, desktop inference SLO, and decision latency SLO slices for signal-to-fill traceability

v22.3 (2026-04-06) — Proprietary Data Ingestion

  • ingest_csv_data — validate and ingest real OHLCV CSV files into state/custom_data/

  • ingest_json_signals — import pre-computed signals, ML features, labels, and regime tags

  • connect_onyx_docs — index local research docs into Onyx for onyx_ask() / onyx_search()

  • register_strategy and list_ingested_data — register custom strategy specs and audit imported data

v22.2 (2026-04-21) — Kalshi Pipeline + Model Integrity

  • Kalshi prediction markets — AI ensemble → Kelly sizing → order execution

  • Subscriber tools — JWT tier auth, get_subscriber_portfolio, get_marketplace_listings

  • Unified path resolver (paths.py) — default_control_tower() works on Mac + WSL tower

  • Data backend chain — Databento → Massive S3 (back to 2003) → Polygon → yfinance

  • SHA-256 model integrity — startup check raises on tampered .pkl, XGBoost JSON companion, model_manifest.json

  • Drawdown Triple Penancedrawdown_start_ts auto-logged on first daily loss hit (Bailey & LdP 2015)

v22.0 (2026-04-05) — MCP 2025-11-25 Full Compliance

  • Elicitation (human confirmation for high-value trades)

  • Durable Tasks (background backtest/optimization jobs)

  • SSE streaming transport

  • OIDC discovery endpoint

  • Trading guardrails with circuit breakers

  • AlphaLoop evolution daemon

See the full CHANGELOG.md for v21.x, v22.x, and legacy v26 audit entries.


Quick Setup Options (Pick Your Path)

Path

Credential needed

Best for

A

Demo mode

None

Market data, regime detection, tools exploration

B

AlgoChains hosted paper

Subscriber API key (free signup)

Copy-trade MNQ bot, zero broker setup

B-2

Alpaca paper

Alpaca paper API key

Your own paper equity account

C

Full live

Tradovate + others

Real futures/equities trading

Option A — Demo Mode (No Credentials, 1 Minute)

pip install algochains-mcp-server
python scripts/quickstart.py --mode demo

Available immediately (no credentials):

  • get_quote("AAPL") — live price for any symbol

  • detect_market_regime() — trending / ranging / choppy

  • get_macro_signals() — macro environment analysis

  • discover_tools() — find any of the 535 tools

  • onyx_ask("any question") — knowledge base search

Option B — AlgoChains Hosted Paper (Free, No Broker Needed)

No Tradovate account. No Alpaca account. No broker credentials at all.

  1. Sign up at algochains.ai — free hosted virtual paper account

  2. Copy your subscriber key from the dashboard

  3. Set it and run:

export ALGOCHAINS_SUBSCRIBER_KEY="<SUBSCRIBER_API_KEY>"
python scripts/quickstart.py --mode paper

What unlocks immediately: local subscriber onboarding/status tools plus the hosted bridge subscriber surface for copy-trade signals from the live MNQ bot, paper P&L tracking, fill history, and self-directed paper orders filled at real quotes. See the Subscriber Onramp section above.

Option B-2 — Alpaca Paper (Your Own Broker)

export ALPACA_API_KEY=your-paper-key
export ALPACA_SECRET_KEY=your-paper-secret
export ALPACA_PAPER=true
python scripts/quickstart.py --mode paper

Option C — Full Live Setup

cp .env.example .env
# Edit .env with Tradovate, Polygon, Databento, Slack credentials
python scripts/quickstart.py --health-check --mode live

Generate IDE Config

python scripts/quickstart.py --generate-config cursor         # Cursor
python scripts/quickstart.py --generate-config claude-desktop # Claude Desktop
python scripts/quickstart.py --generate-config windsurf       # Windsurf

Which URL Do I Use?

Local installs and remote connectors use different transports:

Client

Use this

Why

Cursor, Claude Desktop, Windsurf

Generated stdio config from algochains-mcp --generate-config ...

These apps can spawn the local PyPI package on your machine.

Claude.ai web/mobile custom connector

Public HTTPS URL such as https://<your-domain>/mcp

Claude.ai calls the server from Anthropic's infrastructure, so it cannot reach your localhost, phone, LAN, or Tailscale-only URL.

Local remote-connector test

algochains-mcp-http --host 127.0.0.1 --port 8080 plus a secure HTTPS tunnel

The tunnel provides the public https://.../mcp URL that Claude.ai requires.

For a mobile Claude test, the PyPI package alone is not enough because it runs locally. Start the HTTP transport, expose it through a secure tunnel, then paste the tunnel's https://.../mcp URL into Claude.ai:

pipx install "algochains-mcp-server[http]"
export ALGOCHAINS_HTTP_TRANSPORT_SECRET="<random-token>"
algochains-mcp-http --host 127.0.0.1 --port 8080
cloudflared tunnel --url http://127.0.0.1:8080

Use the tunnel URL as the custom connector URL:

https://<cloudflared-subdomain>.trycloudflare.com/mcp

If the connector UI asks for authentication, use the value of ALGOCHAINS_HTTP_TRANSPORT_SECRET as the bearer token. For production, replace the temporary tunnel with a stable hosted endpoint such as https://mcp.algochains.ai/mcp or your own domain behind Cloudflare.

Never expose owner/live trading tools publicly without bearer auth, WAF/IP restrictions, and strict tool policy checks. See Remote Connectors for the full transport matrix and security checklist.


Data Backends

AlgoChains uses a priority chain — best available source wins automatically:

Priority

Backend

Coverage

Use Case

1

Databento

XNAS.ITCH + XNYS.PILLAR; OHLCV-1d + OHLCV-1m

Futures tick data, live streaming

2

Massive S3

us_stocks_sip/day_aggs_v1/ back to 2003

Historical equity backtests, survival-bias-free universe

3

Polygon

REST bars + news snapshots

News features, intraday bars

4

yfinance

Free, ~5yr history

Dev fallback, swing bots

Force a specific backend: DATA_BACKEND=databento|massive|polygon|yfinance in .env.


Command Center

URL

Status

Notes

https://cc.algochains.io

Live

Cloudflare Access — authenticate with your @algochains.io account

http://localhost:3333

Local dev

Always accessible without auth

Run locally:

cd algochains-command-center
npm run dev   # starts on :3333

Start Cloudflare tunnel:

cloudflared tunnel run <your-tunnel-id> >> logs/cloudflared_cc.log 2>&1 &

Dashboard panels (V22):

  • Bot Status Cards — process state, uptime, last signal, AI confidence

  • P&L Chart + Positions Table + Risk Dashboard

  • Bracket Status Panel + AI Ensemble Health + Live Trade Validation Feed (SSE)

  • Subscriber Protection Panel + System Health


Agentic Quick-Start Prompts

Copy these directly into Claude or Cursor:

Subscriber prompts (free, no broker needed)

Portfolio snapshot over the HTTP bridge:
"Run get_my_portfolio with my subscriber bridge key. What's my paper balance and P&L today?"

Signal stream check over the HTTP bridge:
"Call get_signal_stream for the MNQ bot with my subscriber bridge key. What signals fired in the last 2 hours?"

Weekly fill review:
"Run get_my_fills with limit=50. Break down P&L by day."

Marketplace discovery:
"Run get_marketplace_listings. What bots are available and what's each bot's asset class?"

Live bot / operator prompts

Morning brief:
"Run get_macro_signals and get_live_bot_metrics. Summarize market conditions and P&L."

Bot health check:
"Run get_bot_health for all 4 bots. Flag anything that needs attention."

Pre-trade regime check:
"Before I place any orders, run detect_market_regime and check VIX. Should I trade today?"

Validate a backtest:
"Run validate_strategy_metrics: Sharpe 2.4, MaxDD 9%, WinRate 58%, 180 trades.
 Does it pass the MCPT gate? What's the DSR?"

Prop fund compatibility:
"Use evaluate_strategy_for_prop_fund: MNQ scalper, $600 max daily loss, $2500 max DD,
 $120 avg daily profit, holds overnight. Which fund should I target?"

Emergency system check:
"Run check_all_broker_credentials and check_rithmic_status. What's ready, what's missing?"

Tower dispatch:
"Dispatch an overnight Optuna sweep for MNQ to the desktop tower. 200 trials, Sharpe objective."

Supported Brokers

Connect brokers server-side at algochains.ai/account/brokers/ (the Broker Hub — no local daemon to run). A $50k virtual paper account is auto-provisioned on signup, so you can start with no broker at all.

Broker

Asset Classes

Status

Tradovate

Futures (MNQ, CL, MES, NQ, ES, GC)

✅ Live — email+password OAuth, or your own API Key + Secret as a fallback

Alpaca

Equities, ETFs, Options, Crypto

✅ Live + Paper

OANDA

Forex (50+ pairs)

✅ Live

FTMO / MT5

Prop-firm accounts (MetaTrader 5)

✅ Live

Robinhood

Futures

⏳ Coming soon

Interactive Brokers

Stocks, Futures, Options, Forex

✅ Live (ib_async)

Kalshi

Prediction markets (US events)

✅ Live

E*TRADE

Equities, Options, ETFs

✅ OAuth 1.0a

Rithmic

Futures via prop fund platforms

⏳ DRY_RUN (vendor NDA pending)

Charles Schwab

Equities, Options, Futures

⚠️ Stubs (OAuth 2.0 PKCE)

# Check all broker credential status at once
check_all_broker_credentials()   # masked — never exposes values

Submit Your Own Algo, Managed Hosting & API

Submit-your-own-algo → auto-graduation

Submit a strategy and it paper-trades on AlgoChains, then auto-graduates to live once its rolling live performance tracks its backtest:

  • Graduate to live when live_sharpe_30d >= 0.80 × backtest_oos_sharpe.

  • Retire when live_sharpe_30d < 1.0.

  • Anti-overfit OOS-Sharpe caps per timeframe (with minimum trade counts):

    Timeframe

    Max accepted OOS Sharpe

    Min trades

    Daily

    5

    20

    Hourly

    7

    50

    15-min

    10

    80

    5-min

    12

    100

See MARKETPLACE_CREATOR_GUIDE.md for the full publishing flow.

Optional Managed Hosting — $49/mo

Don't want to run infra? Managed Hosting runs your tenant on GCP Cloud Run (scale-to-zero, per-tenant) for $49/mo.

API — OpenAPI 3.1 + Postman

Downloadable, always current:

  • OpenAPI 3.1 JSON — https://algochains.ai/docs/openapi.json

  • OpenAPI 3.1 YAML — https://algochains.ai/docs/openapi.yaml

  • Postman collection — https://algochains.ai/docs/postman-collection.json

Base URL https://mcp.algochains.ai (api.algochains.ai is a different service and does not answer /api/mcp). Subscriber requests authenticate with the X-Api-Key header.

⚠️ Namespace note: Do not co-register this package (algochains-mcp-server — trading/signals) alongside algochains-library-mcp (Roo's NL backtesting MCP) under the same algochains alias. Give them distinct aliases (e.g. algochains + algochains-backtest).


Architecture

Your AI (Claude / Cursor / ChatGPT)
         │
         │ MCP 2025-11-25 (stdio or HTTP + SSE)
         ▼
AlgoChains MCP Server
  ├── 535 tools / 181 smart-mode (21 domains)
  ├── Trading Guardrails (hard-coded limits, AI loop detection)
  ├── Account Protection (12 pre-trade guards)
  ├── Onyx RAG (semantic search — 400+ docs + 472 skills)
  └── Circuit Breakers (per-tool rate limits, daily loss stops)
         │
         ├── Tradovate     (MNQ, CL, MES, NQ futures — live fills)
         ├── Alpaca        (equities, crypto, options)
         ├── OANDA         (forex)
         ├── Databento     (tick-level data — XNAS.ITCH)
         ├── Massive S3    (day bars back to 2003)
         ├── Polygon       (real-time bars, news)
         └── FRED, CBOE, Kalshi, Polymarket  (macro / alt data)

Data policy: No synthetic data. No mock fills. No placeholder values. Every tool connects to a real API or fails closed with an explicit error.


Docs

File

Purpose

docs/LIVE_OPS_TOOL_ROUTING.md

Agent routing: bot health / P&L / positions / brackets / quotes — never web-search for live ops

SAFETY_MODEL.md

Is this safe? Failure modes, guardrails, team access

CHANGELOG.md

Full version history

docs/GOTCHAS_AND_BUGS.md

Confirmed bugs, gotchas, operational surprises

docs/DEVELOPER_TIER_ONBOARDING.md

Developer key setup, scopes, and bridge auth constraints

AGENTS.md → Unified Key Contract

2026-06-28: all 3 writers (Django, MCP, Stripe) mint ac_live_* keys via src/algochains_mcp/auth/key_contract.py; schema DDL owned by control-tower; tiered scopes; writer parity in tests/test_writer_parity.py

docs/SUBSCRIBER_TOOLS.md

Subscriber onboarding, stdio-vs-bridge tools, scopes, and copy-trade constraints

docs/NUMERAI_TOURNAMENT.md

Numerai tournament tool sequence, upload gates, and troubleshooting

docs/TRADOVATE_PARITY.md

Tradovate endpoint mapping vs community server

docs/CLI_GAP_ANALYSIS.md

ac CLI current commands + 10 missing subcommands roadmap

LATENCY_GUIDE.md

Measured tool call latencies (Mac M3 Max, real calls)

MARKETPLACE_CREATOR_GUIDE.md

Publish a validated bot; subscriber copy-trade pipeline setup

algoclaw/README.md

AlgoClaw agent skill system


Built by Tyler Reynolds — experimental AI trading infrastructure.

Safety · Changelog · Command Center · Marketplace

Experimental software connected to live trading accounts. Use at your own risk.

Available Tools

168 tools
accept_subscriber_termsA
Idempotent

Record the authenticated subscriber's explicit acknowledgment of the futures risk disclosure and Terms of Service. REQUIRED before active copy-trade (join_bot). Call once with no arguments to retrieve the disclosure text and the exact acknowledgment phrase, then call again with acknowledgment= to record consent. CFTC/NFA compliance gate. Requires ALGOCHAINS_SUBSCRIBER_KEY.

ParametersJSON Schema
NameRequiredDescriptionDefault
acknowledgmentNoExact risk-acknowledgment phrase to record consent

TDQS

A4.1/5.0
Behavior4/5

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

Annotations indicate idempotence and non-destructive nature. Description adds compliance context, key requirement, and two-step behavior. No contradictions.

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

Conciseness5/5

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

Three sentences, each adding value: purpose, procedure, compliance. No filler.

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

Completeness4/5

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

Covers essential flow: two-step process, compliance gate, key requirement. No output schema but description implies return of text on first call.

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

Parameters4/5

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

Schema description of 'acknowledgment' is generic. Description enriches it by explaining its role in the second call and how to obtain the exact phrase.

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

Purpose4/5

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

Clearly states the action (record acknowledgment) and the resource (futures risk disclosure & Terms of Service). Links it to the prerequisite for join_bot. Could explicitly differentiate from siblings like approve_intent or complete_password_reset but context is strong.

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

Usage Guidelines4/5

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

Explicitly states it's required before join_bot and outlines the two-call procedure. Does not list when not to use or alternatives, but the usage context is well-defined.

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

acknowledge_risk_disclosureB
Read-onlyIdempotent

Acknowledge the AlgoChains risk disclosure to unlock trading tools. User must type the exact acknowledgment text shown by start_onboarding(). Creates an auditable timestamp of acknowledgment.

ParametersJSON Schema
NameRequiredDescriptionDefault
acknowledgmentYesExact acknowledgment text as shown in start_onboarding() response

TDQS

B3.4/5.0
Behavior1/5

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

Description says 'Creates an auditable timestamp' (mutation), but annotations declare readOnlyHint: true, which is a contradiction. The description does disclose the behavior, but the annotation conflict severely undermines transparency.

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

Conciseness5/5

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

Two sentences, no fluff. First sentence states purpose, second details requirement and effect. Extremely concise and well-structured.

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

Completeness3/5

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

For a simple one-parameter tool with no output schema, the description covers the prerequisite and effect. However, the annotation contradiction creates a gap in expected behavior, reducing completeness.

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

Parameters4/5

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

The single parameter's description is already in the schema, but the tool description adds critical context: the text must match exactly what start_onboarding() shows. This adds value beyond the schema.

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

Purpose4/5

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

Clearly states the tool acknowledges a risk disclosure to unlock trading tools. It specifies the exact text requirement from start_onboarding. However, it does not differentiate from sibling 'accept_subscriber_terms'.

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

Usage Guidelines4/5

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

Explicitly instructs the user to provide the exact acknowledgment text from start_onboarding. No exclusions or alternatives are given, but the context is clear for a single-purpose tool.

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

approve_intentA
Destructive

Approve a pending intent plan for execution. The plan must be in 'pending_approval' status.

ParametersJSON Schema
NameRequiredDescriptionDefault
plan_idYesPlan ID to approve and execute

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already mark destructiveHint=true. The description adds that the plan must be in 'pending_approval' status and the parameter description hints at execution ('approve and execute'), providing additional context beyond annotations.

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

Conciseness5/5

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

Two short, front-loaded sentences with no wasted words. Every sentence adds value.

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

Completeness4/5

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

For a simple one-parameter tool with full schema coverage and annotations, the description is sufficient. It could elaborate on the outcome or prerequisites, but overall it's complete enough for agent use.

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

Parameters3/5

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

Schema coverage is 100%, so baseline is 3. The parameter description is minimal, repeating the tool's purpose without extra details like format or examples. It adds little beyond the schema.

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

Purpose5/5

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

The description clearly states it approves a pending intent plan, specifies the required status condition ('pending_approval'), and distinguishes from sibling tools like execute_intent.

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

Usage Guidelines4/5

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

The description indicates when to use the tool (when plan is in 'pending_approval' status). It doesn't explicitly exclude other cases or mention alternatives, but the condition implies proper usage.

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

bracket_integrity_checkA
Read-onlyIdempotent

Live Tradovate bracket audit for non-MNQ positions (CL/MES/NQ). Each open position must have BOTH a working stop and target order. Returns checked_count, missing_brackets, and formatted_line for BRACKET-INTEGRITY-MONITOR. Status DEGRADED when bot state files show open exposure but broker returns zero positions (fail-closed).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare read-only and non-destructive behavior. The description adds value by detailing the DEGRADED status condition, return fields, and the specific markets checked, providing context beyond the annotations.

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

Conciseness5/5

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

The description is three sentences, front-loaded with the core purpose, and every sentence adds meaningful information without redundancy.

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

Completeness5/5

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

Despite no output schema, the description explains return fields and a key status condition, making the tool's behavior fully understandable for select and invoke decisions.

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

Parameters4/5

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

The tool has zero parameters, so the schema coverage is 100% by default. The description correctly does not include parameter details, and baseline is set to 4.

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

Purpose5/5

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

The description clearly identifies the tool as a live bracket audit for specific instruments (CL/MES/NQ, non-MNQ), distinguishes from siblings like get_bot_bracket_status by specifying scope, and outlines return fields and a failure condition.

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

Usage Guidelines3/5

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

The description implies usage for monitoring bracket integrity of non-MNQ positions, but does not explicitly state when to use this tool versus alternatives like get_bot_bracket_status or check_unprotected_positions.

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

capture_learning_signalA
Idempotent

Record the outcome of an agent action or skill invocation for continuous learning. After 30+ signals, patterns emerge: which skills produce the best outcomes, where failure is common, what to improve. Stored in state/learning_signals.jsonl (append-only audit log). Use after any significant agent action.

ParametersJSON Schema
NameRequiredDescriptionDefault
botNoWhich bot this relates to (MNQ, CL, MES, NQ, all)
agentNoWhich agent captured this (cursor, claude, windsurf, openclaw)
notesNoFree-text notes about what happened and why
ratingNo1-10 quality rating (10 = perfect/euphoric result). Optional.
outcomeYes
session_idNoOptional session ID for grouping related signals
skill_usedNoName of skill invoked (e.g. 'bot-diagnostics')
action_typeYes
action_descriptionYesShort description of what was done (< 200 chars)

TDQS

A3.6/5.0
Behavior2/5

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

The description reveals the append-only nature of the storage, which contradicts the idempotentHint annotation (true). While it adds context about learning after 30+ signals, the contradiction undermines trust in the tool's behavior.

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

Conciseness5/5

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

The description is concise with three sentences that front-load the core purpose. No fluff or redundant information; every sentence adds value.

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

Completeness4/5

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

The description covers purpose, usage timing, storage location, and learning outcome. For a recording tool with 9 parameters and no output schema, this is fairly complete, though it omits details on duplicate signals or side effects.

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

Parameters3/5

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

With 78% schema description coverage, the input schema already documents most parameters. The description does not add significant new semantic meaning beyond what the schema provides, such as detailed usage tips for specific parameters.

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

Purpose5/5

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

The description clearly states the verb 'Record' and the resource 'outcome of an agent action or skill invocation' with a specific purpose for continuous learning. It distinguishes itself from siblings like get_learning_signals and store_trade_lesson by focusing on recording actions for pattern emergence.

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

Usage Guidelines3/5

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

The description advises using the tool after any significant agent action, providing a general usage context. However, it does not explicitly state when not to use it or compare it to alternative tools like get_learning_signals for retrieval or store_trade_lesson for trade-specific lessons.

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

challenge_mfaA
Idempotent

Create an MFA challenge for login step-up verification. Required before verify_mfa during subsequent logins.

ParametersJSON Schema
NameRequiredDescriptionDefault
factor_idYesFactor ID from list_mfa_factors

TDQS

A4.2/5.0
Behavior4/5

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

Annotations indicate non-destructive, idempotent behavior. Description adds that it creates a challenge and is a prerequisite, which aligns with annotations. No contradictions.

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

Conciseness5/5

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

Two sentences, front-loaded with action and purpose, no extraneous information. Every word earns its place.

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

Completeness4/5

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

Given the tool's simplicity and the fact that no output schema is provided, the description covers the essential purpose and usage. A minor gap is the lack of return value details, but it's acceptable for a straightforward tool.

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

Parameters3/5

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

The schema provides 100% coverage for the single parameter factor_id, so the description adds no extra semantic value. Baseline score is appropriate.

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

Purpose5/5

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

The description clearly states the tool creates an MFA challenge for login step-up verification, distinguishing it from verify_mfa by noting it is a prerequisite.

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

Usage Guidelines4/5

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

Explicitly states the tool is required before verify_mfa during subsequent logins, providing clear usage context. Does not enumerate alternatives but context is sufficient.

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

check_order_safetyB
Idempotent

Run 13 pre-trade safety checks before placing an order. Checks position sizing, daily loss limits, drawdown, fat fingers, buying power, concentration, VIX killswitch, margin, correlation, and more. Returns ALLOW or BLOCK with reasons.

ParametersJSON Schema
NameRequiredDescriptionDefault
qtyYes
sideYes
brokerYes
symbolYes
order_typeNomarket
asset_classNostock
limit_priceNo
notional_valueNo

TDQS

B3.1/5.0
Behavior3/5

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

Annotations provide idempotentHint=true and destructiveHint=false, indicating safe repeated calls. The description adds the list of checks and that it returns ALLOW/BLOCK, but does not elaborate on side effects, permissions, or rate limits. It provides some context beyond annotations but not rich behavioral detail.

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

Conciseness4/5

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

The description is concise, consisting of two sentences that quickly convey the purpose and scope. It lists specific checks, avoiding fluff, though it could be slightly more structured.

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

Completeness2/5

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

Given 8 parameters with no schema coverage, no output schema, and a moderately complex tool (13 checks), the description fails to explain parameter roles or output format. Essential information is missing, making the tool hard to use correctly.

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

Parameters2/5

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

Schema description coverage is 0%, meaning the description does not mention any of the 8 parameters (qty, side, broker, symbol, etc.). The description only states the tool runs checks and returns outcomes, offering no insight into parameter meaning or usage. This is insufficient for a tool with many parameters.

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

Purpose4/5

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

The description clearly states it runs 13 pre-trade safety checks before placing an order and returns ALLOW or BLOCK with reasons. The verb 'check' and resource 'order safety' are specific, but it does not differentiate from sibling tools like 'bracket_integrity_check' or 'request_trade_confirmation'.

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

Usage Guidelines3/5

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

The phrase 'before placing an order' implies when to use the tool, but there is no explicit guidance on when not to use it or alternatives. The list of checks and 'and more' gives some context but lacks exclusion criteria.

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

check_propagation_healthA
Read-onlyIdempotent

Check if the AlgoChains Django signal propagation service (Roo architecture) is reachable and whether copy-trade paper fanout has active backlog. Separates active_lag_seconds from idle_since_last_signal_seconds so quiet markets do not look stalled.

ParametersJSON Schema
NameRequiredDescriptionDefault
max_lag_secondsNoSLO threshold for active, unexpired signal backlog.

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already indicate readOnly, openWorld, idempotent, and non-destructive behavior. The description adds valuable behavioral context: it checks reachability and backlog, and distinguishes between active lag and idle time to avoid false staleness signals in quiet markets. No contradictions.

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

Conciseness5/5

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

The description consists of two concise, front-loaded sentences. The first sentence states the purpose and resource. The second adds crucial nuance about metric interpretation. No wasted words.

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

Completeness3/5

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

Given the tool's simplicity and rich annotations, the description covers the core purpose and metric distinction. However, without an output schema, the description could have included what the tool returns (e.g., a health status object with those fields) to be fully self-contained, which is a notable omission.

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

Parameters3/5

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

The input schema has 100% coverage for the single parameter max_lag_seconds, with a clear description in the schema. The tool description does not add any extra meaning beyond what the schema provides, so baseline score of 3 is appropriate.

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

Purpose5/5

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

The description clearly states the verb 'Check' and the specific resource: the AlgoChains Django signal propagation service (Roo architecture). It distinguishes this tool from sibling health check tools like get_system_health by focusing on signal propagation and copy-trade paper fanout backlog, including the nuance of separating active_lag_seconds from idle_since_last_signal_seconds.

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

Usage Guidelines4/5

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

The explanation that the tool separates active lag from idle time so 'quiet markets do not look stalled' provides context on when to use it. However, it does not explicitly state when not to use it or mention alternatives among the many sibling health check tools, leaving some guidance implicit.

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

check_unprotected_positionsA
Read-onlyIdempotent

broker_truth / live ops — cross-check ALL open Tradovate positions vs working orders to find unprotected exposure (position open, no stop/target). Use for 'unprotected?', 'do I have stops?', 'bracket check'. Do NOT use web search. Returns OK | UNPROTECTED_EXPOSURE. Run before P&L reports and after restarts (prevents Apr 14 2026 -$4.9k class).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the description adds value by stating the output format ('Returns OK | UNPROTECTED_EXPOSURE') and the importance of running it (prevents a specific loss). It does not contradict annotations.

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

Conciseness5/5

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

The description is three sentences, front-loaded with the core purpose and including practical usage notes. Every sentence earns its place without redundancy.

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

Completeness5/5

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

The description fully covers the tool's behavior, output, usage frequency, and importance. Given no input parameters and no output schema, it provides all necessary context for an agent to use the tool correctly.

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

Parameters4/5

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

The input schema has no parameters, so the description does not need to explain parameter semantics. Baseline 4 applies because schema coverage is 100% and description adds no parameter info beyond what is not needed.

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

Purpose5/5

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

The description clearly states the action ('cross-check ALL open Tradovate positions vs working orders') and the goal ('find unprotected exposure'). It uses a specific verb and resource, and includes example questions to distinguish usage from siblings.

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

Usage Guidelines4/5

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

The description provides explicit usage contexts: 'Use for...' and 'Do NOT use web search.' It also advises when to run ('before P&L reports and after restarts'). However, it does not mention alternative tools for similar checks, which prevents a perfect score.

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

complete_password_resetA
Idempotent

Complete a password reset using the access token from the reset email link. Validates password policy (12 chars, upper/lower/number/special).

ParametersJSON Schema
NameRequiredDescriptionDefault
access_tokenYesAccess token from the reset email URL fragment
new_passwordYes

TDQS

A4.4/5.0
Behavior4/5

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

Adds password policy validation details (12 chars, upper/lower/number/special) beyond annotations. No contradiction with annotations.

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

Conciseness5/5

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

Two sentences, front-loaded with purpose, no extraneous information.

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

Completeness4/5

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

Covers core functionality and inputs adequately. Could mention return value or error states, but sufficient for a straightforward action.

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

Parameters4/5

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

Provides meaning for both parameters: access_token (from email URL fragment) and new_password (policy validated). Compensates for schema coverage of only 50%.

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

Purpose5/5

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

Clearly states it completes a password reset using an access token, distinguishing it from the sibling 'initiate_password_reset'.

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

Usage Guidelines4/5

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

Explicitly mentions using the access token from the reset email, indicating the post-email context. No explicit alternatives or when-not-to-use, but the flow is clear.

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

compute_correlation_matrixA
Read-onlyIdempotent

Compute real-time cross-asset correlation matrix for a list of symbols using actual daily returns. Detects regime changes (correlation spikes during crises). Returns heatmap data, average pairwise correlation, and risk concentration score.

ParametersJSON Schema
NameRequiredDescriptionDefault
periodNo3m
symbolsYes2-20 symbols
thresholdNoAlert if any pair correlation exceeds this

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already indicate readOnlyHint=true (safe read), idempotentHint=true, destructiveHint=false. The description adds useful behavioral context: it uses actual daily returns, detects regime changes, and returns specific data formats. This goes beyond 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.

Conciseness5/5

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

Two sentences, front-loaded with the primary action and scope. No redundant information. Every sentence adds value.

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

Completeness4/5

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

Given no output schema, the description adequately explains return values (heatmap data, average pairwise correlation, risk concentration score). It also notes the regime detection feature. A full picture is provided for a compute tool with few parameters and safe annotations.

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

Parameters3/5

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

Schema coverage is 67% (2 of 3 parameters have descriptions). The description mentions 'list of symbols' but does not add detail for period or threshold beyond what the schema provides. Baseline 3 is appropriate since schema does the heavy lifting.

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

Purpose5/5

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

The description clearly states the tool computes a cross-asset correlation matrix for a list of symbols, using actual daily returns. It distinguishes from siblings like compute_factor_exposure and compute_volatility_surface by specifying the output (heatmap data, average pairwise correlation, risk concentration score) and behavior (detects regime changes).

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

Usage Guidelines2/5

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

No explicit guidance on when to use this tool vs alternatives. While the purpose is clear, there is no mention of when not to use it or which sibling tools might be more appropriate for other tasks (e.g., compute_factor_exposure for factor exposure).

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

compute_factor_exposureA
Read-onlyIdempotent

Decompose a symbol's returns into Fama-French 5-factor + momentum exposures using real Polygon daily data. Returns alpha, market beta, SMB/HML/momentum betas, R-squared, information ratio, tracking error. Identifies alpha-generating vs factor-exposed regimes.

ParametersJSON Schema
NameRequiredDescriptionDefault
periodNo1y
symbolYes
benchmarkNoSPY

TDQS

A3.9/5.0
Behavior4/5

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

Annotations (readOnlyHint=true, idempotentHint=true, destructiveHint=false) already indicate safe read-only behavior. Description supplements by detailing outputs (alpha, betas, R-squared) and data source (Polygon daily data). No contradictions. Could mention cost or rate-limit implications of Polygon API calls.

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

Conciseness5/5

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

Two sentences: first defines core action and data source, second lists outputs and regimes identified. No filler, every word adds value.

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

Completeness4/5

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

No output schema, but description enumerates key outputs (alpha, market beta, SMB/HML/momentum betas, R-squared, information ratio, tracking error). Sufficient for a factor decomposition tool; could add p-values or standard errors but not essential.

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

Parameters2/5

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

Schema has 0% description coverage. Description mentions 'symbol' and implies 'period' (via 'daily data' and default 1y) and 'benchmark' (default SPY), but does not explain expected formats, the enum values for period, or how benchmark affects calculations. Needs explicit parameter guidance.

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

Purpose5/5

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

Description clearly states decomposing a symbol's returns into Fama-French 5-factor + momentum exposures using Polygon daily data, listing specific outputs like alpha and betas. It distinguishes from sibling analytical tools (e.g., compute_correlation_matrix) by specifying the factor model and data source.

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

Usage Guidelines3/5

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

No explicit guidance on when to use this tool versus alternatives. The description implies it's for factor exposure analysis but doesn't mention exclusions or contrasting tools among siblings like compute_volatility_surface or detect_market_regime.

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

compute_volatility_surfaceA
Read-onlyIdempotent

Compute full implied volatility surface from real Polygon options chain: IV per strike/expiry, 25-delta skew, term structure, IV rank (0-1), IV percentile, and vol regime (low/normal/elevated/extreme). Generates actionable signal: long_vol/short_vol/sell_skew/buy_skew.

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes
expiry_filterNoOnly include options expiring after this date (YYYY-MM-DD)

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already indicate read-only, idempotent, open-world, non-destructive behavior. The description adds valuable context about data source (real Polygon options chain) and specific outputs (e.g., IV rank, percentile, vol regime), going beyond annotations. No contradictions.

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

Conciseness5/5

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

Two sentences with no wasted words. Front-loaded with the core computation, then lists specific outputs and signals. Excellent efficiency.

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

Completeness4/5

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

Without an output schema, the description explains all computed outputs and signals in detail. It lacks explicit return format (e.g., JSON) but covers the essential information for an agent to understand what the tool produces. Mostly complete for its complexity.

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

Parameters3/5

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

Schema coverage is 50%: expiry_filter has a clear description, but symbol lacks description. The description implies symbol is an equity ticker via 'Polygon options chain', but does not add format details. The description adds marginal meaning beyond the schema.

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

Purpose4/5

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

The description clearly states the tool computes a full implied volatility surface from Polygon options chain data and lists specific outputs (IV per strike/expiry, skew, term structure, IV rank/percentile, regime) and generated signals. It distinguishes this tool from typical get tools but does not explicitly differentiate from siblings like get_vix_term_structure.

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

Usage Guidelines3/5

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

The description implies use when needing IV surface from Polygon options, but provides no explicit guidance on when to use alternatives or when not to use this tool. No context on prerequisites or limitations.

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

connect_brokerC
Idempotent

Connect to a specific broker. Must be configured via environment variables.

ParametersJSON Schema
NameRequiredDescriptionDefault
brokerYes

TDQS

C2.7/5.0
Behavior3/5

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

Annotations already indicate mutation (readOnlyHint=false), non-destructive, and idempotent. Description adds the env var requirement but no additional behavioral details like state changes or connection lifecycle. Adequate but shallow.

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

Conciseness4/5

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

Two succinct sentences with no redundancy. Could be expanded to add value without losing conciseness, but current structure is efficient.

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

Completeness2/5

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

Missing output schema and description of return values or side effects. Agent cannot predict tool's response or downstream effects. Incomplete for a connection operation.

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

Parameters1/5

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

Schema coverage is 0% and description does not explain the 'broker' parameter (e.g., expected values, format, or source). Agent must infer meaning from context, risking misuse.

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

Purpose4/5

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

Description clearly states 'Connect to a specific broker' with verb and resource. Distinguishes from siblings like 'exchange_broker_oauth_code' and 'get_broker_setup_guide', but could specify what 'connect' entails (e.g., establish a session or authenticate).

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

Usage Guidelines2/5

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

Only mentions a precondition via environment variables. No guidance on when to use vs alternatives like OAuth flows, or when not to use. Lacks explicit context for decision-making.

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

connect_onyx_docsA
Idempotent

Index local research documents (PDF, Markdown, JSON, TXT) into the Onyx RAG knowledge base. Documents become searchable via onyx_ask() and onyx_search(). Supports recursive directory scanning. Requires Onyx to be running at ONYX_API_URL. Owner-only side effect (AC-MCP-009).

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_typeYesDocument category for Onyx tagging.
doc_pathsYesList of absolute file or directory paths.
owner_tokenYesMust match OWNER_API_TOKEN env var.

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already establish that this is non-read-only, non-destructive, and idempotent. The description adds valuable context beyond annotations: it is an owner-only side effect (AC-MCP-009), requires Onyx to be running, and supports recursive directory scanning. It does not explain duplicate handling, but the idempotentHint annotation covers retry safety.

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

Conciseness5/5

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

The description is four concise sentences with no filler. The primary action and effect are front-loaded, followed by a capability, a prerequisite, and an access-control note. Every sentence contributes distinct information.

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

Completeness4/5

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

For a 3-parameter ingestion tool with no output schema, the description covers purpose, accepted input types, prerequisite service state, and access control. The main omission is the expected return payload or success signal, which an agent may need to confirm the indexing operation succeeded, but annotations and schema carry most of the call semantics.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3. The description adds meaning by specifying accepted file extensions (PDF, Markdown, JSON, TXT) and recursive directory scanning, which enriches doc_paths beyond the schema's generic 'file or directory paths' phrasing. It also reinforces owner_token's purpose through 'Owner-only side effect.'

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

Purpose5/5

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

The description names a specific verb ('Index'), a specific resource ('local research documents'), and a specific target ('Onyx RAG knowledge base'). It also states the observable consequence—documents become searchable via onyx_ask() and onyx_search()—which distinguishes it from the many sibling read/query tools.

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

Usage Guidelines4/5

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

The intended scenario is clear: index local research documents so they become searchable in Onyx. It also gives a necessary precondition ('Requires Onyx to be running at ONYX_API_URL'). However, it does not explicitly contrast with sibling ingestion tools like ingest_csv_data or ingest_json_signals, so it stops short of full when-to-use versus when-not-to-use guidance.

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

create_developer_keyA
Idempotent

Mint a new ac_live_* or ac_test_* developer API key. Requires AAL2 session (enroll_mfa + verify_mfa first). Plaintext key returned ONCE ONLY — save immediately.

ParametersJSON Schema
NameRequiredDescriptionDefault
envNolive
nameNoFriendly name for the keydefault
scopesNoe.g. ['read:market_data','read:signals']
access_tokenYesAAL2 access token from verify_mfa response

TDQS

A3.8/5.0
Behavior1/5

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

Annotation Contradiction: the annotations declare idempotentHint=true, but the description says 'Mint a new developer API key' and that the plaintext key is returned 'ONCE ONLY,' which implies each call creates a distinct key and repeated calls produce different results. This directly contradicts the idempotency hint. The description does add useful security context (AAL2 requirement, one-time plaintext), but the contradiction forces a score of 1.

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

Conciseness5/5

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

Three short sentences deliver the core action, prerequisite, and a critical security warning with no filler. The most important information is front-loaded.

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

Completeness4/5

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

For a security-sensitive creation tool with no output schema, the description appropriately highlights the prerequisite, the one-time-only return, and the need to save immediately. It could additionally mention the response shape or explicitly contrast with rotate/revoke, but the core operational context is present.

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

Parameters4/5

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

Schema description coverage is 75%, and the description compensates by explaining the env parameter through the ac_live_*/ac_test_* prefix and the access_token requirement through the AAL2 session prerequisite. This adds meaning beyond the raw schema, especially for the undocumented env field.

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

Purpose5/5

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

The description uses a specific verb ('Mint') with a specific resource ('developer API key') and immediately clarifies key formats (ac_live_*/ac_test_*), which clearly distinguishes it from sibling tools like list_developer_keys, rotate_developer_key, and revoke_developer_key.

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

Usage Guidelines4/5

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

The description clearly states the prerequisite workflow: 'Requires AAL2 session (enroll_mfa + verify_mfa first).' This gives the agent concrete context for when it is safe to call. It does not explicitly name alternatives or exclusions, 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.

create_referral_codeA
Idempotent

Create (or fetch) the authenticated subscriber's shareable referral code. Returns the code and a share_url (https://algochains.ai/r/). One active code per subscriber. Referrers earn 20% of each referral's subscription for their first 3 months. Requires ALGOCHAINS_SUBSCRIBER_KEY.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.6/5.0
Behavior5/5

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

Beyond annotations (idempotentHint, destructiveHint), the description reveals authentication requirement (ALGOCHAINS_SUBSCRIBER_KEY), return structure (code, share_url), and the referral earning incentive (20% for 3 months). No contradictions with annotations.

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

Conciseness5/5

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

Two concise sentences front-load action and cover purpose, return, uniqueness, earnings, and requirement. Every sentence adds value with no redundancy.

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

Completeness4/5

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

For a simple, no-parameter tool, the description adequately explains core behavior and return values. Missing output schema is compensated by stating returns. Could mention error conditions (e.g., invalid key) but overall sufficient.

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

Parameters4/5

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

The input schema has zero parameters with 100% coverage, so the description need not add parameter details. The baseline for 0 params is 4, and the description does not waste space on parameters.

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

Purpose5/5

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

The description clearly states the tool creates or fetches a referral code for the authenticated subscriber. It distinguishes from sibling tools like get_my_referrals and get_referral_earnings by focusing on code creation/retrieval.

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

Usage Guidelines4/5

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

The description explains what the tool does and notes the 'one active code per subscriber' constraint. However, it does not explicitly advise when to use this versus alternatives like get_my_referrals, leaving inference to the agent.

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

create_shadow_portfolioA
Idempotent

Create a shadow (paper) portfolio to forward-test a strategy without risking capital. Track P&L, fills, and metrics alongside your real portfolio.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesPortfolio name (e.g. 'AI Momentum Test')
brokerNoalpaca
capitalNoStarting capital
strategy_idNoOptional strategy ID to track

TDQS

A4/5.0
Behavior3/5

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

Annotations already convey safety (not read-only, not destructive) and idempotency. The description adds that it tracks P&L, fills, and metrics alongside the real portfolio, but does not disclose potential side effects, rate limits, or whether duplicate names are allowed.

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

Conciseness5/5

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

Two concise sentences front-load the essential information: creation action and purpose, then additional tracking feature. No redundant or extraneous content.

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

Completeness4/5

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

The description covers the core functionality and use case. However, given the absence of an output schema, it would benefit from mentioning the return value (e.g., portfolio ID). It is slightly incomplete but sufficient for a relatively simple create operation.

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

Parameters3/5

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

Schema description coverage is 75% (3 of 4 parameters described). The description adds no additional parameter details beyond what the schema provides. Baseline score of 3 is appropriate.

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

Purpose5/5

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

The description clearly states the action ('Create') and the resource ('shadow (paper) portfolio') with a specific purpose ('forward-test a strategy without risking capital'). It distinguishes from siblings like 'get_kronos_shadow_stats' and 'run_backtest' by emphasizing paper trading alongside real portfolio.

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

Usage Guidelines4/5

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

The description provides a clear use case ('to forward-test a strategy without risking capital') and implies its benefit. However, it does not explicitly state when not to use it or compare with alternatives like 'run_backtest' or 'portfolio_summary'.

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

detect_market_regimeB
Idempotent

Detect current market regime from VIX, SPY trend, breadth, and credit signals. Returns regime classification (bull/bear/range/volatile/crisis), recommended strategies, and risk multiplier for position sizing.

ParametersJSON Schema
NameRequiredDescriptionDefault
vixNo
spy_priceNo
spy_sma_20No
spy_sma_50No
spy_sma_200No
put_call_ratioNo
credit_spread_bpsNo
advance_decline_ratioNo

TDQS

B3.4/5.0
Behavior2/5

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

Annotations already indicate idempotent and non-destructive behavior. The description adds 'returns classification, strategies, risk multiplier' but lacks deeper behavioral context (e.g., external API calls, latency, required data freshness). No contradiction with annotations.

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

Conciseness5/5

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

Two clear sentences: first states purpose and inputs, second states outputs. No extraneous text, front-loaded with key information.

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

Completeness3/5

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

Returns are partially described (regime, strategies, risk multiplier) but no output schema exists. Missing details on error handling, data timeframe, or input constraints. Given 8 undocumented parameters, completeness is adequate but not thorough.

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

Parameters2/5

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

Schema has 8 parameters with 0% description coverage in schema. The description only groups inputs as 'VIX, SPY trend, breadth, credit signals', failing to explain individual parameters like 'spy_price', 'put_call_ratio', etc. This is insufficient given the lack of schema descriptions.

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

Purpose5/5

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

The description clearly states the tool detects market regime from specific inputs (VIX, SPY trend, breadth, credit signals) and lists outputs (classification, strategies, risk multiplier). It distinguishes from sibling tools like 'get_current_regime' (cached) and 'detect_regime_hmm' (different method).

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

Usage Guidelines3/5

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

The description implies usage for regime detection with live data but does not explicitly contrast with siblings like 'get_current_regime' or 'detect_regime_hmm'. No when-to-use or when-not-to-use guidance is provided.

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

detect_regime_hmmA
Read-onlyIdempotent

Detect market regime using Hidden Markov Model on real daily returns: bull_trending, bear_trending, choppy, or crisis. Returns regime probability, days in current regime, transition probabilities, vol regime, and Sharpe. Uses hmmlearn if available, statistical fallback otherwise. Real Polygon data only.

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolNoSymbol to analyze (use SPY for broad market regime)SPY
lookback_daysNo

TDQS

A3.8/5.0
Behavior4/5

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

Description adds useful behavior beyond annotations: uses hmmlearn with fallback, returns multiple metrics (probabilities, days, transitions, vol regime, Sharpe). Annotations already indicate read-only, idempotent, non-destructive; description confirms and expands.

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

Conciseness5/5

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

Two sentences: first sentence states purpose and outputs, second provides implementation detail and data source. Each sentence adds value; no redundancy.

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

Completeness4/5

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

Description covers purpose, method, data source, and output types. No output schema exists, but description partially compensates by listing return metrics. Could mention output format or structure for completeness.

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

Parameters3/5

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

Schema descriptions cover both parameters (symbol, lookback_days) adequately. Description does not add new parameter-specific details beyond schema, but schema coverage is reported as 50% likely due to metric calculation; baseline 3 is appropriate.

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

Purpose5/5

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

Description clearly states action ('detect'), resource ('market regime'), method ('HMM on real daily returns'), and lists possible regime outcomes (bull_trending, bear_trending, etc.). Distinguishes from sibling tools like 'detect_market_regime' by specifying HMM and fallback.

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

Usage Guidelines2/5

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

No explicit guidance on when to use this tool vs alternatives. Mentions 'Real Polygon data only' but does not elaborate on prerequisites or compare to sibling regime detectors.

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

discover_toolsA
Read-onlyIdempotent

Search for relevant AlgoChains tools using natural language. Returns the top-K most relevant tools with descriptions. Use this FIRST to find which tools are available for your task — 90%+ context reduction vs listing all 533 tools.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesNatural language description of what you want to do
top_kNo
categoryNoFilter: trading, market_data, strategy, ml, analytics, alt_data, defi, cloud

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint. Description adds that it returns top-K relevant tools with descriptions and mentions context reduction, which aids understanding of behavior without contradicting annotations.

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

Conciseness5/5

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

Three concise sentences, front-loaded with purpose and usage advice. Every sentence adds value, no wasted words.

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

Completeness5/5

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

For a simple search tool with 3 parameters and no output schema, the description fully explains purpose, output (top-K tools with descriptions), and efficiency benefit. No gaps.

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

Parameters3/5

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

Schema coverage is 67%; query and category have descriptions, top_k has default but no description. Description does not add further parameter details beyond schema. Baseline 3 is appropriate as schema does the heavy lifting.

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

Purpose5/5

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

Description clearly states it searches for AlgoChains tools using natural language, returns top-K relevant tools, and advises using it first. Distinguishes from listing all tools by highlighting 90%+ context reduction.

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

Usage Guidelines5/5

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

Explicitly instructs to use this tool FIRST to find available tools, implying the alternative of listing all 533 tools is inefficient. Provides clear context for when to use it.

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

enroll_mfaA
Idempotent

Enroll a new MFA factor (TOTP authenticator app or SMS). Returns QR code URI for TOTP — scan with Google Authenticator, Authy, etc. Then call verify_mfa to complete and upgrade session to AAL2.

ParametersJSON Schema
NameRequiredDescriptionDefault
factor_typeNototp

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already indicate it is not read-only, not idempotent (actually idempotentHint=true, so repeatable), and not destructive. Description adds that it returns a QR code URI for TOTP and mentions the session upgrade via verify_mfa, but does not disclose potential side effects like overwriting existing factors or auth requirements.

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

Conciseness5/5

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

Two sentences, front-loaded with purpose, and includes key details (return type, next step). No unnecessary information.

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

Completeness3/5

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

Adequate for a simple one-parameter tool: explains the main use case and next step. Lacks completeness for phone factor enrollment and does not mention prerequisites (e.g., user session status). Output schema missing but not critical given the simple return.

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

Parameters2/5

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

Schema has 0% description coverage. Description partially explains factor_type: it mentions TOTP and SMS for the two enum values, but only elaborates on TOTP behavior (QR code). It does not explain the enrollment process for 'phone' (e.g., sending SMS) or that the parameter is optional with a default.

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

Purpose5/5

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

Clearly states the action ('Enroll a new MFA factor'), specifies types (TOTP or SMS), and describes the output (QR code URI for TOTP). It also distinguishes from siblings by referring to verify_mfa for completion.

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

Usage Guidelines4/5

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

Provides explicit guidance to call verify_mfa after enrollment to complete the process. However, does not explicitly contrast with other MFA tools like challenge_mfa or list_mfa_factors, or mention 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.

evaluate_strategy_for_prop_fundA
Read-onlyIdempotent

Score a strategy against every supported prop firm (or a specific one) using its live stats. Returns ranked eligible funds with strengths/warnings.

ParametersJSON Schema
NameRequiredDescriptionDefault
sharpeNo
fund_keyNoOptional — evaluate a single fund key
win_rateNo
strategy_nameYes
max_drawdown_pctNo
avg_trade_pnl_usdNo
max_position_sizeNo
overnight_positionsNo

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, destructiveHint=false. Description adds 'uses its live stats' and 'returns ranked eligible funds with strengths/warnings', which is consistent but doesn't disclose additional behavioral traits beyond what annotations provide.

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

Conciseness5/5

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

Single sentence, front-loaded with purpose. No wasted words. Efficiently conveys the core action and result.

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

Completeness2/5

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

With 8 parameters and no output schema, the description is too brief. It does not clarify parameter roles (e.g., which stats are mandatory), how the scoring works, or what 'ranked' means. Insufficient for an agent to confidently invoke the tool.

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

Parameters2/5

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

Schema coverage is only 13% (only fund_key has description). The description does not explain any of the 8 parameters, leaving the agent to guess which stats are required or how they are used. Given low coverage, description should compensate but does not.

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

Purpose5/5

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

The description clearly states the verb 'Score', the resource 'strategy against prop firms', and the output 'ranked eligible funds with strengths/warnings'. It also mentions optional specificity to a single fund, distinguishing it from siblings like 'list_prop_funds'.

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

Usage Guidelines3/5

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

Implies evaluation against all or a specific fund, but lacks explicit when-to-use guidance compared to siblings like 'validate_strategy'. No mention of prerequisites (e.g., need a registered strategy) or 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.

exchange_broker_oauth_codeA
Destructive

Exchange an OAuth authorization code for broker access/refresh tokens. Call this after the user returns from the broker's authorization page.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYesAuthorization code from the broker callback URL
stateYesState token returned by generate_broker_auth_url
redirect_uriNo

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already indicate destructiveHint=true and readOnlyHint=false. The description adds that it exchanges code for tokens, but does not disclose additional behavioral traits like error handling, rate limits, or side effects beyond what annotations imply. With annotations present, the description adds minimal value.

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

Conciseness5/5

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

The description is a single sentence that is front-loaded with the key action and context. No unnecessary words, every part earns its place.

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

Completeness2/5

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

The tool has no output schema and 3 parameters. The description does not explain the return value (access/refresh tokens) or error scenarios. Given the complexity of OAuth flows, an agent would benefit from knowing what the response contains and how to handle common errors. The description is too minimal for complete understanding.

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

Parameters3/5

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

Schema coverage is 67% (2 of 3 parameters have descriptions). The tool description does not add any additional parameter semantics beyond the schema. For the 'redirect_uri' parameter, which lacks a schema description, the tool description also fails to provide meaning. Baseline 3 is appropriate given high schema coverage.

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

Purpose5/5

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

The description clearly states the verb 'Exchange' and the resource 'OAuth authorization code for broker access/refresh tokens', and provides context ('after the user returns from the broker's authorization page'). It distinguishes from sibling tools like generate_broker_auth_url and connect_broker.

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

Usage Guidelines4/5

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

The description explicitly says when to use this tool ('Call this after the user returns from the broker's authorization page'). It does not mention when not to use it, but given the context of the OAuth flow, the guidance is clear. A perfect score would require explicit exclusion of alternatives.

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

execute_dynamic_toolA
Destructive

Execute any discovered tool by name with arguments. Use discover_tools first, then get_tool_details for the schema, then call this to execute. ORDER_EXEC and DESTRUCTIVE tools require owner_token and confirm=true inside arguments.

ParametersJSON Schema
NameRequiredDescriptionDefault
argumentsYesArguments matching the tool's inputSchema. For ORDER_EXEC+ tools include owner_token and confirm=true.
tool_nameYesTool name to execute

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already indicate destructiveHint=true and readOnlyHint=false. The description adds critical behavioral context: that ORDER_EXEC/DESTRUCTIVE tools need owner_token and confirm=true, which is essential for safe execution. No contradiction with annotations.

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

Conciseness5/5

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

Two sentences with no redundant information. Each sentence provides crucial guidance: the first states the core function, the second adds important conditions. Highly efficient.

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

Completeness4/5

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

Given no output schema, the description adequately covers purpose, prerequisites, and special cases. Could optionally mention return behavior or errors, but the current completeness suffices for a dynamic tool that delegates execution.

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

Parameters4/5

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

Schema coverage is 100% with descriptions for both parameters. The description adds value by explaining that for certain tools, arguments must include owner_token and confirm=true, which goes beyond the schema's generic descriptions.

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

Purpose5/5

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

Clearly states 'Execute any discovered tool by name with arguments' with a specific verb and resource. Differentiates from siblings by describing the discovery workflow (discover_tools -> get_tool_details -> execute).

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

Usage Guidelines5/5

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

Explicitly instructs when to use: after discover_tools and get_tool_details. Provides prerequisites: ORDER_EXEC and DESTRUCTIVE tools require owner_token and confirm=true. Guides the agent on the correct sequence.

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

execute_intentA
Destructive

Transform a natural language trading intent into a concrete plan and execute it. Example: 'Get me $10K AI exposure, max 2% per stock'. Parses intent → solves constraints → presents plan for approval → executes.

ParametersJSON Schema
NameRequiredDescriptionDefault
intentYesNatural language trading intent
dry_runNoIf true, return the plan without executing (default: true for safety)

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already indicate destructive behavior. The description adds context about the approval step and execution order, but does not detail side effects like trade costs or position changes. It is adequate but not exhaustive.

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

Conciseness5/5

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

The description is two sentences plus an example, with no wasted words. It front-loads the core action and is immediately scannable.

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

Completeness4/5

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

Given the complexity (multi-step approval and execution) and the absence of an output schema, the description provides a reasonable overview. It could clarify return values, but annotations and the example compensate somewhat.

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

Parameters4/5

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

Schema coverage is 100%, so baseline is 3. The description adds value by providing an example of the 'intent' parameter ('Get me $10K AI exposure...'), which helps the agent understand the expected input format beyond the schema description.

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

Purpose5/5

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

The tool description clearly specifies that it transforms a natural language trading intent into a concrete plan and executes it, using a concrete example. It distinguishes itself from siblings like 'approve_intent' or 'request_trade_confirmation' by encompassing both parsing and execution.

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

Usage Guidelines4/5

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

The description mentions that the tool 'presents plan for approval' before execution, implying a workflow. However, it does not explicitly state when to use this tool versus alternatives like 'approve_intent', leaving some ambiguity.

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

generate_broker_auth_urlA
Destructive

Generate an OAuth authorization URL for a user to connect their broker account (Schwab, Alpaca, Tradovate, OANDA). Returns the URL to redirect the user to.

ParametersJSON Schema
NameRequiredDescriptionDefault
brokerYesWhich broker to connect
user_idYesUser ID to associate the OAuth token with
redirect_uriNoOverride callback URI (default: algochains.ai/oauth/callback/{broker})

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already indicate destructiveHint=true and readOnlyHint=false, so the description's job is light. It adds that the tool returns a URL but does not elaborate on side effects (e.g., invalidating previous tokens). No contradiction with annotations.

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

Conciseness5/5

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

Two sentences front-load the purpose and return value, with no extraneous content. Every sentence is necessary and efficient.

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

Completeness4/5

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

The description covers the tool's action and return value sufficiently for a simple, well-annotated tool. It lacks mention of how to use the URL (redirect user) and the subsequent exchange step, but given sibling tools, this is acceptable.

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

Parameters3/5

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

Schema coverage is 100%, so baseline is 3. The description adds value by listing broker options in parentheses but does not detail user_id or redirect_uri beyond the schema.

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

Purpose5/5

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

The description clearly states the action ('generate') and the resource ('OAuth authorization URL for a user to connect their broker account'), lists supported brokers in parentheses, and distinguishes this from siblings like 'connect_broker' and 'exchange_broker_oauth_code' by focusing on URL generation.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives, such as prerequisites (user must have a broker account) or next steps (after URL, redirect user and exchange code). It lacks explicit usage context.

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

generate_ide_configA
Read-onlyIdempotent

Generate the MCP config file (mcporter.json / mcp.json) for your IDE based on your connected brokers and data providers. IDEs: cursor | windsurf | claude | vscode. Mode: smart (default, 181 tools) | full (533 tools). Output includes install instructions.

ParametersJSON Schema
NameRequiredDescriptionDefault
ideYes
tool_modeNosmart

TDQS

A4.2/5.0
Behavior4/5

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

The annotations already indicate readOnlyHint=true, idempotentHint=true, destructiveHint=false, openWorldHint=false. The description adds context about generating a config file and including install instructions, which aligns with the annotations. No contradictions; the description provides additional behavioral context beyond the annotations.

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

Conciseness5/5

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

The description is two sentences with no waste. It front-loads the core purpose, then concisely lists the key options. Every sentence adds value.

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

Completeness4/5

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

Given the tool has only 2 parameters with simple enums and no output schema, the description is fairly complete. It explains what the tool does, the inputs, and what the output includes. It does not cover error handling or prerequisites, but for a config generation tool, the provided information is sufficient.

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

Parameters3/5

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

The input schema has 0% description coverage, so the description must compensate. It lists the IDE options and mode options, adding meaning by specifying tool counts for modes (smart: 181, full: 533). However, it does not explain the effect of different IDEs or the content of the output beyond 'install instructions'. This is adequate for a simple tool but leaves some gaps.

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

Purpose5/5

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

The description clearly states the tool generates MCP config files for IDEs based on connected brokers and data providers, specifying the file names (mcporter.json / mcp.json) and the supported IDEs and modes. This distinguishes it from the many sibling tools focused on market data, accounts, and other operations.

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

Usage Guidelines4/5

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

The description lists the supported IDEs and modes (smart/full with tool counts), providing clear context for when to use the tool. However, it does not explicitly mention when not to use it or alternatives, nor does it state prerequisites (e.g., needing connected brokers). The guidance is mostly implicit.

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

get_accountB
Read-onlyIdempotent

Get account information (equity, cash, buying power) from a broker.

ParametersJSON Schema
NameRequiredDescriptionDefault
brokerYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
cashNo
brokerNo
equityNo
currencyNo
buying_powerNo

TDQS

B3.2/5.0
Behavior3/5

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

Annotations (readOnlyHint, destructiveHint) already confirm safety. The description adds that it returns equity, cash, and buying power, but does not disclose potential pagination, rate limits, or error scenarios. This is adequate but not rich.

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

Conciseness5/5

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

A single, front-loaded 12-word sentence efficiently communicates the tool's purpose with no filler. Every word is meaningful.

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

Completeness3/5

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

The tool is simple with one parameter and an output schema, but the description omits parameter details and context about broker connectivity. It is adequate for retrieval but not fully self-contained.

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

Parameters1/5

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

With 0% schema description coverage, the description must explain the 'broker' parameter. It simply says 'from a broker' without specifying format, allowed values, or meaning (e.g., ID vs name). This fails to add value beyond the schema.

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

Purpose5/5

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

The description clearly states the action (Get), resource (account information), and specific fields (equity, cash, buying power). It effectively distinguishes this tool from siblings like get_positions or get_connected_brokers.

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

Usage Guidelines2/5

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

The description lacks guidance on when to use this tool versus alternatives. No prerequisites, limitations, or contextual conditions are provided. For a simple retrieval tool, some guidelines on broker specification would be helpful.

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

get_adaptive_brain_statusA
Read-onlyIdempotent

Read adaptive_brain.py daemon liveness from bounded process, script, state, and log evidence. Read-only; does not restart or mutate daemon state.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior4/5

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

Annotations already provide readOnlyHint and idempotentHint. The description adds valuable detail: it reads from bounded process, script, state, and log evidence, and emphasizes no mutation. This goes beyond annotations by explaining the evidence sources and confirming no side effects.

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

Conciseness5/5

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

The description is two sentences (22 words) with no fluff. It front-loads the core action and adds a clarifying sentence about read-only behavior. Every word earns its place.

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

Completeness4/5

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

Given the tool's simplicity (no params, no output schema) and rich annotations, the description covers the purpose and evidence sources well. It could hint at the return value format (e.g., 'returns liveness status'), but the lack of output schema makes this acceptable.

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

Parameters3/5

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

No parameters exist, so schema coverage is 100%. The description does not need to explain parameters. Baseline 3 is appropriate; no additional param info is required or provided.

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

Purpose5/5

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

The description clearly specifies reading liveness of adaptive_brain.py daemon from multiple evidence sources (bounded process, script, state, log). This uniquely identifies the tool among many sibling get_* status tools, providing a specific verb and resource.

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

Usage Guidelines3/5

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

The description states the tool is read-only and does not mutate, giving implicit usage context. However, it does not explicitly contrast with sibling tools or specify when to use this over alternatives like get_agent_loop_status. Guidance is adequate but lacks exclusions.

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

get_agent_loop_statusA
Read-onlyIdempotent

Check AI agent loop detection metrics: calls in last 60s, unique call signatures, max identical call count, and loop risk level (LOW/MEDIUM/HIGH). If loop risk is HIGH, a circuit breaker may trip on the next repeated call. Read-only — limits are hard-coded constants.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false. Description adds value by specifying circuit breaker behavior and that limits are hard-coded constants, providing context beyond annotations. No contradictions.

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

Conciseness5/5

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

Two sentences, no waste. First sentence lists key metrics, second adds behavioral context. Front-loaded and efficient.

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

Completeness5/5

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

Given no parameters, no output schema, and annotations covering safety, the description fully explains what the tool returns and the circuit breaker consequence. Complete for its complexity.

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

Parameters5/5

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

No parameters exist; baseline for 0 params is 4. Description fully explains all returned metrics and behavior, compensating for lack of output schema. Adds clear value.

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

Purpose5/5

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

Description clearly states the tool checks AI agent loop detection metrics, listing specific outputs (calls in last 60s, unique call signatures, max identical call count, loop risk level). This distinguishes it from numerous sibling get_* tools, no ambiguity.

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

Usage Guidelines3/5

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

Description implies use for monitoring loop risk but does not explicitly state when to use this versus other monitoring tools like get_system_health. No direct differentiation or alternatives mentioned.

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

get_ai_pipeline_healthA
Read-onlyIdempotent

Check AI ensemble/debate pipeline health. Detects Anthropic quota errors, Cerebras model errors (llama3.1-8b), pipeline timeout events, and shadow mode. The pipeline is ADVISORY ONLY — primary confidence gate controls all trades regardless of pipeline state.

ParametersJSON Schema
NameRequiredDescriptionDefault
bot_idNomnq

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already indicate read-only and idempotent, but the description adds value by specifying the advisory nature of the pipeline and what errors are detected, which goes beyond annotations.

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

Conciseness5/5

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

The description is two sentences, front-loads purpose, and provides essential details without fluff.

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

Completeness3/5

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

The description explains what the tool detects but does not describe the return format or output. Since no output schema exists, this is a gap, though the tool is simple.

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

Parameters2/5

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

The schema has 0% parameter descriptions and the description does not explain the bot_id parameter (enum mnq, cl, mes, nq). With low schema coverage, the description should fill this gap but does not.

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

Purpose5/5

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

The description clearly states the tool checks 'AI ensemble/debate pipeline health' and lists specific detections (Anthropic quota errors, etc.), making it distinct from sibling health tools.

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

Usage Guidelines3/5

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

The description implies when to use (for pipeline health monitoring) but does not explicitly differentiate from other health tools like get_system_health or specify when not to use it.

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

get_algochains_telosA
Read-onlyIdempotent

Read AlgoChains business identity files (TELOS system, adapted from PAI). Returns mission, goals, strategies, mental models, lessons learned, challenges, ideas, and KPIs. Use section='all' for full context or specify: mission|goals|strategies|models|learned|challenges|ideas|metrics. Every agent should read TELOS at session start for full business context.

ParametersJSON Schema
NameRequiredDescriptionDefault
sectionNoWhich TELOS file to read. 'all' returns all sections.all

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnly and idempotent hints; the description adds detail on what data is returned (mission, goals, etc.) and that it's safe to use. No contradictions with annotations.

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

Conciseness5/5

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

Two short, front-loaded sentences. Every word serves a purpose: clarity, usage guidance, and parameter explanation. No redundancy.

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

Completeness4/5

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

For a simple read tool with one optional parameter, the description covers what the tool returns and when to use it. No output schema exists, but the description adequately sets expectations.

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

Parameters3/5

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

The description rephrases the schema's enum list and explains the 'all' option, but adds only marginal value beyond the schema's own description. Baseline 3 is appropriate due to high schema coverage.

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

Purpose5/5

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

The description clearly states the tool reads AlgoChains business identity files (TELOS system) and lists the specific sections returned. It distinguishes from the sibling update_algochains_telos, making the purpose unambiguous.

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

Usage Guidelines4/5

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

Explicitly advises agents to read TELOS at session start for full context and explains how to use the section parameter. Lacks explicit when-not-to-use guidance, but the context is clear.

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

get_all_bot_metricsA
Read-onlyIdempotent

Get real-time trading metrics for all 4 live Tradovate bots (MNQ, CL, MES, NQ) in a single call. Returns daily P&L, win rates, signals, error states, and MCPT validation badges. Data from real log files.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already declare readOnlyHint and idempotentHint; the description adds valuable behavioral context by listing the returned fields (daily P&L, win rates, etc.) and data source (real log files), fully informing the agent of expected output.

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

Conciseness5/5

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

The description is two sentences front-loaded with the core action and resource, then output specifics; no wasted words.

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

Completeness5/5

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

Given no output schema, the description adequately explains the return values and data source, making it complete for a read-only, no-parameter tool.

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

Parameters4/5

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

With zero parameters and 100% schema coverage, the baseline is 4. The description adds no parameter details, but none are needed.

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

Purpose5/5

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

The description clearly states the tool returns real-time trading metrics for all 4 specific Tradovate bots (MNQ, CL, MES, NQ) in a single call, distinguishing it from sibling tools that may target individual bots or other metrics.

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

Usage Guidelines4/5

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

The description implies usage for a batch snapshot of all bots but does not explicitly mention when not to use it or suggest alternatives like get_live_bot_metrics.

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

get_analytics_summaryA
Read-onlyIdempotent

Get platform analytics summary for the last N days: total events, unique users, conversion funnel, top pages, by-day breakdown.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoLookback period in days
event_typeNoOptional filter to a specific event type

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already indicate a safe read-only operation. The description adds value by specifying the exact data elements returned (total events, unique users, etc.), providing useful behavioral context beyond the annotations.

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

Conciseness5/5

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

Single sentence with no wasted words. Information is front-loaded and directly addresses the tool's purpose.

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

Completeness4/5

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

For a simple read-only analytics tool with two optional parameters and no output schema, the description adequately covers the main output components. It could mention return format or pagination, but is still sufficiently complete.

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

Parameters3/5

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

Schema coverage is 100%, so the schema already documents both parameters. The description only implicitly references the 'days' parameter via 'last N days' but adds no new meaning beyond the schema's 'Lookback period in days'. The 'event_type' parameter is not elaborated.

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

Purpose5/5

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

The description clearly states the verb 'Get', the resource 'platform analytics summary', and lists specific included metrics (total events, unique users, conversion funnel, top pages, by-day breakdown). This distinguishes it from other 'get_' siblings which cover different analytics or entities.

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

Usage Guidelines2/5

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

No usage guidance is provided. The description does not specify when to use this tool versus alternatives, nor does it mention prerequisites, limitations, or when not to use it.

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

get_bot_bracket_statusB
Read-onlyIdempotent

Parse the bot log to determine current bracket order status. Returns mode (live/oso_only/none/unknown), stop/target order IDs and prices, and whether the position is unprotected. Critical for detecting missing stops after an entry.

ParametersJSON Schema
NameRequiredDescriptionDefault
bot_idYes

TDQS

B3.3/5.0
Behavior4/5

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

Annotations already confirm safe read (readOnlyHint=true, destructiveHint=false). The description supplements by detailing what the tool computes (mode, order IDs, prices, protection status) and its purpose (detecting missing stops). No contradictions. The description adds meaningful behavioral context beyond the annotations.

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

Conciseness4/5

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

The description is three sentences, front-loaded with the primary action ('Parse the bot log...'). It covers purpose and return values efficiently. A minor improvement could be combining the last two sentences, but overall concise and free of fluff.

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

Completeness4/5

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

The tool has one parameter with enum, no output schema, and moderate complexity. The description explains the return categories (mode, IDs, prices, protection status) and the use case, providing most of what an agent needs to interpret results. However, the exact structure of the response (e.g., JSON fields) is not specified, and for a tool lacking an output schema, slightly more detail on the return format would be beneficial.

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

Parameters2/5

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

Schema coverage is 0%—the schema provides no description. The tool description does not explain the bot_id parameter or its enum values. While the enum values (mnq, cl, mes, nq) are domain-specific, the agent would benefit from explicit clarification that these are bot identifiers for different instruments. The description misses an opportunity to add value.

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

Purpose4/5

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

The description clearly states the tool parses the bot log to determine bracket order status and lists the return values (mode, order IDs, prices, protection status). It also provides a use case ('critical for detecting missing stops after an entry'), which adds context. However, it does not explicitly distinguish itself from sibling tools like bracket_integrity_check or check_unprotected_positions.

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

Usage Guidelines2/5

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

The description only implies when to use ('after an entry') via the phrase 'critical for detecting missing stops after an entry'. There is no explicit guidance on when not to use this tool or mention of alternatives among the many sibling tools. The agent lacks clear decision rules.

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

get_bot_card_dataA
Read-onlyIdempotent

Get the complete bot card data payload for algochains.ai marketplace display. Includes strategy summary, academic citations, backtest artifact paths (MCPT JSON, whitepapers, blueprints), skills references, and subscription tier. Use to populate or refresh a bot card on the marketplace site.

ParametersJSON Schema
NameRequiredDescriptionDefault
bot_idYesBot identifier: mnq | cl | mes | nq

TDQS

A4.3/5.0
Behavior4/5

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

Annotations indicate read-only and non-destructive behavior. The description adds value by listing the content of the payload (strategy summary, citations, artifact paths, etc.), providing transparency beyond the annotations. No contradictions.

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

Conciseness5/5

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

Two sentences: first states function, second lists contents and usage. Efficient and well-structured with no wasted words.

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

Completeness5/5

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

For a simple read operation with one parameter and no output schema, the description provides sufficient context: purpose, contents, and use case. Agent can confidently invoke this tool.

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

Parameters3/5

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

The single parameter (bot_id) is fully documented in the schema with enum and description. The description adds no additional parameter details. With 100% schema coverage, baseline is 3.

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

Purpose5/5

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

The description clearly states the tool retrieves complete bot card data for marketplace display, listing specific components (strategy summary, academic citations, etc.). It distinguishes itself from many sibling get_ tools by specifying its purpose.

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

Usage Guidelines4/5

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

The description explicitly mentions using it to populate or refresh a bot card on the marketplace site. Although it doesn't mention when not to use it, the context makes the usage clear. It could be improved by noting alternatives like get_marketplace_listings.

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

get_bot_dashboardA
Read-onlyIdempotent

Get real-time dashboard of all live trading bots: PIDs, positions, today's P&L, signal counts, win rates computed from actual fill history. Data from ~/.algochains/bot_metrics.db.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive. The description adds value by specifying the data source (~/.algochains/bot_metrics.db) and that win rates are computed from fill history, which are behavioral details beyond annotations.

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

Conciseness5/5

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

The description is exceptionally concise: two sentences covering purpose, data fields, and source. No filler or redundancy, fitting the critical information into minimal space.

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

Completeness5/5

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

Given no parameters and no output schema, the description fully informs the agent of the tool's return contents (PIDs, positions, P&L, signals, win rates) and data provenance. It is complete for the tool's low complexity and typical dashboard use case.

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

Parameters4/5

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

The input schema has zero parameters with 100% coverage, so the baseline is 4. The description does not need to add parameter details, but it also does not mention any optional inputs that might be expected for a dashboard (e.g., date filter), which is acceptable given the explicit real-time nature.

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

Purpose4/5

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

The description clearly states it returns a real-time dashboard of all live trading bots with specific data fields. However, it does not distinguish itself from siblings like get_all_bot_metrics or get_live_bot_metrics, which may cause confusion for an agent choosing between them.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. With many similar get_* tools for bot metrics, the absence of usage context or exclusions forces the agent to infer appropriateness, risking incorrect selection.

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

get_bot_healthA
Read-onlyIdempotent

broker_truth / live ops — unified health for live futures bots (MNQ, CL, MES, NQ) and Kalshi: process up?, log mtime, last signal, regime, recent errors, token expiry, e2e_sentinel. Use for 'MNQ health check', 'is the bot running', 'bot status'. Do NOT use web search (CME/Yahoo) for bot liveness — that is market news, not AlgoChains processes. For live market price use get_quote. Pure read-only on control-tower host (logs/, state/, ps).

ParametersJSON Schema
NameRequiredDescriptionDefault
botNoOptional: filter to one bot (mnq|cl|mes|nq|kalshi|all). Default all.all

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, etc. Description adds context: reads from control-tower host (logs/, state/, ps), no contradiction. Adds value beyond annotations.

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

Conciseness5/5

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

Three sentences, first sentence defines purpose and scope, second gives examples, third clarifies exclusions and host. No wasted words, well-structured.

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

Completeness5/5

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

Even without output schema, the description lists what information is returned (process up, log mtime, etc.) and where it reads from. Sufficient for an agent to understand the tool's function.

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

Parameters3/5

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

Input schema coverage is 100%; the one parameter (bot) is described with defaults and allowed values. Description matches schema, so adds minimal extra meaning.

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

Purpose5/5

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

The description clearly states the tool provides unified health for live futures bots (MNQ, CL, MES, NQ) and Kalshi, listing specific health indicators. It distinguishes from sibling tools like get_quote and web search.

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

Usage Guidelines5/5

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

Explicitly provides use cases: 'Use for MNQ health check, is the bot running, bot status.' Directly tells when not to use (web search) and offers alternative for live market price (get_quote).

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

get_bot_heartbeat_openclawA
Read-onlyIdempotent

Read ~/.openclaw/bot_heartbeat.json. This file is MNQ-only and fill-triggered (written by FUTURES_SCALPER_UPGRADED._track_openclaw_feedback on slippage/fill feedback), NOT by autonomous_watchdog every 5 minutes. Schema is typically {ts, bot, symbol}. For fleet process liveness use get_bot_health / get_all_bot_ops_status; for failover primary use control-tower logs/bot_heartbeat.json.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.9/5.0
Behavior5/5

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

Description adds context beyond annotations: file location, trigger (fill-triggered, not watchdog), and typical schema. Annotations already indicate read-only and non-destructive, so the description enriches behavior 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.

Conciseness5/5

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

Concise yet informative. The core action is front-loaded, followed by essential details about trigger and alternatives. No redundant sentences.

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

Completeness5/5

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

Despite no output schema, the description explains the typical schema and clarifies the file's role versus other monitoring tools. Sufficient for an agent to decide proper use.

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

Parameters4/5

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

No parameters in input schema, so high coverage. Description adds meaning by detailing that the file is MNQ-only and the schema includes {ts, bot, symbol}, which is useful for understanding what the tool reads.

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

Purpose5/5

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

The description clearly states the action 'Read ~/.openclaw/bot_heartbeat.json' and specifies the resource, distinguishing it from sibling tools by explaining the file's purpose and trigger mechanism.

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

Usage Guidelines5/5

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

Explicit guidance on when to use this tool versus alternatives: 'For fleet process liveness use get_bot_health / get_all_bot_ops_status; for failover primary use control-tower logs/bot_heartbeat.json.' Also explains the file is MNQ-only and fill-triggered.

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

get_bot_position_stateA
Read-onlyIdempotent

Read the persisted position state file for a bot. Returns direction (BUY/SELL/null), qty, entry_price, and flat status. This is the bot's internal tracking — compare to Tradovate get_positions() to detect drift.

ParametersJSON Schema
NameRequiredDescriptionDefault
bot_idYes

TDQS

A4.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds that it reads a file and returns specific fields, which is useful but does not significantly extend the behavioral profile. The description is consistent with annotations and adds moderate context.

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

Conciseness5/5

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

The description is two sentences long, each serving a distinct purpose: stating the function and return values, and providing usage context. No wasted words, and it is well-structured for quick comprehension.

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

Completeness4/5

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

Given the absence of an output schema, the description reasonably explains the return values. It also provides essential context relative to a sibling tool. However, it could mention that the tool is safe and idempotent (though annotations cover that) or potential error conditions. Still, for a simple read tool, it is largely complete.

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

Parameters2/5

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

With schema description coverage at 0%, the description should compensate by explaining the 'bot_id' parameter. However, it provides no additional meaning beyond what the enum schema already shows. The agent must infer the parameter's role from the tool name and description, which is a missed opportunity.

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

Purpose5/5

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

The description clearly states the verb 'Read' and the resource 'persisted position state file for a bot'. It lists the returned fields and explicitly distinguishes itself from 'get_positions' via comparison for drift detection. This makes it easy to understand exactly what the tool does and how it differs from siblings.

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

Usage Guidelines5/5

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

The description explicitly tells when to use the tool ('internal bot tracking') and provides a comparison to 'Tradovate get_positions()' for drift detection, which serves as a clear alternative. This gives the agent unambiguous guidance on tool selection.

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

get_bracket_guardian_statusA
Read-onlyIdempotent

Read the bracket integrity guardian daemon state. Returns last check time, any unprotected positions currently flagged, and whether auto-flatten has fired. When guardian positions_count is 0 (or guardian inactive), also runs live bracket_integrity_check against Tradovate so watchdogs cannot report OK with 0 checked without broker verification.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint. The description adds significant behavioral context: it may perform a live bracket integrity check against Tradovate under certain conditions, which is a non-obvious side effect beyond the annotations.

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

Conciseness4/5

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

The description is three sentences: the first states purpose and outputs, the second and third explain conditional behavior. It is efficient but could be slightly more structured (e.g., bullet points for outputs). No unnecessary words.

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

Completeness3/5

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

The description outlines return values and conditional behavior, but it does not clarify whether the results of the live bracket check are included in the output, nor does it describe error states or format details. Given no output schema, this leaves some ambiguity.

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

Parameters4/5

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

There are no parameters, so schema coverage is 100%. The description adds value by specifying what the tool returns (last check time, unprotected positions, auto-flatten status), which is meaningful beyond the empty schema.

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

Purpose5/5

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

The description clearly states the tool reads the bracket integrity guardian daemon state and lists what it returns. It uses a specific verb ('Read') and resource, and implicitly distinguishes from sibling 'bracket_integrity_check' by explaining the conditional relationship.

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

Usage Guidelines3/5

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

The description explains that the tool may run a live check when guardian is inactive or has zero positions, but it does not explicitly state when to prefer this tool over alternatives like 'bracket_integrity_check'. Usage guidance is implied rather than direct.

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

get_broker_setup_guideA
Read-onlyIdempotent

Get step-by-step setup guide for a broker: required env vars, where to get credentials, paper trading instructions, rate limits. Includes broker-specific risk warnings. Brokers: tradovate | alpaca | oanda

ParametersJSON Schema
NameRequiredDescriptionDefault
brokerYes

TDQS

A4/5.0
Behavior4/5

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

Descriptions adds rich behavioral context beyond annotations: it details the guide's contents and enumerates supported brokers. Consistent with readOnlyHint and idempotentHint.

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

Conciseness5/5

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

Two sentences, front-loaded with key information. Every word adds value—no redundancy or fluff.

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

Completeness4/5

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

Covers the tool's purpose, outputs, and parameters adequately for a simple retrieval tool. No output schema, but description makes return value expectations clear.

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

Parameters3/5

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

Only parameter 'broker' has no schema description, but the description lists the enum values in text. Doesn't elaborate on the parameter's meaning or constraints beyond that list.

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

Purpose5/5

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

Clearly states it gets a step-by-step setup guide for specific brokers, listing exactly what's included (env vars, credentials, paper trading instructions, rate limits, risk warnings). Distinguishes from sibling tools like connect_broker or validate_broker_connection.

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

Usage Guidelines3/5

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

Implies usage when setting up a broker, but no explicit when-to-use or when-not-to-use guidance. Does not mention alternatives or prerequisites.

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

get_checkout_urlB
Idempotent

Generate a Stripe checkout URL for an AlgoChains subscription. Returns a URL the user clicks once to pay — Stripe handles the payment UI. After payment, a sub_live_… key is emailed automatically and the subscriber can subscribe to MNQ copy-trade signals (delivered for the subscriber to review and act on — no automated execution; the subscriber stays in control). Tiers: 'paper' ($29/mo — subscriber tools + MNQ copy-trade signals, simulated paper account, no broker needed) or 'live' ($99/mo — subscriber connects their own broker and places their own trades). Flat subscription only. Set ALGOCHAINS_SUBSCRIBER_KEY= to activate.

ParametersJSON Schema
NameRequiredDescriptionDefault
tierNopaper=$29/mo (MNQ signals + simulated paper, no broker), live=$99/mo (connect your own broker, you place trades)paper
emailYesEmail for subscription and key delivery
referral_codeNoOptional referral code (AC-XXXXXX) — credits the referrer.

TDQS

B3.1/5.0
Behavior3/5

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

Annotations indicate idempotentHint=true and readOnlyHint=false, meaning the tool is safe to retry and not read-only. The description adds context about post-payment email and activation, but does not disclose whether repeated calls create multiple checkout sessions, or if the URL expires. It also doesn't detail error cases or side effects beyond the stated flow.

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

Conciseness3/5

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

The description front-loads the main purpose but is somewhat verbose, repeating tier details already in the schema. It is structured logically (purpose, flow, tiers, instruction) but could be more concise without losing clarity.

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

Completeness2/5

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

Although there is no output schema, the description only says 'Returns a URL' without specifying the exact format or example. It also omits immediate return behavior (is it a redirect URL?), error conditions, and what happens if the email is invalid. The post-payment flow is detailed, but the tool's immediate output is underspecified.

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

Parameters4/5

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

All three parameters are described in the schema (100% coverage), so baseline is 3. The description adds significant value by explaining the tier options with pricing and details, and the referral code purpose, which are not fully captured in the schema descriptions. This makes the parameter meaning clearer and more actionable.

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

Purpose4/5

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

The description clearly states the tool generates a Stripe checkout URL for an AlgoChains subscription, with a specific verb ('Generate') and resource. It distinguishes the action from siblings like get_started or generate_payment_link by detailing the subscription flow and tier options, though it doesn't explicitly contrast with alternatives.

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

Usage Guidelines2/5

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

The description lacks guidance on when to use this tool versus sibling tools like generate_payment_link or get_started. It explains the tiers but does not specify prerequisites, alternative tools, or scenarios where this tool is inappropriate (e.g., existing subscriptions).

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

get_circuit_breaker_statusA
Read-onlyIdempotent

Read current state of all hard-coded trading circuit breakers. Shows which brokers are OPEN/CLOSED/HALF_OPEN, trip reasons, cooldown timers, and current order velocity. These limits are code-level constants — the AI cannot modify them. Use to understand why orders are being blocked.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, so the description does not need to repeat that. It adds value by specifying the exact data returned (broker states, trip reasons, timers, velocity) and the nature of the limits (hard-coded, code-level constants). This contextualizes the tool's behavior beyond what annotations provide.

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

Conciseness5/5

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

Two sentences, no filler. First sentence front-loads the action and outputs. Second sentence adds the important constraint that limits are unmodifiable and clarifies usage. Every word earns its place.

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

Completeness5/5

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

For a parameterless tool with full annotation coverage and no output schema, the description is complete. It explains what the tool returns, its read-only nature, and when to use it. No additional context is necessary.

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

Parameters4/5

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

Tool has zero parameters, so schema coverage is 100%. Per guidelines, baseline is 4. Description adds no parameter instructions, which is appropriate since there are none. The description does not need to elaborate on parameters.

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

Purpose5/5

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

Description clearly states the tool reads the current state of all hard-coded trading circuit breakers, listing specific outputs like broker states, trip reasons, cooldown timers, and order velocity. It distinguishes itself from siblings by emphasizing these are code-level constants that the AI cannot modify, making its read-only diagnostic purpose unambiguous.

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

Usage Guidelines5/5

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

Explicitly states 'Use to understand why orders are being blocked,' providing a clear scenario for invocation. It also notes the AI cannot modify these limits, indirectly advising against attempting mutation. This guidance is sufficient given the tool's simplicity and the presence of sibling tools like check_order_safety.

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

get_connected_brokersC
Destructive

List all brokers a user has connected via OAuth, with token expiry and scope information.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_idYes

TDQS

C2.8/5.0
Behavior1/5

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

The description indicates a read operation ('list'), but annotations show destructiveHint=true and readOnlyHint=false, suggesting mutation. This contradiction severely misleads the agent about the tool's behavior.

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

Conciseness4/5

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

The description is a single, clear sentence. It is concise but lacks important details; nevertheless, it earns points for being front-loaded and well-structured.

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

Completeness2/5

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

Despite having only one parameter and no output schema, the description does not cover token expiry format, scope details, or potential pagination. Given the contradictory annotations, the tool definition is incomplete.

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

Parameters2/5

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

The description does not explain the single required parameter user_id. With 0% schema description coverage, the description fails to add meaning beyond the parameter name and type.

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

Purpose5/5

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

The description clearly states it lists all brokers a user has connected via OAuth, including token expiry and scope information. This is specific and distinguishes from sibling tools like connect_broker and revoke_broker_connection.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives, or any prerequisites. The description only states the function without any contextual usage advice.

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

get_crude_oil_inventoriesA
Read-onlyIdempotent

Fetch EIA weekly crude oil inventory data — critical signal for the CL (crude oil) futures bot. Covers US commercial crude stocks, Cushing Oklahoma (WTI delivery point), and field production. Released every Wednesday ~10:30 AM ET. Build above estimate = bearish CL; draw below = bullish. Requires EIA_API_KEY (free at eia.gov/opendata).

ParametersJSON Schema
NameRequiredDescriptionDefault
use_cacheNoUse 24-hour cache (EIA data is weekly)

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already indicate readOnlyHint=true, idempotentHint=true, etc., so the description adds contextual behavior: 24-hour caching via a parameter, weekly release schedule, and the requirement of an EIA_API_KEY. No contradictions with annotations.

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

Conciseness5/5

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

The description is a single, well-structured paragraph: first sentence states purpose, second provides details, third gives interpretation, fourth mentions API key. It is concise with no wasted words, and all information is front-loaded.

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

Completeness4/5

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

The description covers the data content, release timing, interpretation, and authentication. However, it does not explicitly state the return format (e.g., JSON), which would be helpful for an AI agent using the tool. Given no output schema, a minor gap exists, but overall it is complete enough for the tool's simplicity.

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

Parameters3/5

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

The schema has 100% coverage for the single boolean parameter 'use_cache', with a clear description. The tool description adds context about why caching is appropriate (weekly data), but the schema already provides the semantic meaning. Baseline 3 is appropriate given high coverage.

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

Purpose5/5

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

The description clearly states that the tool fetches EIA weekly crude oil inventory data, specifies what it covers (US commercial crude stocks, Cushing Oklahoma, field production), and explicitly links it to CL futures bot. It is well differentiated from the many sibling tools, most of which are unrelated to this specific data fetch.

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

Usage Guidelines4/5

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

The description provides clear guidance on when to use the tool (as a critical signal for CL futures), includes release timing (Wednesdays ~10:30 AM ET), and explains how to interpret the data (build/draw vs estimates). It mentions the API key requirement. While it does not explicitly state when not to use or name alternative tools, the context is sufficient for an AI agent to determine appropriate usage.

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

get_current_regimeA
Read-onlyIdempotent

Read the current market regime from OpenClaw state (written by autonomous regime_detector skill). Returns regime label, confidence, and timestamp. This is the regime all live bots use for signal filtering.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true. Description adds context that the data comes from OpenClaw state written by an autonomous skill, providing useful behavioral context without contradicting annotations.

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

Conciseness5/5

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

Two sentences efficiently convey purpose, return value, and usage context. Every sentence adds value without redundancy.

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

Completeness5/5

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

For a simple read tool with no parameters and no output schema, the description fully explains what is returned (label, confidence, timestamp) and the data source, making it complete for an AI agent to use.

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

Parameters4/5

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

Input schema has 0 parameters and 100% coverage, so description need not add parameter info. Baseline for 0 parameters is 4.

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

Purpose5/5

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

Description clearly states the tool reads the current market regime from OpenClaw state, specifying it returns regime label, confidence, and timestamp. It distinguishes from sibling tools like detect_market_regime and detect_regime_hmm which compute regime, as this reads a stored state.

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

Usage Guidelines4/5

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

Description implicitly indicates this is the regime used by live bots for signal filtering, suggesting it's for retrieval rather than detection. However, it does not explicitly state when to use this vs sibling tools like detect_market_regime.

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

get_daily_loss_proximityA
Read-onlyIdempotent

Read daily loss proximity guard status: today's P&L vs the $500 hard limit, utilization %, alert/block thresholds (80% alert, 95% block scalpers, MNQ swing exempt), and whether P&L evidence is verified. Returns DEGRADED when P&L source is unknown instead of fail-open OK.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already indicate readOnly, idempotent, non-destructive. The description adds a specific behavioral detail: returns DEGRADED when P&L source is unknown instead of fail-open OK, providing additional transparency beyond annotations.

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

Conciseness5/5

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

Two sentences, front-loaded with the core purpose. Every sentence adds value: first explains what it reads, second covers a special return behavior. No redundancy.

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

Completeness5/5

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

For a parameterless read tool with no output schema, the description fully covers what the tool returns and a notable edge case. Complete and sufficient for correct invocation.

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

Parameters4/5

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

No parameters exist; schema coverage is 100% and the description does not need to add parameter info. It explains the output, which is helpful for the agent. A score of 4 is appropriate as the description adds value without lacking param details.

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

Purpose5/5

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

The description clearly states the tool reads daily loss proximity guard status, listing specific items: today's P&L vs $500 limit, utilization %, thresholds, and evidence verification. It uses a specific verb ('Read') and resource ('daily loss proximity guard status'), distinguishing it from sibling tools like get_account or get_protection_config.

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

Usage Guidelines4/5

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

The description implies usage for checking loss proximity guard status. It does not explicitly specify when to use versus alternatives or provide exclusions, but the context is clear given the tool's narrow focus among similar get_ tools.

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

get_dark_pool_volume_v21A
Read-onlyIdempotent

Fetch dark pool volume for a symbol from real FINRA ATS reports + Polygon off-exchange trade conditions. Returns dark pool %, total off-exchange volume, and institutional activity score. NO synthetic data — fails if real sources unavailable.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNoYYYY-MM-DD (defaults to most recent available)
symbolYes

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already indicate read-only, idempotent, non-destructive behavior. Description adds value by emphasizing reliance on real data and failure mode, which is beyond annotations.

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

Conciseness5/5

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

Three sentences, each serving a distinct purpose: action/sources, outputs, behavior/no synthetic. No wasted words.

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

Completeness4/5

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

No output schema, but description details return values. Adequately covers data fetch tool with low complexity; could mention limits or pagination but not essential.

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

Parameters3/5

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

Schema coverage is 50% (date described in schema, symbol not). Description clarifies symbol context and date format but does not add detail beyond schema. Baseline 3 with minimal compensation.

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

Purpose5/5

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

Clearly specifies action ('Fetch dark pool volume for a symbol'), data sources ('real FINRA ATS reports + Polygon off-exchange trade conditions'), and outputs ('dark pool %, total off-exchange volume, institutional activity score'). Distinguishes from sibling tools by focusing on dark pool data.

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

Usage Guidelines4/5

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

States when to use (when real dark pool data needed) and a key constraint ('fails if real sources unavailable'), but does not explicitly mention when not to use or suggest alternative tools among siblings.

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

get_data_provider_setup_guideA
Read-onlyIdempotent

Get setup guide for a market data provider: required env vars, where to get API keys, free tier details. Providers: polygon | databento | onyx | fred

ParametersJSON Schema
NameRequiredDescriptionDefault
providerYes

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare read-only and idempotent. Description adds value by detailing what the guide contains (env vars, API keys, free tier details), enhancing transparency beyond annotations.

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

Conciseness4/5

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

The description is concise and front-loaded with purpose, but could be slightly more structured (e.g., bullet points).

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

Completeness5/5

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

Given the tool's simplicity (one param, no output schema), the description fully covers what the tool does and what to expect from the guide.

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

Parameters5/5

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

With 0% schema description coverage, the description fully explains the single 'provider' parameter by listing enum values and clarifying that it selects the provider for which to retrieve setup info.

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

Purpose5/5

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

Description clearly states 'Get setup guide for a market data provider' and lists the specific providers (polygon, databento, onyx, fred), distinguishing this tool from many other 'get_' siblings.

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

Usage Guidelines3/5

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

The description implies usage when needing setup info for listed providers, but does not explicitly state when to use vs alternatives or provide exclusion criteria.

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

get_developer_key_usageA
Read-onlyIdempotent

Get usage metadata for a developer key (last used, scopes, active status).

ParametersJSON Schema
NameRequiredDescriptionDefault
key_idYes

TDQS

A4/5.0
Behavior4/5

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

The annotations already indicate readOnlyHint=true and idempotentHint=true, signaling a safe read operation. The description adds value by specifying exactly what metadata is returned (last used, scopes, active status), which goes beyond the annotations and helps the agent understand the tool's output. No contradiction with annotations.

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

Conciseness5/5

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

The description is a single, concise sentence that front-loads the verb and resource. It provides all necessary information without extraneous words. Every part earns its place.

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

Completeness4/5

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

The description is fairly complete for a simple read tool. It mentions the return fields, though no output schema is provided. It lacks details on error cases or pagination, but given the simplicity, it covers the essential context. Slightly incomplete regarding full response structure.

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

Parameters3/5

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

With schema description coverage at 0% and only one parameter (key_id), the description does not add any extra meaning beyond what the parameter name implies. The parameter is self-explanatory as a developer key ID, but the description could have specified expected format or source. Baseline is 4 due to zero parameters requiring schema coverage, but the description fails to compensate.

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

Purpose5/5

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

The description clearly states the verb 'Get' and the resource 'developer key', and specifically lists the metadata fields returned (last used, scopes, active status). This distinguishes it from sibling tools like list_developer_keys (which lists all keys) and create/revoke/rotate (which are mutations).

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

Usage Guidelines3/5

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

The description provides no explicit guidance on when to use this tool versus alternatives. While it's clear that it returns metadata for a specific key, there is no mention of when list_developer_keys or other key tools might be more appropriate. The usage context is implied but not directly stated.

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

get_earnings_catalystA
Read-onlyIdempotent

Run earnings NLP pipeline: fetch SEC EDGAR filing, compute FinBERT sentiment, extract key themes (guidance, EPS beat/miss, capex), detect tone shift vs prior quarter. Returns catalyst score and actionable signal.

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes
quarterNoE.g. 'Q4 2025'; defaults to most recent

TDQS

A4.2/5.0
Behavior4/5

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

Annotations indicate read-only, open-world, idempotent, and non-destructive behavior, which the description does not contradict. The description adds valuable context about the pipeline steps (fetching, computing, extracting) that go beyond annotations, ensuring the agent understands the tool's internal operations. No contradictions found.

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

Conciseness5/5

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

The description is two sentences: the first lists actions, the second states returns. Every phrase adds value, with no redundancy or fluff. The structure is clear and efficient.

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

Completeness4/5

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

The tool has no output schema, so the description must cover return values. It states 'Returns catalyst score and actionable signal,' which is concise but sufficient given the complexity of the NLP pipeline. Annotations already cover safety and idempotency, so the description is reasonably complete for a retrieval tool. More detail on output structure could improve it.

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

Parameters3/5

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

Schema has two parameters: 'symbol' (required, no description) and 'quarter' (optional, with example). Schema description coverage is 50%. The tool description implicitly associates 'symbol' with fetching SEC filings and 'quarter' with prior quarter comparison, but does not explicitly document parameter formats or valid values. This provides some context but not thorough semantics.

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

Purpose5/5

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

The description clearly states the tool runs an earnings NLP pipeline, listing specific steps: fetch SEC filing, compute FinBERT sentiment, extract themes (guidance, EPS beat/miss, capex), and detect tone shift. It concludes with returns of catalyst score and actionable signal, making the purpose highly specific and distinct from many other 'get_*' sibling tools.

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

Usage Guidelines4/5

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

The description implies the tool is used for earnings analysis by detailing the pipeline steps. However, it does not explicitly state when to use it versus alternatives or provide exclusions. Given the context of many sibling tools, the usage is clear but could be improved with direct guidance on when not to use it.

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

get_fed_policy_signalsA
Read-onlyIdempotent

Get the 7 most important Fed policy indicators in one call: Fed Funds Rate, CPI, PCE, 10Y-2Y spread, VIX, 10Y yield, 2Y yield — with AI-derived regime interpretation (restrictive/neutral/accommodative, crisis/normal, inverted/normal yield curve). Use for MNQ/NQ regime context before trading sessions. Requires FRED_API_KEY.

ParametersJSON Schema
NameRequiredDescriptionDefault
use_cacheNo

TDQS

A4.1/5.0
Behavior4/5

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

The description adds context beyond annotations: it mentions the single-call nature, the included indicators, and the AI-derived regime interpretation. It does not contradict any annotations (readOnlyHint, etc.). It also clarifies the API key requirement, which is not in annotations.

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

Conciseness5/5

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

The description is concise and well-structured: purpose first, then details, then use case, then requirement. Every sentence adds value with no redundancy.

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

Completeness3/5

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

The tool has no output schema, so the description should explain the return format. It mentions 'AI-derived regime interpretation' but not the structure (e.g., JSON object, string). For a tool returning multiple indicators, more detail on output shape would improve completeness.

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

Parameters3/5

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

The input schema has one optional boolean parameter (use_cache) with a default, which is self-explanatory. The description does not mention this parameter or add any additional meaning. Since schema description coverage is 0%, the description misses an opportunity to clarify, but the parameter is simple.

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

Purpose5/5

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

The description clearly specifies the tool's purpose: retrieving 7 Fed policy indicators with AI-derived regime interpretation, and lists exact indicators. It distinguishes itself from sibling tools like get_macro_signals and get_current_regime by focusing on this specific set.

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

Usage Guidelines4/5

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

The description explicitly states the use case ('for MNQ/NQ regime context before trading sessions') and a requirement ('Requires FRED_API_KEY'). However, it does not provide when-not-to-use or list alternative tools for different contexts.

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

get_footprint_chartA
Read-onlyIdempotent

Compute footprint chart for a symbol: bid/ask volume at each price level per candle, detecting absorption (sellers absorbed at support), imbalance (>3:1 ratio), and delta exhaustion. Uses real Databento tick data.

ParametersJSON Schema
NameRequiredDescriptionDefault
barsNoNumber of bars to compute
symbolYes
tick_dataNoOptional: provide raw tick data array; otherwise fetches from Databento
timeframeNoBar timeframe: 1min, 5min, 15min, 1hour5min

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already indicate read-only, idempotent, non-destructive behavior. The description adds context about using real Databento tick data and the specific patterns detected, enhancing transparency. No contradictions.

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

Conciseness5/5

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

A single, information-dense sentence that front-loads the core purpose. No wasted words; every phrase adds value.

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

Completeness3/5

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

The description explains the main functionality and inputs but omits details about output format or structure. Given no output schema, additional clarity on what the tool returns would improve completeness. Annotations are rich, but output expectations are vague.

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

Parameters3/5

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

Schema has 75% coverage (3 of 4 parameters described). The description provides high-level context for footprint chart analysis but does not add significant details beyond what the schema provides. Baseline of 3 is appropriate as schema already handles most meaning.

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

Purpose5/5

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

The description clearly states the tool computes a footprint chart for a symbol, detailing bid/ask volume per price level, and detects specific patterns (absorption, imbalance, delta exhaustion). It distinguishes itself from siblings as a specialized analytical tool rather than a simple data retrieval.

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

Usage Guidelines3/5

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

The description lists capabilities (detecting absorption, imbalance, delta exhaustion) which imply when to use, but does not explicitly state when not to use or mention alternative tools. Usage guidance is implied rather than explicit.

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

get_funding_rateA
Read-onlyIdempotent

Get real-time perpetual futures funding rates from Binance, Bybit, and Hyperliquid. Identifies funding rate arbitrage opportunities and predicts funding-driven price pressure.

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYesCrypto symbol e.g. BTCUSDT, ETHUSDT
exchangesNo

TDQS

A4.2/5.0
Behavior4/5

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

The description adds context beyond annotations (readOnly, idempotent) by stating the tool is real-time and performs predictive analysis. It does not contradict annotations and provides useful behavioral insight.

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

Conciseness5/5

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

Two sentences, front-loaded with the core purpose. No extraneous information; every sentence serves a purpose.

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

Completeness4/5

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

The tool is simple with 2 parameters and no output schema. The description covers inputs and purpose but omits details about return format or error handling. Adequate given the safety annotations.

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

Parameters3/5

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

Schema coverage is 50% (symbol documented, exchanges not). The description partially compensates by naming the default exchanges, but does not elaborate on parameter format or options. Baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly specifies the verb 'Get' and the resource 'real-time perpetual futures funding rates' with specific exchanges (Binance, Bybit, Hyperliquid). It also mentions additional capabilities (arbitrage opportunities, price pressure prediction), making the tool's purpose distinct from siblings.

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

Usage Guidelines4/5

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

The description implies usage for retrieving funding rates but does not explicitly state when to use this tool over alternatives or provide exclusions. Given the specificity, it is clear but lacks explicit guidance.

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

get_kronos_shadow_statsA
Read-onlyIdempotent

Get Kronos foundation model shadow-mode prediction statistics per bot. Shows agreement_rate, total_logged, direction accuracy, and promotion readiness vs the Bayesian ensemble. Read-only observer — Kronos has zero influence on live trades until manually graduated.

ParametersJSON Schema
NameRequiredDescriptionDefault
bot_keyNoBot key from signal_health.json, e.g. MNQ_Upgraded_Scalper. Omit to get all bots.all

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint, providing a solid safety profile. The description adds valuable behavioral context: 'Read-only observer — Kronos has zero influence on live trades until manually graduated.' This clarifies the tool's non-interference beyond mere read-only status, justifying a score above baseline.

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

Conciseness5/5

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

Two sentences efficiently convey the tool's purpose and key behavioral note. Every sentence earns its place with no redundancy or fluff. The front-loaded structure immediately states the action and resource, meeting conciseness standards perfectly.

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

Completeness5/5

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

For a simple read-only tool with one optional parameter and no output schema, the description covers purpose, returned fields, and behavioral impact. It lists the exact statistics shown, eliminating ambiguity. Annotations fill safety and lifecycle gaps. The description is sufficiently complete given the tool's complexity.

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

Parameters3/5

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

Schema coverage is 100%; the single parameter 'bot_key' is documented with default and example. The description adds no extra semantic meaning beyond the schema—it only mentions 'per bot' which is already implied. Baseline 3 is appropriate as the description does not degrade or enhance parameter understanding.

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

Purpose5/5

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

The description clearly states the tool retrieves Kronos shadow-mode prediction statistics per bot, listing specific metrics (agreement_rate, total_logged, direction accuracy, promotion readiness). It distinguishes itself by focusing on Kronos's shadow mode vs the Bayesian ensemble, providing a specific verb-resource combination that differentiates it from sibling tools like get_bot_health or get_ai_pipeline_health.

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

Usage Guidelines4/5

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

The description implies usage context: monitor shadow-mode stats before manually graduating Kronos. It states Kronos has zero influence on live trades until graduation, indicating when the tool is relevant. However, it does not explicitly mention when not to use it or compare to alternatives, missing some guidance for selective invocation.

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

get_latency_profileA
Read-onlyIdempotent

Get real-time latency profile for this MCP session: tool call overhead, broker API round-trip times, and current execution tier. Includes a reminder that MCP AI-assisted execution is Tier 4 (120ms-2s) — not suitable for HFT. Use to set correct expectations for strategy timing.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the description adds value by clarifying that the tool provides real-time metrics and includes a performance caveat about execution tiers, without contradicting annotations.

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

Conciseness5/5

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

Two sentences, front-loaded with purpose and specifics, every word adds value. No fluff.

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

Completeness5/5

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

For a zero-parameter tool with good annotations, the description fully explains what metrics are returned and includes a usage caveat, making it complete despite lacking an output schema.

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

Parameters4/5

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

No parameters exist, so description cannot add meaning beyond schema. Baseline of 4 is appropriate as description explains the tool's output in context, compensating for lack of output schema.

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

Purpose5/5

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

Description clearly states the tool retrieves a real-time latency profile for the MCP session, listing specific metrics (overhead, broker API round-trips, execution tier) and distinguishing it from other get_ tools by its specific subject matter.

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

Usage Guidelines5/5

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

Explicitly states when to use (set expectations for strategy timing) and when not to (not suitable for HFT), providing clear context for appropriate invocation.

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

get_learn_hub_healthA
Read-onlyIdempotent

Check AlgoChains Learn Hub health: HTTP status of /learn/, /learn/feed.xml RSS MIME, and learn.algochains.ai subdomain redirect. Read-only — does NOT deploy. Use to verify the live Learn Hub is up and public (no login required).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint, so the safety profile is clear. The description adds value by detailing the specific checks performed (endpoints, RSS MIME, redirect), confirming read-only behavior, and noting that no login is required. No contradiction with annotations.

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

Conciseness5/5

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

The description consists of two concise sentences with no extraneous information. The first sentence front-loads the purpose and specific actions; the second reinforces key traits and usage context.

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

Completeness4/5

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

Given the tool's simplicity (no parameters, comprehensive annotations), the description is largely complete: it specifies what is checked, that it is read-only, and when to use. It does not describe the return format, but for a health check this is often implicit. A slight improvement could mention the expected output type.

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

Parameters4/5

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

There are zero parameters, and schema coverage is 100%. The description does not need to explain parameters; the baseline for no parameters is 4.

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

Purpose5/5

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

The description clearly specifies the tool checks the health of AlgoChains Learn Hub by verifying HTTP status of specific endpoints, RSS MIME, and subdomain redirect. It distinguishes itself from sibling tools like get_tower_health or get_bot_health by explicitly naming the target and stating it is read-only and does not deploy.

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

Usage Guidelines4/5

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

The description explicitly states when to use: 'Use to verify the live Learn Hub is up and public (no login required).' It does not mention alternatives or when not to use, but the context is clear enough for the agent.

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

get_learning_signalsA
Read-onlyIdempotent

Retrieve and analyze historical learning signals from state/learning_signals.jsonl. Returns signals with optional summary statistics: success rate by action type, top skills by effectiveness, bot activity, average ratings. Use to identify where agent performance is strongest/weakest and drive improvement priorities.

ParametersJSON Schema
NameRequiredDescriptionDefault
botNoFilter by bot name (MNQ, CL, MES, NQ)
limitNoMax signals to return (most recent first)
outcomeNo
summarizeNoInclude summary statistics
min_ratingNo
action_typeNoFilter by action type

TDQS

A4.5/5.0
Behavior5/5

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

Annotations declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, already indicating safe read behavior. The description adds valuable context: it retrieves from a specific file, returns signals with optional summary statistics, and details what statistics are included (success rate, top skills, bot activity, average ratings). No contradictions.

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

Conciseness5/5

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

The description is two sentences with no unnecessary words. It front-loads the main action and resource, then lists the return value and use case. Every sentence serves a purpose.

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

Completeness5/5

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

The tool has no output schema, so the description must explain returns. It does so thoroughly: 'Returns signals with optional summary statistics: success rate by action type, top skills by effectiveness, bot activity, average ratings.' It also specifies the source file. For a read-only data retrieval tool with 6 optional params, the description is complete.

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

Parameters3/5

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

Schema description coverage is 67% (4 of 6 parameters have descriptions). The description mentions 'optional summary statistics' relating to the 'summarize' parameter but does not explain other parameters (bot, limit, outcome, min_rating, action_type) beyond what the schema provides. It adds little extra meaning for parameter semantics.

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

Purpose5/5

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

The description clearly states that the tool retrieves and analyzes historical learning signals from a specific file, lists the available summary statistics, and explains the use case (identifying performance strengths/weaknesses). The verb 'Retrieve and analyze' and resource 'state/learning_signals.jsonl' are specific, and the tool is distinct from siblings like 'capture_learning_signal'.

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

Usage Guidelines4/5

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

The description provides a clear use case: 'Use to identify where agent performance is strongest/weakest and drive improvement priorities.' It implies when to use this tool for analysis purposes but does not explicitly state when not to use it or mention alternatives like 'capture_learning_signal' for storing signals.

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

get_live_bot_metricsA
Read-onlyIdempotent

Get real-time trading metrics for live bots (Tradovate + Alpaca paper). Supabase-first (bot_metrics_live table). Returns daily P&L, win rate, last signal, confidence, error count. Bot IDs: mnq, cl, mes, nq, alpaca_paper_equities, alpaca_paper_crypto. Omit bot_id to get all. Falls back to log parser if Supabase unavailable.

ParametersJSON Schema
NameRequiredDescriptionDefault
bot_idNoOptional bot ID: mnq | cl | mes | nq | alpaca_paper_equities | alpaca_paper_crypto. Omit for all bots.

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds value by disclosing the data source priority ('Supabase-first (bot_metrics_live table)') and the fallback behavior ('Falls back to log parser if Supabase unavailable'). It also enumerates the exact metrics returned, which is beyond what annotations provide.

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

Conciseness5/5

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

The description is extremely concise, consisting of only two sentences. The first sentence states the core purpose; the second provides key details (data source, metrics returned, valid IDs, default behavior, fallback). Every piece of information is useful and there is no redundancy.

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

Completeness5/5

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

For a simple read-only tool with one optional parameter and no output schema, the description covers all essential aspects: purpose, data source (Supabase table), fallback mechanism, list of allowed bot IDs, default behavior when omitted, and what metrics are returned. Nothing critical is missing.

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

Parameters4/5

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

The input schema has 100% coverage with one parameter described. The description adds the list of valid bot IDs (mnq, cl, mes, nq, alpaca_paper_equities, alpaca_paper_crypto) which are not specified as enums in the schema, and clarifies the default behavior when bot_id is omitted. This adds meaningful context beyond the schema.

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

Purpose5/5

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

The description clearly states 'Get real-time trading metrics for live bots (Tradovate + Alpaca paper)', specifying the exact verb and resource. It lists the returned metrics (daily P&L, win rate, etc.), distinguishing it from siblings like get_all_bot_metrics and get_user_bot_metrics which target different scopes.

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

Usage Guidelines4/5

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

The description provides guidance on when to use: it mentions 'Supabase-first' and fallback to log parser, lists valid bot IDs, and explains that omitting bot_id retrieves all bots. It does not explicitly compare to alternatives but the context implies usage for live bots specifically.

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

get_macro_signalsA
Read-onlyIdempotent

Get pre-computed macro alpha signal fabric: yield curve shape (2y-10y), credit spreads (HY-IG), DXY momentum, PMI regime, VIX term structure contango/backwardation. All from real FRED/CBOE/Polygon APIs.

ParametersJSON Schema
NameRequiredDescriptionDefault
signalsNoSubset: yield_curve, credit_spreads, dxy, pmi, vix. Omit for all.

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already indicate readOnly, idempotent, and non-destructive. The description adds value by stating signals are pre-computed and sourced from real APIs (FRED, CBOE, Polygon), providing context beyond structured annotations.

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

Conciseness5/5

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

Two sentences, efficiently listing signals and sources without extraneous text. Every sentence adds value.

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

Completeness3/5

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

Description covers the tool's purpose and available signals, but lacks details on return format or structure. Since no output schema exists, more information about the output would improve completeness.

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

Parameters3/5

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

Schema coverage is 100% and already lists allowable signal values. The description enumerates signals but does not add meaning beyond the schema's parameter description.

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

Purpose5/5

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

Description clearly states the tool retrieves specific macro alpha signals (yield curve, credit spreads, DXY, PMI, VIX) from known APIs. The verb 'Get' and resource 'pre-computed macro alpha signal fabric' are specific and distinguish it from other get_* tools like get_fed_policy_signals.

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

Usage Guidelines2/5

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

No explicit guidance on when to use this tool versus alternatives. The description does not mention conditions, exclusions, or recommend it over similar tools like get_us_economic_indicators.

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

get_marketplace_listingsA
Read-onlyIdempotent

Get all staged marketplace bot listings with real metrics: futures (owner-only), equities, crypto, forex. Includes Sharpe, win rate, max DD, subscription pricing, and paper trading status. Supabase-first with local filesystem fallback.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax listings to return
statusNoall
asset_classNoall

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true. The description adds valuable behavioral context by mentioning 'Supabase-first with local filesystem fallback', disclosing the data source hierarchy. No contradictions with annotations.

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

Conciseness5/5

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

The description is two sentences long with no redundancy. It front-loads the core purpose and adds relevant detail in the second sentence, making it efficient and easy to parse.

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

Completeness3/5

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

For a simple read tool with no output schema, the description covers purpose, data categories, and metrics but omits details on pagination (limit defaults), status values, and the full asset_class enum (missing 'options'). While adequate, it could be more complete.

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

Parameters2/5

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

Schema description coverage is only 33% (only 'limit' has a description). The description partially compensates by listing asset classes from the 'asset_class' enum, but does not explain the 'status' parameter or the default behavior of 'limit'. Given low coverage, the description should provide more parameter guidance.

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

Purpose5/5

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

The tool name 'get_marketplace_listings' clearly indicates a retrieval operation. The description specifies it returns 'staged marketplace bot listings' with real metrics across multiple asset classes, distinguishing it from sibling listing tools like 'list_polymarket_markets' and 'search_prediction_markets'.

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

Usage Guidelines3/5

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

The description states what the tool does but does not provide explicit guidance on when to use it versus alternatives. No exclusions or conditional usage advice is given, though the tool's purpose is clear.

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

get_my_realized_pnlA
Read-onlyIdempotent

Your realized P&L with LIVE (real broker) and PAPER (simulated) results STRICTLY segregated. Paper results carry the CFTC Reg. 4.41(b) hypothetical-performance disclaimer; they are never co-mingled with live results. Requires ALGOCHAINS_SUBSCRIBER_KEY.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior4/5

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

Beyond annotations (readOnlyHint, idempotentHint), the description adds critical behavioral context: results are segregated with a legal disclaimer, and authentication is required. It elaborates on the return structure and compliance, which annotations alone do not provide.

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

Conciseness5/5

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

The description is two sentences, front-loading the core purpose and key feature (segregation) in the first sentence. Every sentence serves a purpose: stating function, legal disclaimer, and requirement. No fluff.

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

Completeness4/5

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

Given zero parameters, no output schema, and rich annotations, the description provides adequate context: the output includes separate live and paper P&L with a legal disclaimer. It could mention output format, but the key behavioral aspects are covered.

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

Parameters4/5

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

The input schema has zero parameters, and schema coverage is 100%. The description does not add parameter details because none exist. Baseline score of 4 applies as there is no need for additional param info.

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

Purpose5/5

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

The description clearly states it returns the user's realized P&L with strict segregation of live and paper results. It uses specific language ('LIVE', 'PAPER', 'STRICTLY segregated') and distinguishes from siblings by focusing on realized P&L segregation.

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

Usage Guidelines4/5

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

The description explains when to use the tool (to get realized P&L with segregation) and includes a prerequisite (requires ALGOCHAINS_SUBSCRIBER_KEY). It does not explicitly mention alternative tools or when not to use, but the purpose is specific enough to guide selection.

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

get_my_referralsA
Read-onlyIdempotent

Return the authenticated subscriber's referral summary: their referral code, count of subscribers referred, and commission counts + sums by status. Requires ALGOCHAINS_SUBSCRIBER_KEY.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds the significant behavioral detail of requiring the ALGOCHAINS_SUBSCRIBER_KEY auth, which goes beyond the annotations. No contradictions.

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

Conciseness5/5

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

The description is extremely concise: two sentences that pack essential information (purpose and prerequisite) without any wasted words. Front-loaded with the action verb and resource.

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

Completeness5/5

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

Given no parameters and no output schema, the description fully covers what the agent needs: what the tool returns and the required authentication. No gaps remain.

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

Parameters4/5

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

The input schema has zero parameters (100% coverage by default). The description adds value by listing the return fields (referral code, count, commission statuses), providing meaning beyond the empty schema.

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

Purpose5/5

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

The description clearly states the tool's function: returning the authenticated subscriber's referral summary, including referral code, referred count, and commission details. This is specific and distinguishes it from sibling tools like 'get_referral_earnings'.

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

Usage Guidelines4/5

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

The description mentions a required API key ('Requires ALGOCHAINS_SUBSCRIBER_KEY'), providing a prerequisite. However, it does not explicitly state when to use this tool over alternatives or exclude use cases, but the context is clear.

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

get_my_usageA
Read-onlyIdempotent

Your current-month MCP API usage: total metered calls, included quota, overage calls, overage cost (USD), and a projected month-end overage cost. Read-only; reflects this subscriber's billing tier. Requires ALGOCHAINS_SUBSCRIBER_KEY.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and idempotentHint; the description adds the key requirement and clarifies it reflects the subscriber's billing tier, providing useful behavioral context beyond the annotations without contradicting them.

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

Conciseness5/5

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

Two succinct sentences: first lists all returned fields, second adds read-only nature and key requirement. No filler, front-loaded with the most critical information.

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

Completeness4/5

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

For a parameterless tool with no output schema, the description adequately covers the output content and authentication requirement; however, it could mention that the data is per subscriber or clarify any time-bound aspects, though not strictly necessary.

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

Parameters3/5

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

Input schema has no parameters, and schema coverage is 100%, so the description naturally adds no parameter info; baseline score of 3 is appropriate as the description is not expected to elaborate further.

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

Purpose5/5

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

The description explicitly lists the specific usage metrics returned (total metered calls, included quota, overage calls, overage cost, projected month-end overage cost), clearly distinguishing it from other get_* tools by focusing on billing and subscription usage.

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

Usage Guidelines4/5

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

It states the tool is read-only and requires ALGOCHAINS_SUBSCRIBER_KEY, implying access control; however, it does not explicitly contrast with tools like get_pricing or get_subscriber_status, leaving room for slightly clearer guidance on when to use this specific tool.

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

get_onboarding_statusA
Read-onlyIdempotent

Check current onboarding progress: steps completed, steps remaining, connected brokers/providers, AlgoChains API key status, guardrail prefs, and next required action.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true. The description aligns and adds valuable context about what status details are returned (steps, brokers, API key, guardrails, next action), enhancing transparency beyond the annotations.

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

Conciseness5/5

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

The description is a single sentence that is front-loaded with the main purpose ('Check current onboarding progress') and lists specifics concisely. No unnecessary words.

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

Completeness4/5

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

Given no parameters and no output schema, the description adequately covers what the tool returns conceptually. It lists key components but could be more structured. Still, it provides sufficient context for a read-only status tool.

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

Parameters4/5

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

The tool has zero parameters and schema coverage is 100%. With no parameters to document, the description naturally adds no parameter info, but the baseline for 0 params is 4. No issues.

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

Purpose5/5

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

The description clearly states the tool checks onboarding progress and lists specific items (steps, brokers, API key, guardrails, next action). It distinguishes from siblings like 'start_onboarding' and other getters by focusing uniquely on onboarding status.

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

Usage Guidelines3/5

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

The description implies usage for checking progress but does not explicitly mention when not to use or provide alternatives. Among siblings, 'start_onboarding' and 'set_guardrail_preferences' exist, but no reference is made. Guidelines are implied rather than stated.

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

get_onyx_statusA
Read-onlyIdempotent

Check Onyx knowledge base status: health, last sync time, total indexed documents, connector status (self-hosted host via ONYX_API_URL).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, which the description supports. It adds value by specifying the returned fields and the environment variable (ONYX_API_URL) for self-hosted setups, providing useful behavioral context beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, compact sentence that front-loads the purpose ('Check Onyx knowledge base status') and lists key output fields. No extra words, making it highly efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Without an output schema, the description stands on its own, clearly stating what the tool returns. It covers the main aspects (health, sync, indexed docs, connector status) and environment context. Minor omission: does not specify if status is real-time or cached, but acceptable for a simple status check.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters exist, so schema coverage is trivially 100%. Per calibration, 0 params baseline is 4. The description does not need to add parameter info.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool checks Onyx knowledge base status and enumerates specific fields returned (health, last sync time, total indexed documents, connector status), distinguishing it from sibling tools like onyx_ask (query), onyx_search (search), and run_onyx_ingest (ingestion).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for checking status but does not explicitly state when to use this tool versus alternatives. Given many sibling tools, explicit guidance on when to choose this over others would improve clarity.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_openclaw_memoryB
Read-onlyIdempotent

Read the OpenClaw agent memory store. Contains trade lessons, regime history, signal quality scores, and cross-session agent context. Filter by key_prefix (e.g. 'trade', 'regime', 'bot') to narrow results.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
key_prefixNoOptional prefix filter on memory keys

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and idempotentHint. The description adds content details (trade lessons, regime history, etc.), providing useful context beyond annotations. However, it does not disclose traits like pagination behavior or response format.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise, front-loaded sentences with no redundancy. Efficiently communicates purpose, contents, and filtering option.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Lists contents partially but lacks details on output structure (e.g., key-value format, pagination). With no output schema, more contextual clues would help, but the description is minimally adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 50% (key_prefix has description, limit does not). Description gives examples for key_prefix, adding value, but does not explain limit despite its default value and integer type.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it reads the OpenClaw agent memory store, listing specific contents. While distinct from siblings like get_openclaw_state_summary by name, it does not explicitly differentiate from them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives or when not to use it. Only implies reading and filtering, no explicit context for decision-making.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_openclaw_state_summaryA
Read-onlyIdempotent

Get existence, size, and last-modified time for all OpenClaw state files (memory, regime, heartbeat, monitor, evaluations, AI cost, calibration). Use to verify OpenClaw is healthy and its state files are current.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds value by disclosing exactly what data is returned (existence, size, last-modified time for seven specific state files) and the health-check purpose, going beyond the 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the action and resource, and contains no unnecessary words. Every sentence serves a purpose: stating what the tool gets and why to use it.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no parameters, no output schema, and annotations covering safety, the description provides enough context: it lists the specific state files and the health-check use case. However, it could mention that the output is a summary object or indicate typical response size, but it is sufficient for a simple read-only tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has zero parameters, and schema description coverage is 100%. Per guidelines, a zero-parameter tool gets a baseline of 4. The description adds no parameter info, but none is needed; the baseline applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Get' and the resource 'existence, size, and last-modified time for all OpenClaw state files', and specifies the purpose: 'verify OpenClaw is healthy'. This distinguishes it from sibling tools like 'get_openclaw_memory' which targets a single state file.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says 'Use to verify OpenClaw is healthy and its state files are current', providing clear context for when to use the tool. However, it does not mention when not to use it or name alternative tools for more detailed checks, so it lacks exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_ordersA
Read-onlyIdempotent

broker_truth / live ops — working/open/closed orders from a connected broker. Use for 'working orders', 'pending orders'. Do NOT use web search.

ParametersJSON Schema
NameRequiredDescriptionDefault
brokerYes
statusNoFilter: open, closed, all

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds value beyond annotations by disclosing that data comes from a live broker connection (prerequisite implied) and represents real operational truth rather than simulated data, which meaningfully informs agent expectations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded, with the core purpose stated first and usage/exclusion guidance in short follow-ups. The 'broker_truth' label is cryptic jargon and the web-search exclusion is slightly odd, but every sentence earns its place and there is no fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple 2-parameter read-only tool with strong annotations and no output schema, the description covers the essential ground: what is returned, the data source, the prerequisite (connected broker), and typical use cases. Minor gaps remain around broker parameter semantics and return-format/error behavior when no broker is connected.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 50%, and the description partially compensates: it reinforces the status param's meaning ('working/open/closed' mirrors the schema's 'open, closed, all' filter) and ties the broker param to a connected broker. However, the required broker param still lacks format/value semantics (e.g., is it an ID from get_connected_brokers?), and the description does not fully make up for the coverage gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the resource (orders), the scope (working/open/closed), and the data source (a connected broker, 'broker_truth / live ops'). This differentiates it from sibling order-adjacent tools like get_positions, get_account, and backtest tools, though it relies on the telegraphic 'broker_truth' jargon rather than stating a full sentence with an explicit verb.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit when-to-use guidance ('Use for working orders, pending orders') and an explicit exclusion ('Do NOT use web search'). It does not name a specific alternative tool for other order-related queries (e.g., historical order data), so the routing guidance is clear but not complete.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_password_policyA
Read-onlyIdempotent

Return the current password policy requirements for AlgoChains accounts.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds no behavioral context beyond what annotations already provide (readOnlyHint, idempotentHint, destructiveHint). It does not mention rate limits, authentication needs, or side effects. Since annotations already cover safety, the description adds minimal value.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One clear sentence with no unnecessary words. Perfectly concise and front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has no parameters and no output schema, the description is adequate. It could mention that it returns requirements without side effects, but the annotations partially cover that. Overall, it is complete enough for an agent to understand usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has no parameters and schema coverage is 100% (trivially). With zero parameters, the baseline is 4. The description does not need to add parameter information.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Return the current password policy requirements for AlgoChains accounts', using a specific verb and resource that distinguishes it from all sibling tools, which are mostly about different resources.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool is used to check password policy requirements, but it does not explicitly state when to use it or mention any alternatives. Given the unique purpose, the lack of explicit guidance is acceptable but not excellent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_polymarket_high_volumeA
Read-onlyIdempotent

List highest 24h-volume Polymarket markets right now (real Gamma API). Useful for Roo-style early YES/NO flow and liquidity discovery.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, so the safety profile is clear. The description adds value by noting 'right now' (real-time data) and 'real Gamma API' (source), but does not provide additional behavioral details like pagination or rate limits beyond what annotations cover.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences long with no filler. The first sentence front-loads the action and target, the second provides usage context. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple schema (one optional parameter) and no output schema, the description provides sufficient context for a basic read tool. It explains what data is returned (highest volume markets) and when to use it. However, it omits details about output structure or how results are ordered, which could be inferred from the description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The only parameter, 'limit', has a default value of 20 but no description in the schema (0% coverage). The tool description does not mention the parameter at all, leaving the agent to infer its meaning from the name alone. This is a significant gap for parameter understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'List', the resource 'Polymarket markets', and the specific filter 'highest 24h-volume'. It distinguishes itself from sibling tools like list_polymarket_markets and search_prediction_markets by focusing on volume-based ranking. The mention of 'real Gamma API' adds credibility.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit usage context: 'Roo-style early YES/NO flow and liquidity discovery.' This tells the agent when this tool is beneficial. However, it does not explicitly state when not to use it or name alternative tools, though the purpose implies alternatives for non-volume-based queries.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_polymarket_marketA
Read-onlyIdempotent

Fetch detailed info for a specific Polymarket market by condition ID or event slug. Returns question, YES/NO prices, volume, liquidity, resolution date, and status. More precise than search — use when you have a specific market ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
market_id_or_slugYesPolymarket condition ID (hex) or event slug (e.g. 'will-fed-cut-rates-in-june-2025')

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and no destructiveness. Description adds behavioral details on returned fields (question, prices, volume, etc.) and confirms safe read operation. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences that immediately state purpose and usage context. No extraneous information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given simplicity (one param, read-only, no output schema), description covers purpose and return values adequately. Could mention data freshness, but not critical.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description for the single parameter is already comprehensive (hex or slug with example). Description reiterates this without adding new semantics beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it fetches detailed info for a specific Polymarket market using condition ID or event slug. Lists returned fields and explicitly distinguishes from search tool, making purpose and differentiation clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says to use when you have a specific market ID and contrasts with search as more precise. Does not list exclusions or alternative tools, but context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_polymarket_market_historyA
Read-onlyIdempotent

Get historical YES price data for a specific Polymarket market. Returns timestamped price series. Accepts slug, Gamma numeric ID, or CLOB token ID — auto-resolves. Useful for charting probability movement, analyzing market efficiency, and detecting smart money flow timing.

ParametersJSON Schema
NameRequiredDescriptionDefault
timeframeNo1d=10min candles, 7d=1h candles, 30d/all=daily candles7d
market_id_or_slugYesPolymarket slug, numeric Gamma ID, or CLOB YES token ID

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, non-destructive. Description adds valuable behavioral details: multiple accepted ID types (slug, Gamma ID, CLOB token) and auto-resolution. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no wasted words. Front-loaded with primary action, followed by parameter detail and use cases. Highly efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 2-parameter tool with no output schema, description covers main functionality, ID resolution, and use cases. Could specify exact output format (e.g., array of {timestamp, price}) but still fairly complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers 100% of parameters. Description adds meaning to market_id_or_slug by explaining it accepts three formats and auto-resolves. Timeframe parameter refers to schema description for candle intervals, but overall adds value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states verb 'Get', resource 'historical YES price data', and scope 'for a specific Polymarket market'. Distinguishes from sibling tools like get_polymarket_market by focusing on history and price series.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit use cases: charting, efficiency analysis, smart money flow timing. Lacks explicit when-not-to-use or alternatives, but context is clear enough.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_positionsA
Read-onlyIdempotent

broker_truth / live ops — open positions from a connected broker (flat check, exposure, unrealized P&L only). Use for 'am I flat', 'open positions', 'exposure'. Do NOT substitute web search or memory. unrealized_pnl ≠ realized session P&L.

ParametersJSON Schema
NameRequiredDescriptionDefault
brokerYes

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare the safety profile (readOnly, idempotent, non-destructive, openWorld). The description adds real behavioral value beyond that: the data is live broker truth rather than cached or memory-derived, and it warns about the common unrealized-vs-realized P&L confusion. It does not cover error behavior when no broker is connected, but the annotations lower the burden and this is a minor gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three compact sentences with the core truth-value and scope front-loaded before usage guidance and exclusions. The 'broker_truth / live ops' tags are slightly cryptic but efficient. No wasted words; every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a low-complexity tool (1 param, no output schema, no nested objects), the description covers purpose, output content (flat/exposure/unrealized P&L), usage triggers, and key semantic pitfalls. The main completeness gap is the broker parameter semantics, which was already penalized under parameter semantics.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for the undocumented broker parameter — it does not. 'From a connected broker' implies the value must reference an established connection, but it never specifies the expected format, where valid values come from (e.g., get_connected_brokers), or what happens with an invalid/unconnected broker. The description leaves the sole required parameter underspecified.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a precise resource ('open positions from a connected broker') with an explicit scope ('flat check, exposure, unrealized P&L only'). The 'broker_truth / live ops' tag pins down the data domain, and the explicit exclusion of realized P&L distinguishes it from tools like get_my_realized_pnl. Purpose is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives concrete trigger phrases ('Use for "am I flat", "open positions", "exposure"') and explicit exclusions ('Do NOT substitute web search or memory', 'unrealized_pnl ≠ realized session P&L'). It doesn't name specific sibling tools as alternatives, but the usage boundaries it sets are strong enough to route an agent correctly.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_prediction_market_bot_metricsA
Read-onlyIdempotent

Read recent JSONL metric entries for a prediction-market bot_id from the local audit log.

ParametersJSON Schema
NameRequiredDescriptionDefault
bot_idYes
max_linesNo

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate read-only, idempotent, and non-destructive behavior. The description adds context about the data format (JSONL) and source (local audit log), but does not explain what 'recent' means or any output details.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence with no filler. Every word adds value, clearly conveying the tool's purpose and scope.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only tool with two parameters and no output schema, the description is mostly complete. It identifies the resource and source, but lacks definition of 'recent' and details about the returned data format.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description bears the burden. It only implies the 'bot_id' parameter but does not explain 'max_lines' or its default value. No parameter details are provided beyond the schema itself.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Read'), the specific resource ('JSONL metric entries'), the scope ('recent'), and the source ('local audit log'). It distinguishes this tool from siblings like 'get_all_bot_metrics' (all bots) or 'get_live_bot_metrics' (live data).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus its siblings (e.g., 'get_all_bot_metrics', 'get_live_bot_metrics'). It lacks explicit when-not-to-use or alternative recommendations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_prediction_marketsA
Read-onlyIdempotent

Fetch real prediction market probabilities from Polymarket and Kalshi for macro events (Fed rate decisions, election outcomes, economic releases). Derives equity market signals from contract odds.

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryNoall
min_volumeNo

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate a safe read-only, idempotent, non-destructive tool. The description adds value by revealing that the tool 'derives equity market signals from contract odds,' which is a behavioral trait beyond simple fetching. However, it could disclose potential rate limits or pagination behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two focused sentences: first states the primary action and scope, second adds the derivation aspect. No redundant words. The description is front-loaded and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

While the description covers sources and purpose, it lacks details about the output format (e.g., what the 'derived equity signals' look like). With no output schema, the description should at least outline the response structure or key fields to ensure complete understanding.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description carries full burden for parameter meaning. It only hints at the 'category' parameter through examples (Fed, elections) but does not explicitly map enum values or explain 'min_volume'. Key information about default values and parameter roles is missing.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's verb 'Fetch', resource 'real prediction market probabilities', and specific scope including sources (Polymarket, Kalshi) and event types (macro events like Fed decisions, elections). This distinguishes it from siblings like get_polymarket_market (which targets specific markets) and search_prediction_markets (which searches broadly).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies use for macro event probabilities but provides no explicit when-to-use or when-not-to-use guidance. It does not differentiate from alternatives like get_macro_signals or get_fed_policy_signals, which could cause confusion. Given multiple siblings, explicit usage context is needed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_pricingA
Read-onlyIdempotent

Transparent AlgoChains pricing: paper ($29/mo) and live ($99/mo) tiers, what's included, usage overage, the 20%/3-month referral reward, and the 80% creator revenue share. Flat subscription + usage; no performance fees. No auth required.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Description adds valuable context beyond annotations: 'No auth required', 'Flat subscription + usage; no performance fees'. This supplements the readOnlyHint and idempotentHint annotations, providing a clear picture of the tool's behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loading the core purpose. Each phrase adds value; no fluff. Extremely concise for the amount of information conveyed.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite no output schema, the description fully covers what the tool returns: pricing tiers, overage, referral reward, revenue share. No missing details for a pricing info tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters exist, so baseline is 4. Description does not need to explain parameters; it compensates by detailing the information returned.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it provides 'Transparent AlgoChains pricing' and enumerates specific details (tiers, overage, referral reward, revenue share). This distinguishes it from sibling tools like get_subscriber_status or get_account, which 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.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implicitly indicates its use for obtaining pricing information before subscription. However, it lacks explicit guidance on when to use this tool versus alternatives, such as when to check subscriber status or account details.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_protection_configA
Read-onlyIdempotent

View current account protection settings including daily loss limits, drawdown thresholds, position size caps, VIX killswitch levels, and max positions.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint. The description adds value by explicitly listing the settings included, but does not disclose additional behavioral traits beyond what annotations provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that is front-loaded with the main purpose and efficiently lists the settings without any fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description compensates by listing the categories of settings included. It is fairly complete for a view settings tool, though it could mention the response format.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters exist (0 params), and schema coverage is 100%. The description does not need to add parameter meaning; baseline 4 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'View' and the resource 'current account protection settings', listing specific components (daily loss limits, drawdown thresholds, etc.). It is distinct from siblings by specifying protection settings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when needing to view protection settings but provides no explicit guidance on when to use this tool versus alternatives or any exclusions. No siblings are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_quant_regime_stateA
Read-onlyIdempotent

Aggregate shadow-only quant regime telemetry from bot_metrics_live and state/quant_shadow_snapshot.json: GARCH status, OFI intensity, Kalman shadow slope, HMM regime status, and 7-day agreement summary when available. Does not compute models.

ParametersJSON Schema
NameRequiredDescriptionDefault
bot_idNoOptional bot id: mnq, cl, mes, nq

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint. Description adds behavioral context by listing data sources and affirming no model computation, which is consistent and adds value beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences, front-loaded with purpose. No unnecessary words. Every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, so description compensates by listing the data components (GARCH, OFI, Kalman, HMM, agreement summary) and mentioning 'when available'. This provides sufficient context for an agent to understand expected return structure.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for the single optional parameter bot_id. Description does not add any additional meaning beyond what the schema provides, meeting baseline but not exceeding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clear verb 'aggregate' and specific resource 'quant regime telemetry' from named sources. Explicitly states it does not compute models, distinguishing it from sibling regime detection tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implies it's for reading pre-computed regime state without running models, but does not explicitly state when to use this vs alternatives like get_current_regime or detect_market_regime. No exclusions or when-not guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_quoteA
Read-onlyIdempotent

broker_truth / live ops — right-now bid/ask/last for a symbol from a connected broker. Use for 'MNQ price right now' / live quote. Do NOT scrape CME/Yahoo via web search. For historical OHLCV bars use data/backtest tools.

ParametersJSON Schema
NameRequiredDescriptionDefault
brokerYes
symbolYes

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, destructiveHint=false, so the agent knows it's safe and idempotent. The description adds that it requires a connected broker, must hit the broker's live feed, and is the 'right-now' source of truth. Minor gap: no mention of real-time latency or potential unavailability if broker disconnected.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tightly packed sentences with zero filler. Front-loaded behavior, then use-case examples, then exclusions/alternatives. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Complete for a low-complexity tool with 2 params and no output schema. It covers the data source, the when-to-use and the alternatives. Only small gap is return-shape expectations (e.g., does it return raw or normalized quote?), but this is a simple quote tool and annotations cover safety.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, but the description explains 'broker' and 'symbol' context by indicating it queries a connected broker for a symbol. It doesn't specify valid broker identifiers or symbol formats, but it does add enough context that the agent understands what these parameters represent.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb+resource ('get_quote' for right-now bid/ask/last from a connected broker) and explicitly contrasts it with historical bar tools, making it distinguishable from siblings. It also gives concrete example phrases like 'MNQ price right now'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description states when to use it ('live quote', 'right-now bid/ask/last'), and explicitly says not to use web search scraping of CME/Yahoo. It also points to data/backtest tools for historical OHLCV bars, giving clear routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_referral_earningsA
Read-onlyIdempotent

Return total referral earnings (pending + paid commission_usd) for the authenticated subscriber, with the 20%/3-month policy and compliance disclaimer. Requires ALGOCHAINS_SUBSCRIBER_KEY.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint and idempotentHint, so the tool is safe. The description adds context about the policy (20%/3-month) and compliance disclaimer, which goes beyond the annotations and informs the agent of behavioral traits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the purpose and key result, then the auth requirement. No extraneous information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no parameters and no output schema, the description provides sufficient context: what it returns, the policy, and auth requirement. Could specify return format but is complete enough for this simple tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has no parameters, so schema coverage is trivially 100%. Per guidelines, baseline for 0 params is 4. The description does not need to explain parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Return' and the resource 'total referral earnings' with specifics about pending and paid commission_usd, and mentions the policy. This distinguishes it from sibling tools like 'get_my_referrals'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions the required authentication key but does not explicitly instruct when to use this tool vs alternatives. Usage is implied by the name and description, but no exclusions or alternatives are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_signal_trade_correlationA
Read-onlyIdempotent

Read-only signal->trade traceability audit. Joins signals_trace to trade_log and returns NULL-rate KPIs (fill_id_coverage, placed_price_coverage, bracket intent nulls, P&L gap, per-column null rates). Thin wrapper over the control-tower correlation-audit script (runs --json --no-slack) — does not post to Slack. Defaults to filled-only rows so unfilled signal-only rows do not inflate fill-stage NULL rates.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of recent signals_trace rows to scan (default 50).
actionNosignals_trace action filter (default submitted).submitted
filled_onlyNoRestrict KPIs to rows with fill evidence (default true, matches the daily launchd run).

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, non-destructive. The description adds that it defaults to filled-only rows and does not post to Slack, which are useful behavioral details beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences, front-loaded with the core purpose, and every sentence adds value without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description provides enough detail for an agent to understand the tool's function and output, including specific KPIs. No output schema, but the description lists the key metrics returned.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with clear descriptions for all 3 parameters. The description doesn't add new semantic meaning beyond confirming default values, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it is a read-only audit joining signals_trace to trade_log, returning specific NULL-rate KPIs. It distinguishes itself from sibling tools like bracket_integrity_check by specifying signal->trade traceability.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

While it doesn't explicitly list when to use or alternatives, it mentions it is a thin wrapper over a specific script and that it does not post to Slack, providing context on its non-intrusive nature.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_skill_detailA
Read-onlyIdempotent

Get the full SKILL.md content and metadata for any skill by name (e.g. 'moltbook-debate', 'bot-diagnostics', 'autonomous-researcher', 'backtest-governance'). Returns complete instructions, tool requirements, trigger conditions, and schedule. Use list_skills or search_skills to discover skill names.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesSkill name (exact or partial match)

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate read-only, idempotent, non-destructive behavior. The description adds valuable context about the return content (instructions, requirements, triggers, schedule), which goes beyond structured fields.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three concise, well-structured sentences. Front-loaded with purpose, then output details, then usage guidance. No filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple retrieval tool with one parameter and no output schema, the description fully captures what the tool does, what it returns, and how to use it appropriately.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers 100% of parameters with description 'Skill name (exact or partial match)'. The description enriches this by listing example names and explaining what metadata is returned.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it retrieves the full SKILL.md content and metadata for a named skill, with specific examples. It distinguishes from list_skills and search_skills by directing users to those for discovery.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly advises using list_skills or search_skills to discover skill names before calling this tool, providing clear when-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_skills_for_taskA
Read-onlyIdempotent

Given a task description in plain language, return the 3-5 best skills to use. Matches your task against skill descriptions across all platforms. Use when you do not know which skill to call.

ParametersJSON Schema
NameRequiredDescriptionDefault
task_descriptionYesNatural language description of what you need to do

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is clear. The description adds value by stating the output count (3-5) and matching scope, though it doesn't mention edge cases like no match.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no wasted words. Front-loaded with action and output, followed by usage guidance. Highly efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers input, output, matching logic, and usage condition. No output schema but output is simple. Missing mention of behavior when no skills match, but not critical for a read-only recommendation tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single parameter is fully described in the schema (100% coverage). The description restates the natural language input but adds no new semantic detail beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly specifies the tool's function: given a task description, return 3-5 best skills by matching across all platforms. It distinguishes itself from siblings like search_skills by providing recommendations when uncertain.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use: 'Use when you do not know which skill to call.' This provides clear guidance on choosing this tool over alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_staking_yieldsB
Read-onlyIdempotent

Get real staking APY from Lido Finance (stETH), Binance Simple Earn, Cosmos validators, and Ethereum Beacon Chain. Compares yield opportunities across protocols.

ParametersJSON Schema
NameRequiredDescriptionDefault
protocolsNo

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate read-only, idempotent, open-world behavior. The description adds the context that it compares yields, which is useful but does not disclose additional behavioral traits like data freshness or retrieval method.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences, front-loaded with the primary action and resource, followed by the comparison feature. No redundant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the tool's purpose and the included protocols but misses telling the agent that the 'protocols' parameter can be used to filter, and does not hint at the output format (e.g., list of APY values) since no output schema exists.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has one parameter ('protocols') with 0% schema description coverage. The description does not mention the parameter at all, leaving the agent unaware that it can filter by protocols or that a default list exists.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Get') and the specific resources ('staking APY from Lido Finance, Binance Simple Earn, Cosmos validators, and Ethereum Beacon Chain'). It distinguishes from siblings by listing explicit protocols and the comparison function.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for comparing yield opportunities across staking protocols but does not provide explicit guidance on when to use this tool versus alternatives, such as other data retrieval tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_startedA
Read-onlyIdempotent

START HERE. Guided next-steps for a brand-new user, by goal. No auth, no setup. Call get_started(goal='subscriber') for copy-trade signals, 'creator' to publish a strategy, 'developer' to build on the API, or 'explore' to look around with zero signup. Returns the exact tool calls to make next.

ParametersJSON Schema
NameRequiredDescriptionDefault
goalNosubscriber | creator | developer | explore (optional — omit for a menu)

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds that it returns 'the exact tool calls to make next', providing behavioral context beyond annotations. No contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with 'START HERE'. Every sentence adds value: purpose, auth/setup note, goal examples, and return value. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity, no output schema, and no nested objects, the description covers everything: what it does, when to use it, its parameters, and return value. It is complete for an agent to select and invoke correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% for one optional parameter. The description adds meaning by listing the four goal values ('subscriber', 'creator', 'developer', 'explore') and explaining the behavior when omitted ('omit for a menu'). This adds significant value beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it is the starting point for new users, providing guided next-steps by goal. It specifies the verb 'get started' and the resource 'guided next-steps', distinguishing it from the many sibling tools by being the onboarding entry point.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says 'No auth, no setup' and gives goal examples. It implies usage for brand-new users and that after calling it, the returned tool calls should be used. It doesn't explicitly mention when not to use it, but the context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_strategy_academic_citationsA
Read-onlyIdempotent

Get all academic citations, SSRN papers, and published works that provide the theoretical basis for a specific bot's strategy. Includes authors, year, venue, DOI/SSRN link, and relevance explanation. Bot IDs: mnq, cl, mes, nq.

ParametersJSON Schema
NameRequiredDescriptionDefault
bot_idYesBot identifier: mnq | cl | mes | nq

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and idempotentHint=true. Description adds what is returned (authors, year, venue, etc.) but no additional behavioral traits like auth requirements or response structure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three concise sentences: purpose, included fields, bot IDs. No unnecessary text. Information is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read tool with no output schema, the description fully explains what is returned and what parameter values are valid. No gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with enum descriptions. Description lists bot IDs but doesn't add meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it retrieves academic citations for a bot's strategy, listing included fields (authors, year, venue, link, relevance) and specific bot IDs. Distinguishes from sibling tools like get_bot_health or get_bot_card_data.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use or not use this tool versus alternatives. Lacks context about prerequisites or situations where this tool is appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_subscriber_statusA
Read-onlyIdempotent

Return a full status snapshot for the authenticated subscriber: which bots they're assigned to, paper account balance, key_active flag, and suggested next_steps based on their current state. Good first call after setting ALGOCHAINS_SUBSCRIBER_KEY. Requires ALGOCHAINS_SUBSCRIBER_KEY to be set.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds valuable behavioral context by specifying the contents of the status snapshot and the prerequisite key, going beyond what annotations provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two efficient sentences: first states purpose and deliverables, second gives usage timing and prerequisite. No unnecessary words, front-loaded with action.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite no output schema, the description covers the key output fields and prerequisite. For a simple tool with no inputs, this is complete and tells the agent everything needed to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters in input schema (0 params, 100% coverage). The description adds meaning by noting the prerequisite environment variable (ALGOCHAINS_SUBSCRIBER_KEY) that must be set, which is not a parameter but useful context.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Return') and clearly identifies the resource ('full status snapshot for the authenticated subscriber'). It explicitly lists the fields included (bots, paper account balance, key_active flag, suggested next_steps), distinguishing it from sibling tools like get_account or get_system_health.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

States it is the 'Good first call after setting ALGOCHAINS_SUBSCRIBER_KEY' and explicitly mentions the prerequisite ('Requires ALGOCHAINS_SUBSCRIBER_KEY to be set'). Does not explicitly compare with alternatives, but the context is clear enough.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_system_healthA
Read-onlyIdempotent

Run the trading-system-health audit: bot process/log liveness (with legacy log alias resolution), disk space on control-tower and home volumes, and optional health_snapshot.json. Use to triage SEV1 trading-system-health watchdog alerts without false inactive signals from stale cl_bot_live.log.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, non-destructive. The description adds behavioral details like legacy log alias resolution and avoiding stale signals, which is useful context beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no wasted words. The first describes the action, the second gives usage guidance. Front-loaded with key information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no parameters, rich annotations, and clear behavior description, the description is fully adequate. It covers purpose, usage, and special cases, leaving no ambiguity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has no parameters, so there is nothing to document. Schema coverage is effectively 100%, and the description does not need to add parameter info. Baseline is high.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it runs a trading-system-health audit, listing specific checks (bot process/log liveness, disk space, optional health snapshot). It distinguishes from siblings by referencing SEV1 watchdog alerts and handling stale log files, making the tool's purpose very specific and differentiated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says to use for triaging SEV1 trading-system-health watchdog alerts, providing clear context. It does not explicitly list when not to use or alternatives, but the specificity makes up for it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_system_heartbeatA
Read-onlyIdempotent

Check whether this MCP server node is the primary trader (MacBook offline) or standby (MacBook alive). Reads the Mac heartbeat file to determine heartbeat age, Mac liveness, desktop bot process counts (expected 5: MNQ/CL/MES/NQ + Kalshi), and which node is currently running the bots. Critical for dual-node failover awareness.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the tool is safe. The description adds behavioral details: it reads the Mac heartbeat file, checks process counts with expected values (5), and determines liveness. This adds context beyond 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences, front-loaded with the main purpose, and every sentence adds value. No fluff or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description should explain return values. It lists what the tool determines (heartbeat age, liveness, process counts, active node), which gives a good idea of the output. However, it could be more explicit about the return format, so not a 5.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are zero parameters, so schema coverage is 100%. The description naturally does not need to add parameter info; baseline is 4 for no parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: checking whether the MCP server node is primary or standby by reading a heartbeat file. It specifies exactly what it determines (heartbeat age, Mac liveness, bot process counts, active node) and uses a specific verb-resource pair, distinguishing it from siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description includes 'Critical for dual-node failover awareness,' which clearly indicates the context for use. While it does not explicitly mention alternatives or when not to use it, the guidance is sufficient for a monitoring tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_system_statusA
Read-onlyIdempotent

Consumer-facing platform health: version, live signal-bot roster (MNQ/CL/MES/NQ), tool count, and public marketplace listing count. No auth, no secrets — safe to call anytime.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint and idempotentHint. The description adds that the tool is consumer-facing, requires no auth, and contains no secrets, giving additional context beyond annotations. It does not contradict annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is one sentence with a clear, front-loaded enumeration of return values. Every word adds value, with no redundancy or waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple status tool with no parameters or output schema, the description adequately explains what the tool returns. It could mention potential error conditions or structure of the response, but it is complete enough for its simplicity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has zero parameters, so schema description coverage is 100%. The description adds no parameter info but lists the return values, which compensates for the lack of parameters. Baseline for 0 params is 4.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns consumer-facing platform health including version, signal-bot roster, tool count, and public marketplace listing count. It uses a specific verb and resource, distinguishing it from sibling tools that focus on other aspects like system health or account info.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states 'No auth, no secrets — safe to call anytime', indicating when to use this tool. However, it does not mention alternatives or when not to use it, such as for detailed health checks where get_system_health might be more appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_task_statusA
Read-onlyIdempotent

Get status and progress of a long-running MCP Task. Returns phase, progress percentage, result (when done), or error.

ParametersJSON Schema
NameRequiredDescriptionDefault
task_idYes

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=true, destructiveHint=false, and idempotentHint=true. The description adds context by listing returned fields (phase, progress, result, error), but does not disclose any additional behavioral traits beyond what annotations provide. It does not contradict annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that immediately states the purpose and includes key return values. There is no redundant or extraneous information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one parameter and no output schema, the description covers the essential information: what the tool does and what it returns. It could mention how to obtain a task_id (e.g., from submit_long_running_task), but this omission is minor.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has one parameter (task_id) with no description. Schema description coverage is 0%, but the description does not explain the parameter's format, origin, or constraints. This leaves the agent with insufficient information to correctly provide the task_id.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: 'Get status and progress of a long-running MCP Task.' It specifies the resource (MCP Task) and the action (getting status/progress), and lists what is returned (phase, progress, result, error). This distinguishes it from siblings that deal with other status types.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no explicit guidance on when to use this tool versus alternatives like get_tower_job_status or get_adaptive_brain_status. It implies use for 'long-running MCP Task' but does not define how to obtain a task ID or clarify prerequisites. There is no mention of when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_tool_detailsA
Read-onlyIdempotent

Get full details for a specific tool including its input schema, parameter types, and usage examples. Call after discover_tools to get the full spec before execution.

ParametersJSON Schema
NameRequiredDescriptionDefault
tool_nameYesExact tool name from discover_tools results

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint. Description adds that it returns 'input schema, parameter types, and usage examples', which goes beyond annotations. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences: first defines purpose and contents, second gives usage guidance. No wasted words, front-loaded with key information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With one parameter and no output schema, description covers what the tool returns (input schema, parameter types, usage examples). It also integrates with discover_tools, providing necessary context. Slightly lacking in describing response format but acceptable.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Only one parameter (tool_name) with schema description 'Exact tool name from discover_tools results'. Schema coverage is 100%, so description does not need to add much. It reinforces the source of the tool name.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description uses specific verbs ('Get full details') and resource ('specific tool'), and clearly distinguishes from sibling tools by mentioning 'after discover_tools'. It lists what is included: input schema, parameter types, usage examples.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says 'Call after discover_tools to get the full spec before execution', providing clear context for when to use. It implicitly suggests not to use before discovery, but does not list alternatives or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_tower_healthA
Read-onlyIdempotent

Check the configured compute node (ALGOCHAINS_TOWER_HOST) health: reachable, memory, active jobs, GPU status.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds behavioral context by listing the specific health aspects it checks (reachable, memory, active jobs, GPU status), which is beyond what annotations provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single 13-word sentence that is front-loaded with the primary verb and resource, and efficiently lists the key health metrics. Every word adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers purpose and key outputs without needing to explain return values since no output schema exists. It is adequate for a simple health check tool, though it could optionally detail output format or error behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters exist, so schema coverage is 100%. The description does not need to add parameter info. The mention of ALGOCHAINS_TOWER_HOST as a configuration indicates the scope without parameter guidance needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool checks the health of the configured compute node (ALGOCHAINS_TOWER_HOST) and lists specific metrics: reachable, memory, active jobs, GPU status. This distinguishes it from sibling health-check tools targeting different components.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for checking compute node health but provides no explicit guidance on when to use this tool versus alternatives like get_bot_health or get_system_health. No exclusions or context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_tower_job_statusA
Read-onlyIdempotent

Get status and result of a dispatched tower job. Polls the tower via SSH for the result file.

ParametersJSON Schema
NameRequiredDescriptionDefault
job_idYes

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, indicating a safe read operation. The description adds value by revealing the polling mechanism over SSH and the retrieval of a result file, which provides useful behavioral context beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences long, front-loaded with the core purpose, and every word contributes meaning. There is no redundancy or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one parameter, no output schema, and comprehensive annotations, the description adequately covers the action and mechanism. It could be improved by hinting at the return value structure, but it does not leave critical gaps given the tool's straightforward nature.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description does not explain the format or constraints of the job_id parameter beyond its name. While it implies job_id identifies a dispatched tower job, no additional semantics or validation hints are provided, which is insufficient for a tool with a single undocumented parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Get', the resource 'status and result of a dispatched tower job', and the method 'Polls the tower via SSH for the result file'. It distinguishes this tool from siblings like get_task_status by specifying 'tower job' and the polling mechanism.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage after job dispatch via 'polls for the result file' but does not explicitly state when to use this tool vs alternatives like get_task_status. No exclusions or alternative tools are mentioned, leaving room for ambiguity.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_us_economic_indicatorsA
Read-onlyIdempotent

Fetch US economic indicators from FRED (Federal Reserve Economic Data). Covers 16 key indicators: VIX, Fed Funds Rate, CPI, PCE, 10Y-2Y Treasury spread, unemployment, M2, GDP, housing starts, consumer sentiment. Requires FRED_API_KEY (free at fred.stlouisfed.org). Results cached 6h. Essential for regime detection across all bots.

ParametersJSON Schema
NameRequiredDescriptionDefault
use_cacheNoUse 6-hour local cache to avoid rate limits
categoriesNoFilter by category. Options: monetary_policy, rates, inflation, labor, growth, volatility, sentiment, housing. Omit for all.

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond annotations (read-only, idempotent), the description adds key behavioral context: the tool requires a FRED_API_KEY and caches results for 6 hours. This significantly informs agent decision-making without contradicting annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise (5 sentences) and front-loaded with the main action. Every sentence adds value: purpose, covered indicators, auth requirements, caching, and use case. No redundant or unclear phrasing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 2 optional parameters and no output schema, the description covers purpose, indicators, auth, caching, and use case. A minor gap is the lack of description for the return format, which would help agents parse results.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptive parameter comments for use_cache and categories. The description lists indicators that map to categories but does not add substantive meaning beyond the schema. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Fetch' and resource 'US economic indicators from FRED', lists 16 key indicators, and distinguishes itself from sibling tools by noting its essential role in regime detection across bots.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use (for broad macro coverage, regime detection) but does not explicitly exclude alternatives or name sibling tools for more specific needs like get_fed_policy_signals. It provides context on caching and API key requirements.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_vix_term_structureA
Read-onlyIdempotent

Get VIX term structure from real CBOE data: spot VIX, VIX3M, VIX6M contango/backwardation. High contango (>10%) is bullish for equities; backwardation signals fear. Returns regime: contango, backwardation, flat.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate safe, read-only, idempotent behavior. The description adds value by specifying that the tool returns a regime classification (contango, backwardation, flat), which informs the agent about the output format beyond the schema, enhancing transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with three sentences, starting with the core function and then adding interpretive context. Every sentence is informative and free of redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite lacking an output schema, the description covers the key return values (regime, spot, VIX3M, VIX6M) and provides enough context for the agent to use and interpret results. The annotations further assure safe usage, making the tool adequately specified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters are defined in the input schema, so the baseline is 4. The description does not need to add parameter semantics, and it correctly omits unnecessary detail.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves the VIX term structure from real CBOE data, specifying components like spot VIX, VIX3M, and VIX6M. This distinguishes it from other 'get' tools in the sibling list, which focus on different data sources or metrics.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides context on the meaning of contango/backwardation and their market implications, but does not explicitly state when to use this tool versus alternatives. There is no guidance on prerequisites or conditions for use, leaving usage somewhat implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_waitlist_statsA
Read-onlyIdempotent

Get waitlist aggregate statistics: total signups, by status, by broker interest.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true. The description adds no additional behavioral context beyond what annotations provide, such as rate limits or data freshness.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence that is front-loaded with the action and resource, and immediately details the output breakdown. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple stats retrieval tool with no output schema and well-covered annotations, the description provides sufficient detail about what statistics are returned (total signups, by status, by broker interest).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has zero parameters with 100% coverage. With no parameters to document, the description does not need to add parameter semantics, earning a baseline score of 4.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the verb 'Get' and the resource 'waitlist aggregate statistics', and specifies the breakdown by total signups, status, and broker interest. This distinguishes it from sibling tools that retrieve other types of data.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives. However, the purpose is straightforward and there are few competing tools for waitlist stats, so usage is implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

graphiti_healthA
Read-onlyIdempotent

Health probe for the Graphiti temporal knowledge-graph backend (Neo4j + graphiti-core, advisory/agent_memory). Reports provider, Neo4j URI, group_id, and reachability. Fails closed with graphiti_unavailable + recovery_command (per-host; not synced across machines).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate read-only, idempotent, non-destructive. The description adds valuable details: failure behavior (fails closed with error info) and per-host recovery command not synced across machines.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences: first defines purpose and scope, second details output and failure mode. No redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter health probe without output schema, the description adequately covers purpose, output fields, and error behavior. Minor omission: no mention of response format (e.g., JSON structure).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters exist; schema coverage is 100%. Baseline for 0 parameters is 4, and the description adds no param info (none needed).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it is a health probe for the Graphiti temporal knowledge-graph backend, listing specific reported fields (provider, Neo4j URI, group_id, reachability) and distinguishing it from generic health tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for checking Graphiti health but does not explicitly compare to sibling tools like get_tower_health or get_system_health, nor provide when-not-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ingest_csv_dataA
Idempotent

Ingest a user-provided CSV file of OHLCV market data into AlgoChains. Validates columns, parses rows, and stores in state/custom_data/. The data becomes available for backtesting via run_backtest(data_source='custom'). Requires real file on disk — no synthetic substitution.

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYesTicker symbol, e.g. 'MNQ', 'AAPL'.
columnsNoOptional mapping: canonical name -> CSV column header. E.g. {"open": "Open", "close": "Close"}.
file_pathYesAbsolute path to the CSV file.
timeframeYesBar timeframe, e.g. '1min', '5min', '1h', '1d'.
date_columnNoName of the date/timestamp column. Default: 'date'.
date_formatNostrptime format string. Default: '%Y-%m-%d %H:%M:%S'.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses validation, parsing, storage location (state/custom_data/), and file requirement. Annotations (idempotentHint=true, destructiveHint=false) align. Could mention error handling or size limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, zero waste. First sentence defines action, second provides critical context on data availability and requirement.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema, so description should explain side effects or return values. It states storage location but does not mention success/error feedback. However, annotations and schema provide moderate context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so description does not need to add much. It mentions optional column mapping and date defaults, but schema already has similar descriptions. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool ingests CSV OHLCV data, validates columns, parses rows, and stores it for backtesting. It distinguishes from sibling ingest_json_signals by specifying CSV and file requirement.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly mentions data becomes available for backtesting via run_backtest(data_source='custom') and requires a real file on disk with no synthetic substitution, guiding when to use it. No explicit alternatives but context is sufficient.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ingest_json_signalsA
Idempotent

Ingest a JSON file of pre-computed signals, ML features, labels, or regime tags into AlgoChains. Supports entry/exit signals, feature vectors, classification labels, and regime classifications. Data becomes available for ML training.

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYesTicker symbol the signals are for.
file_pathYesAbsolute path to the JSON file.
signal_typeYesType of signal data.

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide idempotent and non-destructive hints. The description adds that data becomes available for ML training, but does not disclose potential side effects like overwriting existing data or required permissions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no fluff. The first sentence front-loads the core action and resource, making it efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the main purpose and supported data types, but does not mention return values or error conditions. Given no output schema, this is a minor gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds value by explaining the meaning of each signal_type enum value, which is not fully detailed in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (ingest), the resource (JSON file of signals into AlgoChains), and the purpose (for ML training). It lists supported signal types, distinguishing it from other ingestion tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use the tool (for ingesting JSON signal data), but does not explicitly state when to use alternatives like 'ingest_csv_data' or provide exclusion criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

initiate_account_recoveryA
Idempotent

Start account recovery for users who cannot receive the reset email. Creates a support ticket and provides recovery instructions.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYes
reasonNolost_email_access
contact_infoNoAlternate contact (phone or backup email)

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate readOnlyHint=false (writes) and openWorldHint=true (side effects). The description says it creates a support ticket and provides instructions, which is transparent. However, it does not elaborate on side effects like emails or system state changes. Given openWorldHint, more detail would be beneficial.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a two-sentence summary that is front-loaded and contains no unnecessary words. Every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with open world implications, the description is functional but lacks details on what happens after recovery is initiated, any required prerequisites, or expected outcomes. More context would improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 33% (only contact_info has description). The description adds general context for the parameters (e.g., reason is about why recovery is needed), but does not explain each parameter in detail. It partially compensates for low schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Start account recovery for users who cannot receive the reset email.' It distinguishes from the sibling 'initiate_password_reset' by specifying the scenario (cannot receive email). It also describes the outcome: creates a support ticket and provides instructions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implicitly gives usage context: use when the user cannot receive the reset email. It does not explicitly list when not to use or mention alternatives, but the context is clear enough.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

initiate_password_resetA
Idempotent

Send a password reset link to a user's email via Supabase Auth. Always returns success to prevent user enumeration.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYes

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds important context beyond annotations: 'Always returns success to prevent user enumeration' and 'via Supabase Auth', which are not captured by readOnlyHint, idempotentHint, or destructiveHint.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences that each add value: the first defines the action, the second explains the behavior. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter tool with no output schema and annotations covering idempotency/non-destructiveness, the description adequately covers the key behavioral trait and mechanism, though it omits rate limits or prerequisites.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The sole parameter 'email' has no description in the schema (0% coverage) and the description provides no additional details about format, validation, or constraints.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Send a password reset link') and the resource ('user's email via Supabase Auth'), distinguishing it from siblings like 'complete_password_reset'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides the key behavior that it always returns success, implying no error-based feedback, but does not explicitly state when to use this tool versus alternatives like 'initiate_account_recovery' or 'complete_password_reset'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

invoke_moltbook_debateA
Read-onlyIdempotent

Trigger a Moltbook bull/bear multi-agent debate for a trading signal. Shadow mode — does NOT place orders. Returns consensus direction, confidence, agreement %, and per-agent reasoning. Use before significant trades for multi-agent validation.

ParametersJSON Schema
NameRequiredDescriptionDefault
regimeNoMarket regime (optional, fetched from OpenClaw if omitted)
symbolYesTrading symbol e.g. MNQ, CL, ES
directionYes
confidenceYesBot confidence score 0-100
trigger_typeNomcp_manual

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate read-only, idempotent, non-destructive. Description adds 'Shadow mode — does NOT place orders' and specifies return, providing useful context beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with purpose, no filler. Efficiently conveys essential information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite no output schema, description explains return values. Annotations present. All necessary behavioral and usage context is provided.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Description adds examples for symbol, range for confidence, and notes regime is optional with fallback. However, trigger_type parameter is undocumented. Overall, 60% schema coverage is supplemented well.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool triggers a multi-agent debate for trading signals, specifies it is shadow mode (no orders), and lists return values. It differentiates from order-placing tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly advises use before significant trades for validation. No explicit when-not-to-use or alternatives, but context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

join_botA
Idempotent

Subscribe the authenticated subscriber to a strategy's published copy-trade SIGNALS (the subscriber reviews and acts on them — the platform does not auto-execute or exercise discretion). The subscriber sets their own size and can pause/leave anytime. Strategies: MNQ (micro Nasdaq scalper), CL (crude oil scalper), MES (micro S&P swing), NQ (Nasdaq swing). Enforces a seat cap per strategy — returns bot_at_capacity if full. Requires the futures risk disclosure to be acknowledged first (accept_subscriber_terms) and ALGOCHAINS_SUBSCRIBER_KEY to be set. Re-calling with an existing subscription updates size_multiplier and un-pauses.

ParametersJSON Schema
NameRequiredDescriptionDefault
botYesWhich strategy's published signals to subscribe to
max_contractsNoHard cap on contracts per signal
size_multiplierNoTrade-size multiplier vs the master bot (0 < x <= 10)
daily_loss_cap_usdNoDaily loss hard limit in USD

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds behavioral details beyond annotations: it enforces a seat cap, requires specific prerequisites, and re-calling updates size_multiplier and un-pauses. Annotations indicate idempotentHint=true and destructiveHint=false, which align with the description's statement that re-calling is safe and not destructive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is efficient, packing critical information (nature of signals, strategies, prerequisites, re-call behavior) into a single dense paragraph without redundancy. Every sentence adds value, but a slight improvement could be structuring into bullet points.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers key contextual aspects: prerequisites, error condition (bot_at_capacity), and re-call behavior. However, it lacks description of the successful return value structure, which is important given there is no output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the schema already describes parameter details (enum values, defaults, ranges). The description adds minimal extra meaning beyond listing strategies, which duplicates the schema enum. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool subscribes to a strategy's copy-trade signals, lists the specific strategies (MNQ, CL, MES, NQ), and distinguishes the action from sibling tools like accept_subscriber_terms and get_subscriber_status by explicitly mentioning prerequisites and subscription update behavior.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains when to use the tool (to subscribe to signals) and provides prerequisites (accept_subscriber_terms, set API key) and re-call behavior. It does not explicitly state when not to use it, but the mention of seat cap and 'returns bot_at_capacity if full' provides implicit guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

join_waitlistA
Idempotent

Add an email to the AlgoChains waitlist. Stores in Supabase, sends welcome email via Resend. Returns waitlist position.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYes
brokerNoWhich broker they use
use_caseNoWhat they plan to use AlgoChains for
last_nameNo
first_nameNo
referral_codeNo

TDQS

A3.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond annotations (idempotent, not read-only), the description adds that it stores data in Supabase, sends a welcome email via Resend, and returns a waitlist position, which are non-obvious side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two succinct sentences with the main purpose first, then key details. No redundant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers the essential action and return value, but lacks details on duplicate email handling (despite idempotentHint), error conditions, and response format, given the optional parameters.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With only 33% schema description coverage, the description fails to explain any parameters beyond the schema, leaving optional fields like broker, use_case, and names ambiguous.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states the verb 'Add' and the resource 'email to the AlgoChains waitlist', and distinguishes from siblings like get_waitlist_stats by detailing the storage and email sending actions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives (e.g., signup_algochains) or when not to use it. The description assumes the agent knows this is for waitlist signup only.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_bot_research_attachmentsA
Read-onlyIdempotent

List all research attachments available for a bot: MCPT validation JSON files, backtest PDFs, whitepapers, and blueprint markdown files. Shows local path and whether the file exists. Use to prepare uploads to Supabase storage for bot card attachment panel.

ParametersJSON Schema
NameRequiredDescriptionDefault
bot_idNoBot identifier: mnq | cl | mes | nq. Use 'all' for every bot.all

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, so the safety profile is known. The description adds behavioral context by stating the output includes local path and file existence status, which goes beyond the annotations. No contradictions detected.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description consists of two concise sentences: the first defines the tool's purpose and file types, the second adds the use case and output hint. It is front-loaded, efficient, and contains no extraneous information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple with one optional parameter and no output schema. The description adequately covers the key aspects: what it lists, the available bot IDs, the output fields (path and existence), and its intended use. Minor details like error handling or sorting are not critical for this straightforward listing tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and the parameter description in the schema fully documents bot_id with its default and allowed values. The tool description repeats this information without adding new semantic meaning, so it does not enhance understanding beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists research attachments for a bot, enumerates file types (MCPT validation JSON, backtest PDFs, etc.), and specifies the scope (list all). This distinguishes it from sibling tools like get_bot_card_data or list_skills, which 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.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says to use this tool to prepare uploads to Supabase storage for bot card attachment panels, providing clear context for when to invoke it. It does not mention alternatives or when not to use it, but given its narrow focus, the guidance is sufficient.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_developer_keysA
Read-onlyIdempotent

List your developer API keys (masked — plaintext never returned after creation).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, indicating a safe read operation. The description adds behavioral transparency by noting that keys are masked and plaintext is never returned after creation, which is a critical security guarantee. This goes beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence of 12 words, front-loaded with the main action ('List your developer API keys'). It contains zero unnecessary words and is highly efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool with no parameters and no output schema, the description provides the essential purpose and a key behavioral trait (masked). It could mention the return format, but it is sufficiently complete for an agent to select and invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are no parameters in the input schema, and schema coverage is 100%. The description does not need to add parameter semantics, and it doesn't attempt to. The baseline score of 4 is appropriate for a parameterless tool.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'List your developer API keys' with the verb 'List' and resource 'developer API keys'. It also adds the crucial detail that keys are masked and plaintext is never returned, distinguishing it from sibling tools like create_developer_key or revoke_developer_key.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool is for viewing your own keys, but it does not explicitly state when to use it versus alternatives, nor does it provide any exclusions or guidance on when not to use it. The purpose is clear, but no direct usage guidelines are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_ingested_dataA
Read-onlyIdempotent

List all custom OHLCV datasets, signal files, Onyx document ingestions, and registered strategies. Shows what proprietary data has been brought into AlgoChains.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and idempotentHint=true, so the description adds minimal behavioral context. It does state 'List all' implying comprehensive results without filtering, but does not mention pagination, limits, or sorting. Given the strong annotations, a score of 3 is appropriate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences long with no fluff. It front-loads the purpose and provides a succinct summary of what the tool does. Every word is necessary.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description adequately explains that the output lists specific types of ingested data. However, it could be more precise about the output format or any limitations (e.g., if the list is limited to a certain number). Still, it is largely sufficient for a simple list tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are zero parameters, and schema coverage is trivially 100%. According to the rules, 0 parameters get a baseline of 4. The description adds no parameter information, which is acceptable since there are none to document.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly specifies the verb 'List' and the resource types: custom OHLCV datasets, signal files, Onyx document ingestions, and registered strategies. It also adds context by stating it shows proprietary data brought into AlgoChains, distinctly setting it apart from sibling list tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly implies that this tool is for listing ingested data types, and sibling tools cover other entities (e.g., list_skills, list_polymarket_markets). It provides clear context on what it lists but does not explicitly state when not to use it or mention alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_mfa_factorsA
Read-onlyIdempotent

List enrolled MFA factors for the current session.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, which are consistent with the description. The description adds no extra behavioral details beyond the annotations, but there is no contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that is concise and front-loaded, containing only essential information with no superfluous words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (no parameters, no output schema, and comprehensive annotations), the description provides sufficient information for the agent to understand its purpose and use. It could optionally mention the type of MFA factors (e.g., TOTP, SMS), but this is not critical.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has zero parameters, so schema coverage is 100%. The description does not need to compensate for missing parameter info, and it is clear that no arguments are required.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'List', resource 'enrolled MFA factors', and scope 'current session'. It effectively distinguishes the tool from sibling tools like 'enroll_mfa', 'challenge_mfa', and 'verify_mfa'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus other MFA-related tools. There is no mention of prerequisites, such as requiring an active session, or situations where alternative tools should be preferred.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_polymarket_marketsA
Read-onlyIdempotent

List Polymarket prediction markets with status filtering and pagination. Unlike search, this returns all markets in a category. status=open (default) | closed | resolved. Sorts by 24h volume descending.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax markets per page (1-100)
offsetNoPagination offset
statusNoopen
categoryNoOptional category/tag filter (e.g. politics, economics, crypto)

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate this is a read-only, idempotent operation. The description adds behavioral details about sorting and default status, but no additional constraints or side effects beyond what annotations imply.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short, front-loaded sentences each adding distinct value: purpose, distinction from search, and parameter details. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple listing tool with no output schema, the description covers purpose, filtering, sorting, and pagination. Could mention result fields or limits, but it's adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 75%, so baseline is 3. The description adds meaning by explaining the status enum values and the sorting order, which is not in the schema. It also implies the category filter's purpose.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it lists Polymarket prediction markets with status filtering and pagination. It distinguishes itself from search by noting it returns all markets in a category, and specifies sorting by 24h volume descending.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly explains when to use this tool (listing all markets in a category) versus search, and provides default status and sorting. It does not mention all alternatives but gives clear context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_prop_fundsA
Read-onlyIdempotent

List supported prop firms with 2026-verified rules (Apex, Topstep, MyFundedFutures, TradeDay, Bulenox, Earn2Trade, FTMO, Tradeify). Returns fees, profit targets, drawdown type/limits, consistency rules, automation policy, and rules_verified_date.

ParametersJSON Schema
NameRequiredDescriptionDefault
platformNoOptional platform filter (tradovate, rithmic, ninjatrader, metatrader)

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate read-only, open-world, idempotent, and non-destructive traits. The description adds behavioral context by specifying the returned data fields (fees, profit targets, drawdown limits, etc.), going beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the core purpose, and contains no unnecessary words. Every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (0 required params, no output schema), the description completely covers what the tool does and what it returns, including specific fields and example firms.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already describes the single optional parameter. The description adds value by listing firms and return fields but does not provide additional parameter-level semantics beyond what the schema offers.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists supported prop firms with verified rules, naming specific firms and return fields. It distinguishes itself from sibling tools by being the only tool focused on prop firm listings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for usage: to retrieve prop firm rules and details. It mentions an optional platform filter, but does not explicitly state when not to use it or alternatives, though no direct alternative exists among siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_skillsA
Read-onlyIdempotent

List all available AlgoChains skills from OpenClaw (363+), Windsurf (80+), Cursor (15), and Claude (8) skill libraries. Filter by category (trading, research, operations, intelligence, agent, comms, risk, data, ml, marketplace) or platform. Returns name, description, categories, tools used, and trigger type.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
offsetNo
categoryNoFilter by category: trading, research, operations, intelligence, agent, comms, risk, data, ml, marketplace
platformNoFilter by platform: openclaw, windsurf, cursor, claude

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare read-only, non-destructive. Description adds return fields and scope. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two well-structured sentences, front-loaded with purpose, no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Explains returns fields and filtering. Lacks pagination details (limit/offset) but schema covers defaults.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

50% schema coverage; description only repeats filter options from schema without adding new details for limit/offset.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it lists all available skills from specific libraries with filter options. Distinguishes from siblings like search_skills by emphasizing broad listing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implied usage: use for broad listing via 'list all' verb. No explicit exclusions or alternative tool guidance in description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

login_algochainsA
Idempotent

Login to AlgoChains with email + password. Stores session locally for subsequent MFA and key operations.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYes
passwordYes

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses the behavioral trait of storing a session locally for subsequent MFA and key operations, which adds meaningful context beyond the annotations. Annotations already indicate idempotent and non-destructive, but the description explains the side effect. It does not contradict annotations (annotation_contradiction=false).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description consists of two sentences, each serving a clear purpose: the first states the core action, the second adds important context. No redundant information is present, and the most important information is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of an authentication tool, the description covers the main action, authentication method, and side effect. However, it omits details about return values (e.g., session token) or potential error states (e.g., invalid credentials). With no output schema, a bit more context on expected outcomes would improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0% description coverage for parameters; only field names 'email' and 'password' are provided. The description does not add any parameter-level guidance such as format, constraints, or examples. Given the low schema coverage, the description fails to compensate, leaving agents to infer semantics from common knowledge.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Login to AlgoChains with email + password.' This is a specific verb+resource combination that distinguishes it from siblings like signup_algochains, logout_algochains, and refresh_session. The additional context about storing session locally further clarifies the tool's unique role.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool is for initial login with email/password, but it does not provide explicit guidance on when to use this tool versus alternatives such as refresh_session or MFA-related tools. It lacks explicit when-not-to-use conditions or comparisons to siblings, leaving some ambiguity for the agent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

logout_algochainsA
Idempotent

Revoke current AlgoChains session and clear stored credentials.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=false, destructiveHint=false, and idempotentHint=true. The description adds that it clears stored credentials, which provides additional behavioral context beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence of 9 words, conveying all necessary information without any filler. It is appropriately front-loaded and concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (no parameters, no output schema), the description fully explains the tool's purpose and side effects. It is complete for its complexity level.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are zero parameters, and the schema coverage is 100%. The description does not need to add parameter information. Baseline score of 4 for no parameters is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action 'Revoke current AlgoChains session and clear stored credentials,' using a specific verb and resource. It distinguishes from related tools like login_algochains.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The context is clear: it is used to end a session. No exclusions or alternatives are provided, but the simplicity of a logout operation makes further guidance unnecessary.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

massive_call_apiA
Read-onlyIdempotent

Execute a Massive market data API call. Optionally store results as an in-memory DataFrame for SQL querying. Supports pagination auto-detection — check _next_page in results.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesAPI path (e.g. /v2/aggs/ticker/AAPL/range/1/day/2024-01-01/2024-12-31)
applyNoPost-processing functions: sma, ema, sharpe_ratio, bs_delta, etc.
methodNoGET
paramsNoQuery parameters
api_keyNoOverride API key for this request (white-label customer isolation)
store_asNoTable name to store as DataFrame (e.g. aapl_daily)
llm_modelNoLLM model name for usage analytics
llm_providerNoLLM provider name for usage analytics

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds useful behavioral context beyond annotations: mentions optional in-memory DataFrame storage and pagination auto-detection. No contradiction with annotations (readOnlyHint, idempotentHint, etc.). Could further disclose memory implications or rate limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences plus a pagination note—every sentence adds value. No filler, front-loaded with core purpose. Efficiently conveys key information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Adequate but leaves gaps: no description of return format, error handling, or how to use the 'apply' parameter in detail. With no output schema, more explanation on response structure would be helpful.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage at 88% is high, but description adds value by explaining 'store_as' parameter for DataFrame storage and pagination note. Also lists examples for 'apply' parameter. Provides context beyond schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states 'Execute a Massive market data API call' with specific resource and verb. Mentions optional DataFrame storage and pagination auto-detection, distinguishing it from sibling tools like massive_get_endpoint_docs or massive_query_data.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. Does not mention when to choose massive_call_api over sibling tools like massive_get_endpoint_docs or massive_query_data, leaving the agent without selection criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

massive_get_endpoint_docsA
Read-onlyIdempotent

Get parameter documentation for a Massive API endpoint. Pass the docs_url from massive_search_endpoints results.

ParametersJSON Schema
NameRequiredDescriptionDefault
docs_urlYesThe docs URL from search results

TDQS

A4.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and idempotentHint, and the description aligns with these by stating 'Get parameter documentation'. No additional behavioral traits are needed beyond what annotations provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences long, front-loads the purpose, and contains no unnecessary information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one parameter, no output schema, and rich annotations, the description provides complete context: it explains the input source and the tool's purpose.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, but the description adds meaningful context by telling the user to pass the docs_url from massive_search_endpoints results, which is helpful beyond the schema's description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Get' and the resource 'parameter documentation for a Massive API endpoint'. It also specifies how to obtain the necessary input (from massive_search_endpoints results), which distinguishes it from sibling tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly instructs to pass the docs_url from search results, providing clear context for when to use this tool. It does not include exclusions or alternatives, but the specificity is sufficient.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

massive_query_dataB
Idempotent

SQL queries over stored DataFrames from massive_call_api. Supports SHOW TABLES, DESCRIBE , DROP TABLE , and full SQL with JOIN/GROUP BY/window functions. Use apply for server-side Greeks and technicals.

ParametersJSON Schema
NameRequiredDescriptionDefault
sqlYesSQL query or special command
applyNoPost-processing functions to apply to query results

TDQS

B3.2/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare destructiveHint=false, but the description includes DROP TABLE, which is destructive. This is a contradiction, severely impacting transparency. The description also doesn't clarify other behavioral traits beyond what annotations provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the main purpose, and every sentence adds specific value. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description could explain return format or error handling. It adequately covers the tool's capabilities but misses some completeness for an agent to fully understand the output.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, but the description adds value by explaining 'Use apply for server-side Greeks and technicals', providing meaningful context beyond the schema's generic description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'SQL queries over stored DataFrames from massive_call_api' and lists specific supported commands (SHOW TABLES, DESCRIBE, DROP TABLE, full SQL). It distinguishes from siblings by specifying the tool's scope, though it doesn't explicitly differentiate from all sibling tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use the tool (for SQL queries over DataFrames) but does not explicitly state when not to use it or mention alternatives. The context of 'massive_call_api' provides some guidance, but it's not comprehensive.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

massive_run_pipelineA
Idempotent

Composable pipeline: search→fetch→store→query→apply in 1 call (saves 4 round-trips). Describe what data you want, optionally filter with SQL and apply Greeks/technicals.

ParametersJSON Schema
NameRequiredDescriptionDefault
sqlNoSQL to run after storing. Use {table} as placeholder for the table name
applyNoPost-processing: [{"function": "sharpe_ratio", "inputs": {"column": "close", "window": 252}, "output": "sharpe"}]
paramsNoQuery parameters for the API call
store_asNoTable name (auto-generated if omitted)
search_queryYesNatural language query to find the right API endpoint
path_overrideNoSkip search — use this API path directly

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses the pipeline's behavioral steps (search, fetch, store, query, apply) and notes efficiency gains. Annotations indicate idempotency and non-destructiveness, and the description does not contradict them. The description adds useful context about the composite nature beyond what annotations provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences with no extraneous information. Key benefits and features are front-loaded, making it easy for an agent to quickly understand the tool's value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex composite tool with no output schema, the description is somewhat brief. It covers the pipeline steps at a high level but could benefit from more detail on intermediate results or error handling. Given the rich schema and annotations, it is minimally adequate but not comprehensive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema coverage is 100% with clear descriptions for all 6 parameters. The description adds marginal value by mentioning SQL filtering and Greeks/technicals, but the schema already covers these. No significant additional meaning is provided beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: a composable pipeline that combines search, fetch, store, query, and apply steps into a single call. It explicitly distinguishes itself from siblings like massive_call_api by highlighting the multi-step nature and round-trip savings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for complex data workflows that would otherwise require multiple calls, but does not provide explicit guidance on when to use versus simpler alternatives like massive_call_api or massive_query_data. No exclusion criteria or when-not-to-use context is given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

massive_search_endpointsA
Read-onlyIdempotent

BM25 search over all Massive market data API endpoints. Use this FIRST to find the right endpoint for stocks, options, futures, forex, crypto, or SEC filings.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesNatural language query (e.g. 'stock price aggregates', 'options chain', 'forex rates')
scopeNoSearch scope: endpoints for API, functions for built-in Greeks/returns/technicals
top_kNo

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true. The description adds the search algorithm (BM25) and domain scope, but does not disclose additional traits like rate limits, pagination, or error conditions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence that front-loads the core action and usage context. However, it could briefly mention the scope parameter without being verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the 3-parameter schema and annotations, the description adequately frames the tool as a search/discovery tool for market data endpoints. It is complete enough for an agent to understand its role among many siblings, though parameter details and result format are missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 67% (query and scope have descriptions, top_k does not). The tool description does not provide additional parameter details beyond the schema; it only hints at query content via examples. This adds minimal semantic value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly specifies the tool's purpose: BM25 search over all Massive market data API endpoints. It distinguishes itself from siblings by being the first step to find the right endpoint for various asset types (stocks, options, etc.).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description advises using this tool first ('Use this FIRST'), implying it is the initial discovery tool before using more specific endpoints. However, it does not explicitly mention when not to use it or contrast with other search tools like search_prediction_markets.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mcp_tool_manifestA
Read-onlyIdempotent

Return JSON manifest of all registered MCP tools with implementation_status (full|partial|stub), required env vars, and Tier-1 flags. Use for CI, Onyx indexing, and honest agent planning — call before relying on V8-V20 tools.

ParametersJSON Schema
NameRequiredDescriptionDefault
include_tool_detailsNoIf false, return summary counts only (smaller payload)

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and idempotentHint true, indicating a safe, idempotent read. Description adds valuable context about being a good pre-call before relying on other tools, and specifies that it returns status flags. No contradictions; adds behavior beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely concise: two sentences. First sentence defines the tool's output and structure, second gives practical usage advice. No wasted words, front-loaded with purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Without an output schema, the description adequately specifies the return structure (JSON manifest with implementation_status, env vars, Tier-1 flags). It also covers when to use it (CI, indexing, planning). The single parameter is fully covered by the schema. Feels complete for its complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Only one parameter (include_tool_details) with full schema description (100% coverage). The parameter is well-documented in the schema, so the description's lack of additional parameter info is acceptable. Baseline 3 for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it returns a JSON manifest of all registered MCP tools with specific fields (implementation_status, env vars, Tier-1 flags). The verb 'Return' and resource specification are precise, and it distinguishes from siblings like get_tool_details or discover_tools by focusing on the full manifest with status flags.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states use cases: CI, Onyx indexing, and honest agent planning. It advises calling before relying on V8-V20 tools, which provides clear context for when to use it. Lacks explicit alternatives or when-not-to-use, but the guidance is strong enough to inform agent decisions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

numerai_statusA
Read-onlyIdempotent

Return Numerai tournament configuration status: env vars as booleans (never key values), dataset version, round cadence, and proxy_mmc labeling notes. Safe to call anytime — no API calls made. HK-6: NUMERAI_SECRET_KEY never appears in response.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint. The description adds important behavioral context: 'no API calls made' (ensuring low cost), 'env vars as booleans (never key values)' (clarifying output format), and 'NUMERAI_SECRET_KEY never appears' (addressing security). This goes beyond what annotations provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences succinctly covering purpose, output specifics, and safety. No redundant words. It is front-loaded with the core purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no parameters, no output schema, and comprehensive annotations, the description provides sufficient context for an agent. It lists key output categories and emphasizes safety. It could be slightly more explicit about all returned fields, but it is adequate for a status check tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are no parameters (0 params, 100% schema coverage), so the baseline is 4. The description does not need to add parameter information, and it doesn't. This is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it returns Numerai tournament configuration status, listing specific items like env vars as booleans, dataset version, round cadence, and proxy_mmc labeling notes. This distinguishes it from the many sibling tools, all of which have different specific purposes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states 'Safe to call anytime — no API calls made,' which guides the agent on when it is appropriate to use. It does not explicitly mention when not to use it or provide alternatives, but the context is sufficiently clear for this simple read-only tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

onyx_askA
Read-onlyIdempotent

Ask a natural language question against the Onyx knowledge base with RAG grounding. Returns an answer with cited sources. E.g. 'What is the best CL swing setup in trending regimes?' or 'How do I configure Token Guardian?'

ParametersJSON Schema
NameRequiredDescriptionDefault
questionYes

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate read-only, idempotent, non-destructive behavior. The description adds that the tool uses RAG grounding and returns cited sources, providing useful context beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise: two sentences plus examples. Every sentence adds value, and the key action is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple Q&A tool with one parameter and good annotation coverage, the description is mostly complete. It explains the core functionality and output type. Missing details like return format are partially covered by 'answer with cited sources'.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0% description coverage for the single parameter. The description enhances understanding by stating that the parameter should be a natural language question and giving examples, which compensates for the lack of schema description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool asks natural language questions against the Onyx knowledge base with RAG grounding and returns answers with cited sources. However, there is a sibling tool 'onyx_search' which may have overlapping functionality, and no explicit differentiation is provided.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides two concrete examples, implying typical usage scenarios. However, it does not specify when to avoid using this tool or mention alternatives (e.g., onyx_search for different query types).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

optimize_strategyC
Idempotent

Run Optuna-based parameter optimization on a StrategySpec. Finds best params across n_trials.

ParametersJSON Schema
NameRequiredDescriptionDefault
specYes
metricNosharpe
n_trialsNo

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate idempotentHint=true and destructiveHint=false, so the description adds little beyond confirming it is a non-destructive optimization. It does not disclose side effects such as whether results are saved, how outputs are returned, or any resource state changes.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very short (two sentences) and front-loaded with the core action. While concise, it sacrifices important details, but the structure itself is efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of the tool (nested object parameter, multiple parameters, no output schema), the description is too sparse. It does not explain what 'spec' should contain, what the metric parameter affects, or what output the agent should expect. The agent cannot determine how to structure the input or interpret results.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description must compensate, but it only partially explains 'spec' and 'n_trials' via context. The 'metric' parameter is completely omitted, leaving its purpose and accepted values unclear. This is insufficient for correct invocation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'optimize' and the resource 'StrategySpec', specifying the method 'Optuna-based' and goal 'find best params across n_trials'. However, it does not differentiate from sibling tools like 'run_backtest' or 'validate_strategy', which are related but distinct.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites, trade-offs, or cases where another tool would be more appropriate. An agent would have no basis to choose this over sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

portfolio_summaryA
Read-onlyIdempotent

broker_truth / live ops — unified portfolio across connected brokers (equity, positions, P&L). Use for owner 'today's P&L' / 'how did we do'. Do NOT invent numbers from web search or memory. Subscribers should use get_my_pnl / get_my_portfolio instead.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare read-only, open-world, idempotent, non-destructive. Description adds context that data is broker truth and live operations, reinforcing safe behavior. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences: purpose and scope, usage warning, and alternative reference. No unnecessary words, highly efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Describes what the tool returns (equity, positions, P&L) and its live nature. No output schema exists, but for a no-parameter summary tool, the description is fairly complete. Could add detail on aggregation behavior across brokers.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters exist, so description needs no additional parameter info. Schema coverage is 100% (empty schema). Baseline 4 appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it returns a unified portfolio across brokers (equity, positions, P&L) for live operations. Differentiates from sibling tools get_my_pnl and get_my_portfolio by noting subscribers should use those instead.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says when to use ('today's P&L', 'how did we do') and when not to (subscribers). Provides alternative tools and warns against inventing data from web search or memory.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

query_data_warehouseB
Read-onlyIdempotent

Query AlgoChains data warehouses (Builder tier $199/mo). Access 3.09B+ rows: 409M crypto, 1.3B stocks, 1.4B forex minute bars. Returns OHLCV data for backtesting.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
tickerYes
end_dateNoYYYY-MM-DD
start_dateNoYYYY-MM-DD
asset_classYes

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint, openWorldHint, idempotentHint. Description adds return data type (OHLCV) and data scale, but no further behavioral details like pagination or limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with action and data size. Concise and efficient, though slightly lacking structure.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers main purpose and data available, but lacks output schema and detailed parameter context, leaving some gaps for agent understanding of exact return format.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is low (40%) and description does not explain individual parameters beyond stating tool purpose. No additional meanings for ticker, limit, or date formats beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it queries historical OHLCV data for backtesting, with specific data sources and row counts. However, it does not explicitly differentiate from sibling tools like get_quote, but purpose is distinct enough.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Mentions Builder tier pricing as prerequisite and indicates use for backtesting, but lacks explicit guidance on when to use versus alternatives or when not to use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

refresh_sessionA
Read-onlyIdempotent

Refresh an expiring AlgoChains session using the stored refresh_token. Call before session expires to stay logged in.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, and non-destructive. Description adds context about using stored refresh_token and timing, enhancing transparency without contradicting annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences with front-loaded action, no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given zero parameters and no output schema, the description fully covers the tool's purpose and usage timing. No gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters exist, so description naturally adds no param info. Baseline 4 applies as there is nothing to compensate for.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'Refresh' and resource 'expiring AlgoChains session', clearly distinguishing from login and logout siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly advises calling before session expires to stay logged in, providing clear context but no explicit alternatives or when-not-to-use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

register_strategyA
Idempotent

Register a custom strategy spec JSON with the AlgoChains platform. The spec must contain entry_rules and exit_rules. Once registered, the strategy can be backtested via run_backtest(strategy_id=...). Validates the spec file before registering.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesHuman-readable strategy name.
authorNo
symbolsYesList of ticker symbols this strategy trades.
spec_pathYesAbsolute path to strategy spec JSON file.
timeframeYes
asset_classYes
descriptionNo

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds behavioral context beyond annotations by stating that the spec is validated before registration. Annotations indicate openWorldHint=true and idempotentHint=true. The description does not elaborate on side effects or state changes (e.g., storing the strategy), which would be expected given the open world hint. No contradictions with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, free of fluff. The first sentence states the core action, and the second provides usage guidance and validation detail. Every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 7 parameters, no output schema, and openWorldHint annotations, the description is too brief. It does not mention the return value (e.g., strategy_id), error handling, or prerequisites. The mention of run_backtest provides context among siblings, but completeness is sacrificed for brevity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With schema description coverage at 43% (low), the description adds meaning by clarifying that the spec file must contain entry_rules and exit_rules, which is not evident from the schema. However, it does not explain the purpose of other parameters like 'author' or 'description', leaving gaps.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'register' and identifies the resource as 'custom strategy spec JSON'. It clearly states the action and the required spec contents (entry_rules, exit_rules). However, it does not explicitly differentiate from sibling tool 'validate_strategy', which might be confused as a similar action.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides a usage hint: after registration, the strategy can be backtested via run_backtest(strategy_id=...). It implies that registration is a prerequisite for backtesting. However, it does not mention when not to use this tool, nor does it suggest alternatives like 'validate_strategy' for validation-only tasks.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

remove_mfa_factorA
Destructive

Remove an enrolled MFA factor. Requires owner_token — destructive, downgrades session to AAL1.

ParametersJSON Schema
NameRequiredDescriptionDefault
factor_idYes
owner_tokenYesMust match OWNER_API_TOKEN

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate destructiveHint=true. Description adds valuable context: requires owner_token and downgrades session to AAL1, which goes beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, no wasted words. Action and key conditions are front-loaded. Perfectly concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers purpose, requirement, consequences. No output schema, but the tool is simple (2 params). Could mention post-removal state, but current description is adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 50% (only owner_token described). Description reinforces owner_token requirement but adds no details about factor_id. Baseline 3 due to partial compensation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states the verb 'Remove' and the resource 'enrolled MFA factor'. Distinguishes from siblings like enroll_mfa and verify_mfa by specifying destruction and session downgrade.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly mentions requirement for owner_token and destructive consequence with session downgrade, guiding when to use. No explicit alternatives or when-not scenarios, but context is sufficient.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

request_trade_confirmationB
Destructive

MCP Elicitation: request structured human confirmation before executing a high-value or destructive trade action. Shows the user a form with trade details; execution is gated on approval.

ParametersJSON Schema
NameRequiredDescriptionDefault
sideYes
actionNoAction needing confirmationplace_order
symbolYes
quantityYes
order_typeNoMARKET
estimated_notionalNo

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true. The description adds that it shows a form and requires approval, which aligns with the destructive hint. No contradiction, but could elaborate on the confirmation flow and side effects beyond 'destructive'.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no fluff. Purpose is front-loaded. Every word adds value. Highly concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has 6 parameters, 3 required, and no output schema. Description omits key details: what happens after approval, the form layout, return value, and required fields. Incomplete for a tool handling critical trade actions.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Only 17% of parameters have schema descriptions. The description does not explain any parameter beyond 'trade details'. With low coverage, the description should compensate but fails to provide meaning for the six parameters (symbol, side, quantity, etc.).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states the tool requests human confirmation for high-value/destructive trades and shows a form. Among many trade-related siblings, it distinguishes itself by explicitly mentioning confirmation gating. However, it could more precisely contrast with similar confirmation tools like approve_intent.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides context (use before high-value/destructive trades) and states execution is gated on approval. Lacks explicit when-not-to-use or alternatives. Usage is implied but not comprehensive.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

reserve_llm_budgetA
Idempotent

Atomically reserve USD against the developer key's daily LLM budget (spend:llm_budget). Fail closed on ledger errors or exhaustion.

ParametersJSON Schema
NameRequiredDescriptionDefault
amount_usdYes
daily_cap_usdNoOptional override; defaults to entitlement/env cap

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations, the description adds meaningful behavioral detail: atomicity and fail-closed behavior on ledger errors or exhaustion. It does not discuss retry/idempotency semantics, but idempotentHint=true already provides that signal and there is no contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with zero filler. The action and target resource are front-loaded, and the failure behavior is stated in a compact second sentence.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a low-complexity two-parameter tool with annotations covering idempotency and non-destructiveness, the description adds atomicity and fail-closed semantics. It does not describe the success return value, but no output schema exists and the core behavioral profile is adequately covered.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema describes daily_cap_usd, and the description only loosely implies amount_usd via 'reserve USD'. It does not clarify units, positivity constraints, or how amount_usd interacts with daily_cap_usd. At 50% schema coverage, the description provides only marginal compensation for the undocumented amount_usd.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific operation ('reserve'), the resource ('USD against the developer key's daily LLM budget'), and even identifies the underlying ledger key ('spend:llm_budget'). This distinguishes it clearly from the many read-only account and usage sibling tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit guidance on when to call this tool versus alternatives such as get_developer_key_usage or get_my_usage. The intended context is implied by the verb 'reserve', but no when-to-use or when-not-to-use conditions are stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

revoke_broker_connectionA
Destructive

Disconnect a broker OAuth connection and remove stored tokens.

ParametersJSON Schema
NameRequiredDescriptionDefault
brokerYes
user_idYes

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description confirms the destructive nature (removing tokens) which aligns with annotations (destructiveHint=true). However, it does not disclose potential side effects like active trading disruption or whether tokens are permanently lost. The description adds moderate value beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no unnecessary words. Every word adds value, clearly stating the action and its effect.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description should hint at return values or confirmation messages. It lacks this, as well as error conditions or permission requirements. The context from annotations and sibling tools helps but leaves gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 0% parameter description coverage, yet the tool description does not explain what 'broker' or 'user_id' specifically refer to (e.g., broker identifier format or user context). This forces reliance on parameter names alone.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'disconnect' and the resource 'broker OAuth connection', and adds the effect 'remove stored tokens'. It distinguishes itself from sibling tools like connect_broker, validate_broker_connection, and get_connected_brokers by specifying the reverse action.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for disconnecting a broker but does not explicitly state when to use it versus alternatives, such as when needing to validate a connection or list connections. No prerequisites or exclusion criteria are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

revoke_developer_keyA
Idempotent

Revoke (soft-delete) a developer API key. Requires AAL2 session.

ParametersJSON Schema
NameRequiredDescriptionDefault
key_idYes
access_tokenYesAAL2 access token from verify_mfa response

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds behavioral context beyond annotations by explicitly stating this is a 'soft-delete,' clarifying that the key is not hard-destroyed. It also communicates the AAL2 auth requirement. This aligns with destructiveHint=false and idempotentHint=true, so no contradiction exists.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, tight sentence with no filler. The core action is front-loaded, the soft-delete nuance is immediately attached, and the auth requirement follows. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-parameter tool with no output schema, the description plus annotation set covers the essential facts: what it does, the type of deletion, and the required session level. It does not mention return values or post-revoke behavior, but those are minor given the tool's simplicity and the idempotentHint annotation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 50%: access_token is fully described in the schema, but key_id has no documentation. The description's phrase 'developer API key' implies key_id's role but does not explicitly map the parameter. It partially compensates for the gap but not fully.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Revoke') with a clarifying parenthetical ('soft-delete') and names the exact resource ('developer API key'). This distinguishes it clearly from sibling tools like rotate_developer_key, list_developer_keys, and get_developer_key_usage.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides a clear prerequisite context by stating 'Requires AAL2 session,' which tells the agent when this tool is callable. It does not explicitly name alternative tools or exclusion conditions, but the revoke-vs-rotate distinction is reasonably inferable. It stops just short of the strongest guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rotate_developer_keyA
Idempotent

Atomically rotate a developer key (revoke old, mint new). Requires AAL2 session. New plaintext returned ONCE ONLY.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoName for the new key (defaults to old key's name)
key_idYesUUID of the key to rotate
access_tokenYesAAL2 access token from verify_mfa response

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds critical behavioral details beyond annotations: the operation is atomic, the old key is revoked and a new one minted, AAL2 authentication is required, and the new plaintext is returned only once. This is especially important for a credential-rotation tool, where losing the one-time secret would be irreversible. No contradiction with annotations was found.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two compact, front-loaded sentences convey the action, the atomicity, the authentication requirement, and the one-time return warning. Every sentence earns its place and there is no filler or redundant restating of the tool name.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a security-sensitive credential operation with no output schema, the description covers the essential behavioral contract: what happens atomically, the required auth level, and the critical one-time return of the new secret. Combined with the fully documented schema, an agent has enough context to invoke the tool correctly and appreciate the irreversible nature of missing the plaintext.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already documents all parameters at 100% coverage, including key_id as UUID and access_token as the AAL2 token from verify_mfa. The description reinforces the AAL2 requirement but does not add substantial parameter-level meaning beyond the schema, which matches the baseline for full schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action with a resource: 'Atomically rotate a developer key (revoke old, mint new).' This clearly distinguishes it from simple create or revoke operations, particularly given sibling tools like create_developer_key and revoke_developer_key. The verb and resource are explicit and meaningful.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly specifies a prerequisite ('Requires AAL2 session') and defines the exact use case as a combined revoke-and-mint operation. It does not explicitly name alternative tools or state when not to use them, but the intended context is strongly implied by the atomic rotation semantics.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

run_backtestB
Idempotent

Run a backtest on a StrategySpec using the Rust engine. Returns Sharpe, drawdown, win rate, P&L.

ParametersJSON Schema
NameRequiredDescriptionDefault
specYes
capitalNo

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate idempotence and non-destructiveness, but the description adds return value details (Sharpe, drawdown, win rate, P&L). It does not discuss behavioral traits like state changes, data persistence, or execution time. 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence that conveys the core action and key outputs. It is concise without unnecessary detail, though it could benefit from a brief breakdown for clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the nested 'spec' object and absence of an output schema, the description is insufficiently complete. It does not explain the StrategySpec structure, capital usage, or execution behavior, leaving critical gaps for an AI agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description must explain the two parameters. It mentions 'StrategySpec' but does not define its structure or the 'capital' parameter, leaving the agent with minimal guidance beyond parameter names.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Run a backtest') and the resource ('StrategySpec'), with specific return metrics listed. It implicitly distinguishes from sibling tools like 'optimize_strategy' or 'evaluate_strategy_for_prop_fund' by focusing on backtesting, but does not explicitly contrast them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description indicates what the tool does but provides no explicit guidance on when to use it versus alternatives (e.g., optimize_strategy). Usage context is implied but not clarified, leaving the agent to infer appropriateness.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

run_evolution_cycleB
Idempotent

Trigger an AlphaLoop evolution cycle: SCAN underperformers → MUTATE parameters via Optuna → VALIDATE against real trade history → PROMOTE winner. Uses RL reward model. Requires real trade history (min 5 trades).

ParametersJSON Schema
NameRequiredDescriptionDefault
generationsNo
strategy_idYes
promote_thresholdNoMin reward improvement to promote
min_trades_requiredNo

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate idempotentHint=true and destructiveHint=false. The description adds context about the multi-step cycle and RL model, but does not disclose side effects (e.g., whether parameters are permanently modified) or confirm idempotency. It provides moderate additional transparency beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is only two sentences with no filler. The first sentence clearly lists the sequence in a front-loaded manner. Every word serves a purpose, making it highly concise and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the absence of an output schema, the description should indicate what the tool returns (e.g., a task ID or success message) or provide guidance on interpreting results. It only describes the process and a prerequisite, leaving the agent without critical information on how to use the tool's output. This is a significant gap for a 4-parameter tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 25% (only 'promote_threshold' has a description). The description fails to explain any of the four parameters, including 'strategy_id', 'generations', and 'min_trades_required'. It mentions 'min 5 trades' but the parameter 'min_trades_required' defaults to 10, introducing inconsistency. The description adds virtually no value to parameter understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description specifies a clear verb ('Trigger') and resource ('AlphaLoop evolution cycle'), and breaks down the process into four distinct steps (SCAN, MUTATE, VALIDATE, PROMOTE). It also notes the use of an RL reward model, setting it apart from generic optimization tools. This level of detail provides excellent purpose clarity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description states a prerequisite ('Requires real trade history (min 5 trades)') but does not explain when to prefer this tool over siblings like 'optimize_strategy' or 'run_backtest'. There is no guidance on scenarios where this tool is inappropriate or on alternatives, resulting in moderate usage guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

run_guardrailA
Read-onlyIdempotent

Run the GUARDRAIL pre-flight middleware chain before placing any order. Executes 6 gates: VIX, daily-loss, stoploss-guard, cooldown, confidence, R/R. Returns approved=true only if all gates pass. Wire this before every order execution.

ParametersJSON Schema
NameRequiredDescriptionDefault
vixNoCurrent VIX (reads CURRENT_VIX env if omitted)
sideYes
stopNoStop loss price (enables R/R gate)
entryNoEntry price (enables R/R gate)
gatesNoGate subset to run. Omit for all: vix, daily_loss, stoploss_guard, cooldown, confidence, risk_reward
symbolYese.g. MNQ, CL, BTC/USD
daily_pnlNoToday realized P&L (reads TODAY_REALIZED_PNL env if omitted)
confidenceNoModel confidence 0-1

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior. The description adds value by enumerating the six gates executed and the condition for approval ('all gates pass'). It does not specify failure behavior (e.g., which gate failed), but the gate list and binary outcome are sufficient for safe invocation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences deliver the essential purpose, scope, gates, and return condition with zero redundancy. Every phrase earns its place, making it highly efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 8-parameter guardrail tool with no output schema, the description covers the core output (approved true/false) and the gate logic. It omits error handling or partial failure details, but given the tool's straightforward check-and-report nature, the description is fairly complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 88%, high, so the schema already documents most parameters. The description adds no per-parameter details beyond listing gate names. According to guidelines, baseline is 3, and with no additional semantic contribution, this score is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the tool as a pre-flight guardrail middleware chain executed before orders, specifies the six gates (VIX, daily-loss, etc.), and states the binary output (approved=true/false). This distinguishes it from sibling safety-check tools like 'check_order_safety' by framing it as a comprehensive middleware chain.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly instructs to 'Wire this before every order execution,' providing clear when-to-use guidance. It does not list when not to use or name alternatives, but the context of siblings (many check functions) implies this is the recommended pre-order gate; the lack of exclusions is a minor gap.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

run_marketplace_autopilotA
Idempotent

Run the autonomous marketplace pipeline: Research→Backtest→MCPT Validate→Stage for marketplace. Scans recent strategy research, runs tick backtests, applies 5-gate validation, stages passing strategies as marketplace JSON listings. Triggers Onyx ingest and Slack notification. No synthetic data — real tick engines only.

ParametersJSON Schema
NameRequiredDescriptionDefault
stageNoPipeline stage to runall
symbolNoLimit to specific symbol (optional)
dry_runNoNo writes, just report what would happen

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate idempotent, not read-only, not destructive. The description adds valuable context: it triggers Onyx ingest and Slack notification, stages marketplace listings, and uses no synthetic data. No contradiction with annotations, and it extends beyond them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences with no wasted words. The first sentence front-loads the core purpose and stages. Each subsequent sentence adds important detail (triggers, constraint). Highly efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the pipeline flow and constraints but omits what the tool returns (e.g., status, listing IDs). No output schema exists to fill this gap. For a complex pipeline, return information is important for agents to act on results.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline 3. The description adds meaning beyond schema by explaining the pipeline stages (e.g., 'Scans recent strategy research, runs tick backtests') and the constraint 'No synthetic data — real tick engines only', which enriches parameter understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool runs an autonomous marketplace pipeline with explicit stages (Research→Backtest→MCPT Validate→Stage). It distinguishes itself from sibling tools like run_backtest and run_mcpt_pipeline by describing the full pipeline and noting 'No synthetic data — real tick engines only'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool is for running the full pipeline but does not explicitly state when to use it over siblings (e.g., run_backtest for just backtesting, run_mcpt_pipeline for a different pipeline). No exclusions or alternatives are provided, leaving the agent to infer from context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

run_mcpt_pipelineA
Idempotent

Run the MCPT marketplace autopilot pipeline. Steps: decay (check edge decay), graduate (30-day paper trading gates), audit (batch MCPT re-validation), listing (generate marketplace JSON), slack (post summary to #quant-lab). Calls scripts/mcpt_autopilot.py.

ParametersJSON Schema
NameRequiredDescriptionDefault
stepNoall
dry_runNoASSP: default true — report only, no writes. Set false only with owner_token.
no_desktopNo
owner_tokenNoRequired when dry_run=false

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already signal mutability, open-world interaction, idempotency, and non-destructiveness; the description adds concrete behavioral detail by naming side-effectful steps (generate marketplace JSON, post summary to #quant-lab) and the backing script. It doesn't spell out permission needs, but the schema covers owner_token and the annotations carry the safety profile.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three compact sentences front-load the purpose, then use a scannable step list, then add a useful implementation pointer. Every sentence earns its place with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description captures the pipeline shape and the schema handles the safety-critical dry_run/owner_token parameters. It is incomplete around return/result expectations (no output schema), the 'sync' and 'all' step values, the no_desktop flag, and how this differs from run_marketplace_autopilot.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema documents dry_run and owner_token but not step or no_desktop; the description compensates for step by explaining decay, graduate, audit, listing, and slack, though it omits 'sync' and 'all'. no_desktop receives no semantic help from either source, leaving a real gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Run') and resource ('MCPT marketplace autopilot pipeline') and enumerates concrete pipeline stages. It does not expand the MCPT abbreviation or distinguish itself from the similarly named sibling run_marketplace_autopilot, so it falls short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The step list gives useful operational context and implies this is the tool for running the full/staged MCPT pipeline. However, it never explicitly says when to choose this over run_marketplace_autopilot or other marketplace tools, and it names no exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

run_onboarding_smoke_testA
Read-onlyIdempotent

Run end-to-end connectivity smoke test for all configured brokers and data providers. Marks onboarding complete if all pass. Call this after setting up credentials to verify everything works before trading.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description states that the tool 'Marks onboarding complete if all pass,' which implies a state mutation. However, the annotations include 'readOnlyHint': true, indicating no state modification. This is a contradiction, reducing transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, concise and front-loaded. No unnecessary words, every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no parameters and no output schema, the description adequately explains input (none), behavior (run tests, mark complete), and usage context. It could detail what happens on failure but is sufficient for the simplicity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, and schema coverage is 100% (empty). The description adds context about the tool's purpose but does not need to explain parameters. Baseline 4 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Run'), resource ('end-to-end connectivity smoke test for all configured brokers and data providers'), and scope. It also distinguishes from siblings like 'start_onboarding' and 'validate_broker_connection' by specifying it runs all tests and marks onboarding complete.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says 'Call this after setting up credentials to verify everything works before trading,' providing clear when-to-use guidance. It does not explicitly mention when not to use or alternatives, but the context is sufficient.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

run_regime_detectionC
Read-onlyIdempotent

Run the regime detection pipeline — analyzes VIX term structure, market breadth, and price action to classify current market as trending/choppy/volatile/mean_reverting. Updates OpenClaw current_regime.json used by all live bots.

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolNoSPY

TDQS

C2.7/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate readOnlyHint=true, but the description explicitly states it updates current_regime.json, which is a write operation. This is a clear contradiction. Beyond that, no additional behavioral traits are disclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no wasted words. The first sentence front-loads the action and analysis components; the second sentence explains the output and its significance. Efficient and to the point.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite good purpose clarity, the description does not explain return values (no output schema), prerequisites, potential side effects (e.g., time to run, data dependencies), or how the file update interacts with live bots. The contradiction further undermines completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has one parameter (symbol) with 0% schema description coverage. The description does not mention this parameter at all, failing to compensate for the lack of schema documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool runs a regime detection pipeline, lists what it analyzes (VIX term structure, market breadth, price action), and specifies the output classification types and the updated file. This distinguishes it from siblings like detect_market_regime and detect_regime_hmm, which likely have different scopes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternative regime detection tools (e.g., detect_market_regime, detect_regime_hmm). The description implies it's for updating the current regime for live bots, but does not state usage conditions or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_prediction_marketsA
Read-onlyIdempotent

Search live Polymarket and/or Kalshi markets by keyword. Returns real contract YES/NO prices, volume, liquidity, and URLs. Fails closed if no API data.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryYesSearch phrase, e.g. Bitcoin Fed election
platformNoall

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Description adds 'Fails closed' behavior and return fields (prices, volume, liquidity, URLs). Annotations already indicate read-only, non-destructive, and idempotent. The additional failure mode is valuable context beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no waste. First sentence states action and output, second adds failure behavior. Front-loaded and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple search tool with no output schema, description covers purpose, output fields, and failure mode. Missing parameter details for limit and platform, but those are in schema with defaults. Minor gap but overall sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 33% description coverage (only query described). Tool description specifies output fields, adding meaning to the purpose. It does not detail limit or platform, but the overall search intent is clear. Adds value by describing return structure.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states 'Search live Polymarket and/or Kalshi markets by keyword' and specifies returns. Does not explicitly differentiate from sibling get_prediction_markets or list_polymarket_markets, but the verb 'search' conveys a distinct purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives a failure note ('Fails closed if no API data') but no guidance on when to use this tool versus alternatives like get_prediction_markets or list_polymarket_markets. Context of use is implied by the description of the tool's function.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_skillsA
Read-onlyIdempotent

Search across all 450+ skills by keyword. Returns ranked matches from OpenClaw, Windsurf, Cursor, and Claude libraries. Use to find the right skill for a task before reading its full SKILL.md.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryYesSearch query (e.g. 'regime detection', 'bot restart', 'dark pool', 'backtest')

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, destructiveHint. Description adds scope (450+ skills, specific libraries) but not additional behavioral context. No contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two efficient sentences, front-loaded with action and result, zero wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite no output schema, description adequately covers purpose, scope, and usage. Could detail return format but not essential for this simple tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers 50% (query described, limit not). Description does not add extra parameter info beyond what schema provides. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states action (search), resource (all 450+ skills), result (ranked matches from specific libraries), and purpose (find skill before reading full SKILL.md). Distinguishes from siblings like list_skills and get_skill_detail.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says to use for finding the right skill before reading SKILL.md, providing clear context. Lacks explicit when-not-to-use or named alternatives, but gives sufficient guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

send_ntfy_notificationA
Idempotent

Send a mobile push notification via ntfy (https://ntfy.sh). Topics: bots (bot up/down/trade), risk (circuit breaker, daily loss), marketplace (new subscriber, bot promoted), ops (deploy, system health), alpha (high-confidence signal). Priority: max/urgent = always-on screen; high = with sound; default = normal; low/min = silent. Requires NTFY_BASE_URL + optional NTFY_AUTH_TOKEN.

ParametersJSON Schema
NameRequiredDescriptionDefault
tagsNoEmoji tag names (e.g. ['warning', 'robot']). ntfy maps to emojis automatically.
titleYesNotification title (shown in bold)
topicNoops
messageYesNotification body text
priorityNodefault
click_urlNoURL to open when notification is tapped

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare the tool as non-readOnly, idempotent, and non-destructive. The description adds valuable context about the required NTFY_BASE_URL and optional auth token, and explains the behavioral differences between priority levels (e.g., sound, screen on). This goes beyond annotation information.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is composed of four concise sentences, with the main action stated first, followed by structured lists for topics and priorities, and ending with a requirement note. There is no redundant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's side-effect nature and lack of output schema, the description adequately covers inputs and behavior. It could mention potential errors (e.g., invalid topic) or delivery confirmations, but the provided context is sufficient for typical use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema describes tags, title, message, and click_url, but lacks descriptions for 'topic' and 'priority'. The description compensates by explaining the meaning of each topic (e.g., 'risk' for circuit breaker) and each priority level (e.g., 'max/urgent' with screen on). This adds significant semantic value beyond the enum values.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Send a mobile push notification via ntfy', providing a specific verb and resource. It also lists the distinct topic categories and priority levels, which differentiates this tool from other notification tools like email or SMS.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear guidance on when to use each topic (e.g., 'bots' for trade notifications) and priority levels (e.g., 'max/urgent' for always-on screen). It also mentions the prerequisite environment variables. However, it does not explicitly state when not to use this tool or suggest alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

set_algochains_api_keyA
Idempotent

Step 4: Set your AlgoChains developer API key (ac_live_* or ac_test_*) for marketplace and bridge access. Validates against the bridge health endpoint. Get a key via create_developer_key tool or at algochains.ai/account/developer-keys/.

ParametersJSON Schema
NameRequiredDescriptionDefault
api_keyYesYour developer key (ac_live_... or ac_test_...)

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate idempotentHint=true and destructiveHint=false. The description adds that the tool validates the key against the bridge health endpoint, which is useful behavioral context beyond what annotations provide. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences; front-loaded with purpose, includes key format, validation, and key acquisition method. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter tool with no output schema, the description covers purpose, key format, validation, and next steps (creating a key). Complete and self-contained.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with one parameter. The schema description already explains the key format. The tool description repeats this but adds context about validation and step number, providing marginal extra value. Baseline is 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the tool's purpose: setting the AlgoChains developer API key for marketplace and bridge access. It specifies the key format (ac_live_* or ac_test_*) and mentions validation against the bridge health endpoint. This effectively distinguishes it from sibling tools like create_developer_key and revoke_developer_key.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description labels this as 'Step 4,' indicating a sequence in a workflow, and tells where to get a key (create_developer_key tool or website). It provides clear context for when to use the tool, though it doesn't explicitly state when not to use it or mention alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

set_guardrail_preferencesA
Idempotent

Step 6: Configure guardrail notification thresholds. Hard-coded limits (daily loss $500, max drawdown 15%, VIX>35 gate) cannot be changed — this only controls when you are notified.

ParametersJSON Schema
NameRequiredDescriptionDefault
slack_alerts_enabledNo
notify_on_daily_loss_pctNoNotify when daily loss reaches this % of $500 limit (e.g. 80 = alert at $400 loss)
pause_on_consecutive_lossesNoPause and alert after N consecutive losing trades

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses that hard-coded limits are immutable and that this tool only affects notification behavior. Annotations already indicate idempotent and non-destructive, so description adds context about what is not changeable.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences: the first is a clear title-like statement of purpose, the second adds essential behavioral nuance. No redundant or unnecessary information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple configuration tool with no output schema and few parameters, the description adequately covers what the tool does and what it does not do. It is complete enough for an agent to select and invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 67% schema description coverage, the schema already documents two of three parameters. The tool description does not add additional parameter-level meaning beyond what the schema provides, so baseline score applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool configures guardrail notification thresholds (specific verb and resource) and distinguishes it from the hard-coded limits that cannot be changed, which differentiates it from siblings like run_guardrail.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains it controls notifications, implying basic usage context, but lacks explicit when-to-use or when-not-to-use guidance and does not mention alternative tools among siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

signup_algochainsA
Idempotent

Create a new AlgoChains account with email + password via Supabase Auth. Returns session on success or requires_email_confirm. Next step: verify_email_otp → enroll_mfa → create_developer_key.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYesAccount email address
passwordYesPassword (min 8 chars)

TDQS

A3.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds some behavioral context (returns session or requires_email_confirm, uses Supabase Auth), but it contradicts the idempotentHint=true annotation. Creating a new account each call is not idempotent, so transparency is undermined.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is exceptionally concise: two sentences plus a next-steps arrow. Every sentence adds value with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of output schema, the description adequately covers return types and a clear workflow. Minor gaps like uniqueness constraints or prerequisites don't significantly hurt completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already covers both parameters with descriptions (email, password with min 8 chars). The description adds no further meaning beyond the schema, meeting the baseline for 100% coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action 'Create a new AlgoChains account' and distinguishes it from sibling tools like login_algochains by specifying 'with email + password via Supabase Auth' and outlining next steps.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implicitly indicates when to use (for new account creation) and provides a clear post-signup workflow. However, it lacks explicit guidance on when not to use or alternatives like login.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

start_onboardingA
Read-onlyIdempotent

Begin the AlgoChains setup wizard. Shows risk disclosure, privacy notice, and compliance acknowledgment. MUST be called first by new users before connecting any broker. Returns the disclosure text and required acknowledgment string.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds behavioral context: it shows disclosures and returns text plus an acknowledgment string. No contradiction exists. The description enhances understanding beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences with no wasted words. It front-loads the main action ('Begin the AlgoChains setup wizard') and adds essential details (disclosures, ordering, return). Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no input schema and no output schema, the description sufficiently explains what the tool does and returns (disclosure text and acknowledgment string). It also provides ordering context. However, it could mention how the acknowledgment string should be used subsequently, but this is not critical.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has no parameters (0 params, 100% schema coverage). With zero parameters, the description need not explain parameter usage. Baseline is 4, and the description does not introduce any confusion.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Begin the AlgoChains setup wizard' with specific actions (show risk disclosure, privacy notice, compliance acknowledgment). It distinguishes from siblings by noting it 'MUST be called first by new users before connecting any broker' and mentions its return value.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use: 'MUST be called first by new users before connecting any broker.' This provides clear context. However, it does not explicitly mention when not to use or list alternative tools, though siblings like accept_subscriber_terms or acknowledge_risk_disclosure are implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

start_sandboxed_agentA
Idempotent

Start an AlgoClaw MCP-only agent session in an app-owned sandbox (path allowlist, no inherited broker/owner env, runtime quotas). Requires agent:sandbox scope. Fail closed without the scope.

ParametersJSON Schema
NameRequiredDescriptionDefault
taskYesAgent task / objective
max_runtime_secNo

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes beyond the annotations by disclosing sandbox boundaries (path allowlist), environment isolation (no inherited broker/owner env), runtime quotas, and fail-closed authorization behavior. This gives the agent important operational expectations that the annotations alone do not convey.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One dense, focused sentence with no filler. The core action is front-loaded, followed by the most relevant constraints and authorization requirement. Every clause earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers the essential runtime context: sandbox scope, environment isolation, quotas, authentication requirement, and failure mode. The main gap is the absence of output/return-value guidance, especially since there is no output schema and session results may need to be retrieved via a sibling tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already describes the required 'task' parameter, and 'max_runtime_sec' is reasonably inferable from its name and default. The tool description adds no parameter-level detail, and 'max_runtime_sec' lacks explicit semantics such as what happens when the quota is exceeded.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific action ('Start'), a precise resource ('AlgoClaw MCP-only agent session'), and a clear scope ('app-owned sandbox'). The sandbox qualifiers distinguish it from generic launch/execute/backtest tools in the sibling list.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives useful context about the sandbox environment and the required agent:sandbox scope, making the intended use reasonably clear. However, it never explicitly states when to prefer this tool over alternatives such as submit_long_running_task or execute_intent, nor does it name exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

store_trade_lessonA
Idempotent

Persist a trade lesson to OpenClaw memory so autonomous agents can learn from it. Lessons are retrieved during future trade decisions for similar setups. Required: symbol, direction, outcome, lesson text.

ParametersJSON Schema
NameRequiredDescriptionDefault
pnlNoP&L in dollars (optional)
lessonYesKey lesson from this trade
regimeNoMarket regime at time of trade
symbolYes
outcomeYes
directionYes

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate idempotence and non-destructiveness, but the description does not provide additional behavioral context, such as whether lessons can be overwritten or if there are storage limits. No contradictions with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two concise sentences plus a required-fields note, front-loading the purpose with no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the 50% schema coverage and no output schema, the description covers purpose and required params but omits details on optional parameters, duplicate handling, and post-storage behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description highlights required fields (symbol, direction, outcome, lesson) but adds minimal value beyond the schema for optional parameters pnl and regime, which have low schema coverage. Baseline 3 due to 50% coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool persists a trade lesson for autonomous learning, specifying the action and purpose. However, it does not differentiate from the sibling tool 'capture_learning_signal', which likely has a similar function.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It lists required fields and implies usage when storing a trade lesson for future learning, but lacks explicit guidance on when not to use or alternatives, such as 'capture_learning_signal'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

submit_long_running_taskA
Idempotent

Submit a durable long-running MCP Task (backtest, optimization, ML retrain). Returns a task_id immediately. Use get_task_status to poll. Tasks persist across disconnects.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleNo
paramsNo
operationYesOperation type: full_backtest, walk_forward_optimize, ml_retrain, evolution_cycle, mcpt_validation
descriptionNo

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds behavioral context beyond the annotations: it reveals that the tool is asynchronous (returns task_id immediately), tasks persist across disconnects, and explicitly mentions the polling pattern. The idempotentHint=true annotation is consistent, and no contradictions are present.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise at three sentences, each serving a distinct purpose: stating the action, explaining the response, and providing polling guidance. No unnecessary words, and the key information is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an asynchronous task submission tool with a nested params object, the description provides the essential flow but lacks details on error handling, response format (beyond 'task_id'), and constraints on the params object. Given no output schema, more detail would be beneficial.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With only 25% schema description coverage (only operation has a description), the description should compensate but does not. It lists operation examples but fails to explain the meaning and structure of the 'params' object, or the purpose of 'title' and 'description'. The description adds minimal value beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Submit' and the resource 'durable long-running MCP Task', with explicit examples (backtest, optimization, ML retrain). It distinguishes the tool from siblings like get_task_status by mentioning polling, and from potentially overlapping tools like run_backtest by emphasizing durability and persistence across disconnects.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly instructs to use get_task_status for polling after submission, which provides clear when-to-use guidance. However, it does not mention alternatives for similar tasks (e.g., run_backtest) or when to avoid this tool, leaving some gaps in comparative guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

submit_to_marketplaceB
Idempotent

Validate a strategy for marketplace readiness. Tier-1 calls are dry-run unless LISTING_API_KEY is configured; staging then requires a verified local artifact path + SHA-256 that VirusTotal reports clean (Django scan-hash; 5 scans/person/day).

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes
wf_foldsNo
win_rateNo
is_sharpeNo
timeframeYes
oos_sharpeYes
oos_tradesYes
asset_classNostock
descriptionNo
mcpt_p_valueNo
price_monthlyNo
profit_factorNo
strategy_typeYes
wf_worst_foldNo
max_drawdown_pctYes
mcpt_permutationsNo
wf_avg_oos_sharpeNo
verification_artifactNoRequired only for staging: {path, sha256, artifact_id?}. Path must be under ALGOCHAINS_VERIFIED_ARTIFACT_DIR.

TDQS

B3.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark the tool as non-readonly, idempotent, and non-destructive. The description adds meaningful behavioral context beyond that: Tier-1 calls are dry-runs unless LISTING_API_KEY is configured, staging requires a verified local artifact path with a clean SHA-256, and there is a 5 scans/person/day limit. This is useful conditional behavior not present in the annotations, though it leaves some ambiguity about what actually gets submitted when the key is configured.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and front-loaded with the core purpose, but it is a dense single sentence packed with undefined jargon like 'Tier-1 calls', 'staging', and 'Django scan-hash'. It would benefit from clearer separation of purpose, prerequisites, and conditional behavior.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 18-parameter tool with no output schema, this description is underspecified. It omits what the tool returns, how dry-run results are reported, which parameters are actually validated, how idempotency manifests in practice, and how this differs from the sibling validation/registration tools. The behavioral notes are valuable but do not make the tool safely invokable by an agent without significant additional inference.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 6%, so the description must compensate for the 18 undocumented parameters, but it does not. It adds helpful meaning only to verification_artifact and the VirusTotal/scan requirement, while required parameters like symbol, strategy_type, timeframe, oos_sharpe, oos_trades, and max_drawdown_pct are completely unexplained in both schema and description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Validate a strategy for marketplace readiness.' This clearly indicates the tool's marketplace-focused validation purpose. However, the tool name says 'submit' while the description centers on validation and dry-run behavior, and siblings like validate_strategy and validate_strategy_metrics exist without any differentiation, so it is clear but not fully disambiguating.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description communicates when dry-run vs. staging applies and lists prerequisites such as LISTING_API_KEY and a VirusTotal-clean artifact. This implies usage context but never explicitly tells an agent when to choose this tool over related siblings like validate_strategy, register_strategy, or get_marketplace_listings. No when-not-to-use guidance is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

subscribe_bot_metricsA
Idempotent

Subscribe to real-time bot metrics stream via MCP resource notifications. Fires on every fill, signal, and position update. Perfect for the private bot showcase on AlgoChains marketplace.

ParametersJSON Schema
NameRequiredDescriptionDefault
bot_nameYes
subscriber_idYesSubscriber identifier (use your user ID for private access)

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate readOnlyHint=false, idempotentHint=true, destructiveHint=false. The description adds that it fires on every fill, signal, and position update, and uses MCP resource notifications. This provides useful behavior context beyond annotations but does not detail side effects like rate limits or unsubscription methods.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loading the action and event triggers. Every sentence provides value without redundancy. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simplicity of the tool (2 required params, no output schema), the description covers purpose, events, and use case. Missing details like return format or unsubscription method, but these are not critical for a basic subscription tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 50%: subscriber_id has a description, bot_name does not. The description does not clarify parameters further. However, parameter names are self-explanatory and the tool's purpose implies their roles. A better description would explain bot_name, but the current state is adequate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it subscribes to real-time bot metrics via MCP resource notifications, differentiating it from sibling tools that retrieve metrics statically (e.g., get_all_bot_metrics, get_live_bot_metrics). The specific verb 'Subscribe' and resource 'bot metrics stream' make the purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description indicates when to use: for real-time updates on fills, signals, and positions. It mentions 'Perfect for the private bot showcase', providing context. However, it does not explicitly exclude one-time queries or mention alternatives, leaving some ambiguity.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

test_bridge_connectionA
Read-onlyIdempotent

Test a developer API key against the hosted AlgoChains bridge (mcp.algochains.ai). Returns auth status and scopes.

ParametersJSON Schema
NameRequiredDescriptionDefault
api_keyNoDeveloper key to test (or set AC_DEV_KEY env var)

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false. Description adds that it returns 'auth status and scopes' and mentions the target URL (mcp.algochains.ai), providing useful behavioral context beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence of 15 words is maximally concise. Includes purpose, target, and return info with no filler. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple test tool with one optional parameter and no output schema, description covers purpose, parameter, and return. Could mention error behavior or prerequisites, but adequate for typical use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Single parameter api_key is fully described in schema (100% coverage). Description adds value by noting the environment variable fallback (AC_DEV_KEY), which helps the agent understand alternative input methods.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states verb 'Test' and resource 'developer API key against the hosted AlgoChains bridge'. Distinguishes from sibling tools like create_developer_key or list_developer_keys by focusing on testing validity against a specific endpoint.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Purpose implies usage for validating a key, but no explicit when-to-use or when-to-avoid guidance. No mention of alternatives, so the agent must infer context from the name and description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

track_platform_eventA
Idempotent

Track a platform analytics event (page_view, signup, broker_connected, purchase, etc.). Used for soft-launch funnel monitoring.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
deviceNo
user_idNo
referrerNo
event_typeYesEvent type: page_view, signup, email_verified, waitlist_join, broker_connected, bot_started, purchase, conversion
propertiesNo
session_idNo

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate idempotency and non-destructiveness. Description adds only the soft-launch monitoring context, not expanding on side effects, auth requirements, or rate limits. Limited value beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, no fluff, directly states purpose and usage context. Efficient and front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 7 parameters, low schema coverage, and no output schema, the description should provide more parameter context or return value details. Only event type examples and use case given, leaving agent with many unknowns.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 14% (only event_type described). Description lists examples but does not explain other parameters like page, device, user_id. Minimal added value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Track a platform analytics event' with examples like page_view, signup, broker_connected, purchase. It distinguishes this tool from the many getter/setter siblings by specifying its role in soft-launch funnel monitoring.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly mentions 'used for soft-launch funnel monitoring', providing a clear context of when to use. Does not mention alternatives or exclusions, but the context is sufficient for agent selection among siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_algochains_telosA
Idempotent

Append a new entry to an AlgoChains TELOS file (goals, learned, ideas, challenges, etc.). Use to capture new lessons learned, ideas, or goal updates during a session. The log is append-only — entries are never overwritten.

ParametersJSON Schema
NameRequiredDescriptionDefault
entryYesThe content to add (markdown text, plain sentences OK)
actionNoappend = add to end (default); prepend = add after headerappend
sectionYesWhich TELOS section to update

TDQS

A3.5/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description states the tool is append-only and never overwrites, which contradicts the annotation idempotentHint: true. Since appending multiple times creates distinct entries, the tool is not idempotent, creating a serious inconsistency that could mislead an AI agent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences with no redundant information. The first sentence defines the function, and the second clarifies the use case and behavioral constraint, making it efficient and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has no output schema, and the description does not explain the return value or success confirmation. While the append-only behavior is clear, the lack of output details and the annotation contradiction reduce completeness for this simple mutation tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% coverage with descriptions for all three parameters. The description adds little beyond repeating that the tool appends and listing section types already in the schema. No additional semantics are provided.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool appends a new entry to an AlgoChains TELOS file, specifying the file types (goals, learned, ideas, etc.) and the append-only behavior. This distinguishes it from the sibling get_algochains_telos and other tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says when to use the tool ('capture new lessons learned, ideas, or goal updates during a session') and highlights the append-only constraint. However, it does not mention when not to use it or provide alternatives for overlapping actions like store_trade_lesson.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

validate_broker_connectionA
Read-onlyIdempotent

Test broker connectivity using credentials from environment variables. Returns success/failure with specific error messages. Fails loudly if credentials are missing or invalid — never silently proceeds.

ParametersJSON Schema
NameRequiredDescriptionDefault
brokerYes

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint, idempotentHint, and destructiveHint=false. The description adds value by emphasizing that the tool fails loudly if credentials are missing or invalid, and never silently proceeds, which is useful behavioral context beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description consists of two concise sentences, front-loading the purpose and output, followed by a key behavioral note. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one parameter and no output schema, the description provides the core information: action, input (implicitly via enum), output type, and error behavior. It is missing details about the specific environment variables required for each broker, but overall is sufficient for an agent to understand and use the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has one parameter (broker) with enum values (tradovate, alpaca, oanda). Schema description coverage is 0%, and the description does not explain what each broker option means or what environment variables are required. The enum values are self-explanatory, but additional context would help the agent know which credentials are needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it tests broker connectivity using credentials from environment variables, with specific error messages. It distinguishes from sibling tools like connect_broker by focusing on testing rather than establishing a connection.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for testing connectivity before actual connection, but does not explicitly state when to use this tool vs alternatives like connect_broker or get_connected_brokers. No when-not-to-use guidance is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

validate_data_providerA
Read-onlyIdempotent

Test market data provider connectivity: polygon, databento, onyx, or fred. Uses credentials from environment variables. Returns connected/failed with error details.

ParametersJSON Schema
NameRequiredDescriptionDefault
providerYes

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds useful behavioral details beyond annotations: it specifies that credentials are sourced from environment variables (so no credential parameters needed) and that the return is a status with error details. Annotations already declare readOnlyHint and idempotentHint, which are consistent with a test operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two short sentences: the first states the core purpose, and the second adds key behavioral details (credential source and return type). Every sentence is necessary and front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple test tool with one enum parameter and no output schema, the description covers essential aspects: what it tests, which providers, credential input, and return content. It lacks details on potential error scenarios or setup prerequisites, but given the tool's simplicity and annotations, it is sufficiently complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage, so the description must compensate. It lists the four valid provider values in the text, providing context that the parameter selects a market data provider. Although it doesn't describe each provider in depth, it clarifies the enum's purpose.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Test market data provider connectivity' with specific verb 'Test' and resource 'market data provider connectivity'. It enumerates the four allowed providers (polygon, databento, onyx, fred) in the description, distinguishing it from sibling tools like validate_broker_connection and connect_broker which deal with broker connectivity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implicitly indicates when to use the tool (to test connectivity) but does not explicitly state when not to use it or mention alternatives. It provides no exclusion criteria or context for selecting this tool over siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

validate_strategyA
Idempotent

Validate a StrategySpec for schema correctness, parameter ranges, and internal consistency.

ParametersJSON Schema
NameRequiredDescriptionDefault
specYesFull StrategySpec object to validate

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate idempotent and non-destructive behavior. The description adds value by detailing the validation scope (schema, params, consistency), providing context beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence of 13 words with no superfluous content, efficiently conveying the tool's purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple parameter and annotations, the description adequately covers the tool's behavior. It does not describe output format, but the lack of output schema makes this acceptable; still, a note on validation result would improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema description coverage, the baseline is 3. The description adds no extra meaning beyond the schema's 'Full StrategySpec object to validate'.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool validates a StrategySpec, specifying three checks: schema correctness, parameter ranges, and internal consistency. This distinguishes it from sibling tools like validate_strategy_metrics.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context (pre-validation before registration) but does not explicitly state when to use or avoid this tool, nor mention alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

validate_strategy_metricsA
Idempotent

Run the marketplace validation gates against reported strategy metrics (Sharpe, OOS trades, drawdown, win rate, MCPT). This is distinct from validate_strategy, which validates a StrategySpec schema.

ParametersJSON Schema
NameRequiredDescriptionDefault
mcptNoMCPT validation data
symbolYesTicker symbol
win_rateNoWin rate percentage
is_sharpeNoIn-sample Sharpe ratio
timeframeYes5min, 15min, hour, 4h, day
oos_sharpeYesOut-of-sample Sharpe ratio
oos_tradesYesNumber of OOS trades
parametersNoStrategy parameters dict
strategy_typeYestrend, mean_reversion, breakout, momentum, scalp
max_drawdown_pctYesMaximum drawdown percentage

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate idempotentHint=true, openWorldHint=true, and not destructive. The description adds 'run the marketplace validation gates' which implies execution, but no additional behavioral details (like response format or side effects) are provided. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences: first states purpose and lists metrics, second distinguishes from sibling. Every sentence earns its place. Front-loaded with key information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is brief given 10 parameters (6 required) and nested objects. It does not explain what the validation gates are, what the return value looks like, or prerequisites. Adequate but could be more complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already describes all parameters. The description lists some metric names (Sharpe, OOS trades, etc.) which correspond to parameters, but does not add meaning beyond what the schema provides. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Run') and resource ('marketplace validation gates') and lists the metrics (Sharpe, OOS trades, drawdown, win rate, MCPT). It explicitly distinguishes from sibling tool validate_strategy, making it clear what this tool does differently.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly differentiates from validate_strategy, providing an alternative. However, it does not specify when to choose this tool over other related tools like run_marketplace_autopilot or evaluate_strategy_for_prop_fund.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

verify_codeA
Read-onlyIdempotent

Verify a code sent via email or SMS. Returns valid=true if the code is correct and not expired.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYesThe 6-digit code the user entered
purposeNoemail_verification
destinationYesEmail or phone the code was sent to

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=true and idempotentHint=true, so the safety profile is clear. The description adds context that the tool returns valid=true for correct and non-expired codes, which complements the annotations. No contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no fluff. Front-loaded with the core purpose, followed by the key outcome. Every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with no output schema, the description covers the core behavior and return condition. It mentions expiration, which is important. Missing details like error handling or rate limits, but annotations already cover safety and idempotency.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description provides no parameter details beyond the input schema. While code and destination are described in the schema, the purpose parameter is left undocumented (only has a default). With schema coverage at 67%, the description should compensate but fails to do so.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (verify), the resource (code sent via email or SMS), and the outcome (returns valid=true if correct and not expired). It distinguishes itself from sibling tools like verify_email_otp and verify_mfa by specifying the channels (email/SMS).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for checking email/SMS verification codes but does not explicitly state when to use this tool versus alternatives like verify_email_otp or verify_mfa. There is no guidance on when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

verify_email_otpA
Idempotent

Verify the email OTP token from the AlgoChains confirmation email. Activates your account and starts a session.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYes
tokenYes6-digit or link token from confirmation email

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Describes key outcomes (activate account, start session) beyond annotations which indicate idempotency and non-destructiveness. However, it lacks details on side effects or error handling for invalid/expired tokens.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the core purpose, no fluff. Each sentence contributes essential information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers purpose and outcome for a simple two-parameter tool without output schema. However, missing details on error states (e.g., expired token) or response format.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema describes 'token' format (6-digit or link) but not 'email'. With 50% schema coverage, the description adds no additional parameter meaning beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states the tool verifies an email OTP token and activates the account while starting a session. It is specific about the resource (AlgoChains confirmation email) and distinguishes from siblings like verify_code or verify_mfa.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implies usage for initial account activation via confirmation email, but does not explicitly state when to avoid using it (e.g., if already verified) or mention alternatives like verify_code for other OTP scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

verify_mfaA
Idempotent

Verify MFA code to complete enrollment or step up to AAL2 session. AAL2 is required for create_developer_key, rotate_developer_key, revoke_developer_key.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYes6-digit TOTP or SMS code
factor_idYes
challenge_idNoChallenge ID from challenge_mfa (required for login step-up, not for enrollment)

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate the tool is not read-only, not destructive, and idempotent. The description adds behavioral context by specifying the two operations (enrollment, step-up) but does not mention authentication requirements, rate limits, or side effects. It adds some value beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with two sentences, no unnecessary words. It front-loads the purpose in the first sentence and adds relevant context in the second. Every sentence serves a purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with three parameters and no output schema, the description covers the core use cases but omits details like return values, error handling, or the result of successful verification. Given the complexity of MFA flows, it would benefit from mentioning what the tool returns or what happens on failure.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema describes code and challenge_id, but factor_id lacks a description. Schema coverage is 67%. The description does not add any parameter-specific details or clarify the parameters beyond the schema. It neither compensates for the missing factor_id description nor enhances understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Verify MFA code to complete enrollment or step up to AAL2 session.' It specifies the verb (verify), resource (MFA code), and two distinct use cases, distinguishing it from sibling tools like verify_code or verify_email_otp.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit usage context: for enrollment completion or login step-up. It also notes that AAL2 is required for three specific developer key operations. While it doesn't list alternatives or when not to use, the context is clear enough to guide the agent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 23 tool updatesv22.7.3
    • Changedconnect_onyx_docs2 fields changed
      • addedInput schema / properties / owner_token
        Added value: +{
        +  "description": "Must match OWNER_API_TOKEN env var.",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "doc_paths",
        -  "doc_type"
        -]New value: +[
        +  "doc_paths",
        +  "doc_type",
        +  "owner_token"
        +]
    • Changedcreate_developer_key2 fields changed
      • addedInput schema / properties / access_token
        Added value: +{
        +  "description": "AAL2 access token from verify_mfa response",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[]New value: +[
        +  "access_token"
        +]
    • Removedcreate_support_ticket
    • Removedget_all_bot_ops_status
    • Removedget_all_user_bots
    • Removedget_kalshi_settlements
    • Changedget_orders1 field changed
      • changedOutput schema / (root)
        Previous value: -{
        -  "properties": {
        -    "count": {
        -      "type": "integer"
        -    },
        -    "orders": {
        -      "items": {
        -        "properties": {
        -          "filled_qty": {
        -            "type": "number"
        -          },
        -          "limit_price": {
        -            "type": "number"
        -          },
        -          "order_id": {
        -            "type": "string"
        -          },
        -          "order_type": {
        -            "type": "string"
        -          },
        -          "qty": {
        -            "type": "number"
        -          },
        -          "side": {
        -            "type": "string"
        -          },
        -          "status": {
        -            "type": "string"
        -          },
        -          "symbol": {
        -            "type": "string"
        -          }
        -        },
        -        "type": "object"
        -      },
        -      "type": "array"
        -    }
        -  },
        -  "type": "object"
        -}New value: +null
    • Changedget_positions1 field changed
      • changedOutput schema / (root)
        Previous value: -{
        -  "properties": {
        -    "count": {
        -      "type": "integer"
        -    },
        -    "positions": {
        -      "items": {
        -        "properties": {
        -          "avg_entry_price": {
        -            "type": "number"
        -          },
        -          "current_price": {
        -            "type": "number"
        -          },
        -          "market_value": {
        -            "type": "number"
        -          },
        -          "qty": {
        -            "type": "number"
        -          },
        -          "side": {
        -            "type": "string"
        -          },
        -          "symbol": {
        -            "type": "string"
        -          },
        -          "unrealized_pnl": {
        -            "type": "number"
        -          }
        -        },
        -        "type": "object"
        -      },
        -      "type": "array"
        -    }
        -  },
        -  "type": "object"
        -}New value: +null
    • Changedget_quote1 field changed
      • changedOutput schema / (root)
        Previous value: -{
        -  "properties": {
        -    "ask": {
        -      "type": "number"
        -    },
        -    "bid": {
        -      "type": "number"
        -    },
        -    "last": {
        -      "type": "number"
        -    },
        -    "symbol": {
        -      "type": "string"
        -    },
        -    "timestamp": {
        -      "type": "string"
        -    },
        -    "volume": {
        -      "type": "number"
        -    }
        -  },
        -  "type": "object"
        -}New value: +null
    • Removedget_rithmic_live_accounts
    • Removedget_rithmic_live_fills
    • Removedget_rithmic_live_pnl
    • Removedget_rithmic_live_positions
    • Removedget_user_bot_metrics
    • Removedrecord_prediction_market_bot_metric
    • Addedreserve_llm_budget
    • Changedrevoke_developer_key2 fields changed
      • addedInput schema / properties / access_token
        Added value: +{
        +  "description": "AAL2 access token from verify_mfa response",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "key_id"
        -]New value: +[
        +  "access_token",
        +  "key_id"
        +]
    • Changedrotate_developer_key2 fields changed
      • addedInput schema / properties / access_token
        Added value: +{
        +  "description": "AAL2 access token from verify_mfa response",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "key_id"
        -]New value: +[
        +  "access_token",
        +  "key_id"
        +]
    • Changedrun_mcpt_pipeline3 fields changed
      • changedInput schema / properties / dry_run / default
        Previous value: -falseNew value: +true
      • changedInput schema / properties / dry_run / description
        Previous value: -"Report only, no writes"New value: +"ASSP: default true — report only, no writes. Set false only with owner_token."
      • addedInput schema / properties / owner_token
        Added value: +{
        +  "description": "Required when dry_run=false",
        +  "type": "string"
        +}
    • Removedrun_onyx_ingest
    • Removedsend_email_verification_code
    • Removedsend_sms_verification_code
    • Addedstart_sandboxed_agent
  2. 4 tool updatesv22.7.2
    • Changedget_learn_hub_health1 field changed
      • removedInput schema / properties / base_url
        Removed value: -{
        -  "default": "https://algochains.ai",
        -  "description": "Base URL to check (default: https://algochains.ai)",
        -  "type": "string"
        -}
    • Removedget_prop_mode_status
    • Removedrun_prop_fund_autopilot
    • Changedsubmit_to_marketplace1 field changed
      • addedInput schema / properties / verification_artifact
        Added value: +{
        +  "description": "Required only for staging: {path, sha256, artifact_id?}. Path must be under ALGOCHAINS_VERIFIED_ARTIFACT_DIR.",
        +  "properties": {
        +    "artifact_id": {
        +      "type": "string"
        +    },
        +    "path": {
        +      "type": "string"
        +    },
        +    "sha256": {
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
  3. 181 tool updatesv22.7.1
    • First observedaccept_subscriber_terms
    • First observedacknowledge_risk_disclosure
    • First observedapprove_intent
    • First observedbracket_integrity_check
    • First observedcapture_learning_signal
    • First observedchallenge_mfa
    • First observedcheck_order_safety
    • First observedcheck_propagation_health
    • First observedcheck_unprotected_positions
    • First observedcomplete_password_reset
    • First observedcompute_correlation_matrix
    • First observedcompute_factor_exposure
    • First observedcompute_volatility_surface
    • First observedconnect_broker
    • First observedconnect_onyx_docs
    • First observedcreate_developer_key
    • First observedcreate_referral_code
    • First observedcreate_shadow_portfolio
    • First observedcreate_support_ticket
    • First observeddetect_market_regime
    • First observeddetect_regime_hmm
    • First observeddiscover_tools
    • First observedenroll_mfa
    • First observedevaluate_strategy_for_prop_fund
    • First observedexchange_broker_oauth_code
    • First observedexecute_dynamic_tool
    • First observedexecute_intent
    • First observedgenerate_broker_auth_url
    • First observedgenerate_ide_config
    • First observedgenerate_payment_link
    • First observedget_account
    • First observedget_adaptive_brain_status
    • First observedget_agent_loop_status
    • First observedget_ai_pipeline_health
    • First observedget_algochains_telos
    • First observedget_all_bot_metrics
    • First observedget_all_bot_ops_status
    • First observedget_all_user_bots
    • First observedget_analytics_summary
    • First observedget_bot_bracket_status
    • First observedget_bot_card_data
    • First observedget_bot_dashboard
    • First observedget_bot_health
    • First observedget_bot_heartbeat_openclaw
    • First observedget_bot_position_state
    • First observedget_bracket_guardian_status
    • First observedget_broker_setup_guide
    • First observedget_checkout_url
    • First observedget_circuit_breaker_status
    • First observedget_connected_brokers
    • First observedget_crude_oil_inventories
    • First observedget_current_regime
    • First observedget_daily_loss_proximity
    • First observedget_dark_pool_volume_v21
    • First observedget_data_provider_setup_guide
    • First observedget_developer_key_usage
    • First observedget_earnings_catalyst
    • First observedget_fed_policy_signals
    • First observedget_footprint_chart
    • First observedget_funding_rate
    • First observedget_kalshi_settlements
    • First observedget_kronos_shadow_stats
    • First observedget_latency_profile
    • First observedget_learn_hub_health
    • First observedget_learning_signals
    • First observedget_live_bot_metrics
    • First observedget_macro_signals
    • First observedget_marketplace_listings
    • First observedget_my_realized_pnl
    • First observedget_my_referrals
    • First observedget_my_usage
    • First observedget_onboarding_status
    • First observedget_onyx_status
    • First observedget_openclaw_memory
    • First observedget_openclaw_state_summary
    • First observedget_orders
    • First observedget_password_policy
    • First observedget_polymarket_high_volume
    • First observedget_polymarket_market
    • First observedget_polymarket_market_history
    • First observedget_positions
    • First observedget_prediction_market_bot_metrics
    • First observedget_prediction_markets
    • First observedget_pricing
    • First observedget_prop_mode_status
    • First observedget_protection_config
    • First observedget_quant_regime_state
    • First observedget_quote
    • First observedget_referral_earnings
    • First observedget_rithmic_live_accounts
    • First observedget_rithmic_live_fills
    • First observedget_rithmic_live_pnl
    • First observedget_rithmic_live_positions
    • First observedget_signal_trade_correlation
    • First observedget_skill_detail
    • First observedget_skills_for_task
    • First observedget_staking_yields
    • First observedget_started
    • First observedget_strategy_academic_citations
    • First observedget_subscriber_status
    • First observedget_system_health
    • First observedget_system_heartbeat
    • First observedget_system_status
    • First observedget_task_status
    • First observedget_tool_details
    • First observedget_tower_health
    • First observedget_tower_job_status
    • First observedget_us_economic_indicators
    • First observedget_user_bot_metrics
    • First observedget_vix_term_structure
    • First observedget_waitlist_stats
    • First observedgraphiti_health
    • First observedgraphiti_search
    • First observedingest_csv_data
    • First observedingest_json_signals
    • First observedinitiate_account_recovery
    • First observedinitiate_password_reset
    • First observedinvoke_moltbook_debate
    • First observedjoin_bot
    • First observedjoin_waitlist
    • First observedlist_bot_research_attachments
    • First observedlist_developer_keys
    • First observedlist_ingested_data
    • First observedlist_mfa_factors
    • First observedlist_polymarket_markets
    • First observedlist_prop_funds
    • First observedlist_skills
    • First observedlogin_algochains
    • First observedlogout_algochains
    • First observedmassive_call_api
    • First observedmassive_get_endpoint_docs
    • First observedmassive_query_data
    • First observedmassive_run_pipeline
    • First observedmassive_search_endpoints
    • First observedmcp_tool_manifest
    • First observednumerai_status
    • First observedonyx_ask
    • First observedonyx_search
    • First observedoptimize_strategy
    • First observedportfolio_summary
    • First observedquery_data_warehouse
    • First observedrecord_prediction_market_bot_metric
    • First observedrefresh_session
    • First observedregister_strategy
    • First observedremove_mfa_factor
    • First observedrequest_trade_confirmation
    • First observedrevoke_broker_connection
    • First observedrevoke_developer_key
    • First observedrotate_developer_key
    • First observedrun_backtest
    • First observedrun_evolution_cycle
    • First observedrun_guardrail
    • First observedrun_marketplace_autopilot
    • First observedrun_mcpt_pipeline
    • First observedrun_onboarding_smoke_test
    • First observedrun_onyx_ingest
    • First observedrun_prop_fund_autopilot
    • First observedrun_regime_detection
    • First observedsearch_prediction_markets
    • First observedsearch_skills
    • First observedsend_email_verification_code
    • First observedsend_ntfy_notification
    • First observedsend_sms_verification_code
    • First observedset_algochains_api_key
    • First observedset_guardrail_preferences
    • First observedsignup_algochains
    • First observedstart_onboarding
    • First observedstore_trade_lesson
    • First observedsubmit_long_running_task
    • First observedsubmit_to_marketplace
    • First observedsubscribe_bot_metrics
    • First observedtest_bridge_connection
    • First observedtrack_platform_event
    • First observedupdate_algochains_telos
    • First observedvalidate_broker_connection
    • First observedvalidate_data_provider
    • First observedvalidate_strategy
    • First observedvalidate_strategy_metrics
    • First observedverify_code
    • First observedverify_email_otp
    • First observedverify_mfa

TDQS

A3.5/5.0
Disambiguation4/5

Most tools have distinct purposes, but there is overlap among many health-check and metrics tools (e.g., get_bot_health, get_system_health, get_ai_pipeline_health; get_all_bot_metrics, get_bot_dashboard, get_live_bot_metrics). Descriptions help, but an agent could easily select the wrong one.

Naming Consistency4/5

The dominant pattern is verb_noun in snake_case, which is consistent. However, a few tools like massive_call_api, graphiti_health, and bracket_integrity_check deviate slightly from the strict verb_noun pattern, causing minor inconsistency.

Tool Count2/5

181 tools is extremely high for an MCP server. While the server covers a broad domain, many tools are redundant (e.g., multiple health checks and metric fetchers). This count is excessive and likely overwhelming for most agents.

Completeness5/5

The tool set is remarkably comprehensive, covering user management, broker connectivity, trading, risk, backtesting, optimization, bot monitoring, prediction markets, knowledge base, and more. There are no obvious gaps for the platform's purpose.

Maintenance

ActivityActive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI assistants to perform cryptocurrency trading analysis and execution with 38+ tools including real-time market data, technical indicators, risk management, and support for both paper trading and live execution on Hyperliquid.
    7
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables AI tools to execute trades and fetch market data across six crypto exchanges via natural language or API, with dual Telegram and MCP interfaces.
    2
    -
  • A
    license
    B
    quality
    B
    maintenance
    Provides 31 AI-powered crypto trading tools for Claude, Cursor, and any MCP client, enabling strategy creation, backtesting, bot deployment, copy trading, and portfolio management across multiple exchanges.
    34
    68
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/AlgoChains/algochains-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server