Skip to main content
Glama
AlgoChains MCP Server

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 Penance — drawdown_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.

Inputs: acknowledgment.

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.

Inputs: acknowledgment (required).

approve_intentA
Destructive

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

Inputs: plan_id (required).

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

Inputs: no named parameters.

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.

Inputs: outcome (required), action_type (required), action_description (required), bot, +5 more.

challenge_mfaA
Idempotent

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

Inputs: factor_id (required).

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.

Inputs: qty (required), side (required), broker (required), symbol (required), +4 more.

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.

Inputs: max_lag_seconds.

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

Inputs: no named parameters.

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

Inputs: access_token (required), new_password (required).

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.

Inputs: symbols (required), period, threshold.

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.

Inputs: symbol (required), period, benchmark.

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.

Inputs: symbol (required), expiry_filter.

connect_brokerC
Idempotent

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

Inputs: broker (required).

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

Inputs: doc_type (required), doc_paths (required), owner_token (required).

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.

Inputs: access_token (required), env, name, scopes.

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.

Inputs: no named parameters.

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.

Inputs: name (required), broker, capital, strategy_id.

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.

Inputs: vix, spy_price, spy_sma_20, spy_sma_50, +4 more.

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.

Inputs: symbol, lookback_days.

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.

Inputs: query (required), top_k, category.

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.

Inputs: factor_type.

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.

Inputs: strategy_name (required), sharpe, fund_key, win_rate, +4 more.

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.

Inputs: code (required), state (required), redirect_uri.

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.

Inputs: arguments (required), tool_name (required).

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.

Inputs: intent (required), dry_run.

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.

Inputs: broker (required), user_id (required), redirect_uri.

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.

Inputs: ide (required), tool_mode.

get_accountB
Read-onlyIdempotent

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

Inputs: broker (required). Returns: cash, broker, equity, currency, +1 more

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.

Inputs: no named parameters.

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.

Inputs: no named parameters.

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.

Inputs: bot_id.

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.

Inputs: section.

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.

Inputs: no named parameters.

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.

Inputs: days, event_type.

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.

Inputs: bot_id (required).

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.

Inputs: bot_id (required).

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.

Inputs: no named parameters.

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

Inputs: bot.

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.

Inputs: no named parameters.

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.

Inputs: bot_id (required).

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.

Inputs: no named parameters.

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

Inputs: broker (required).

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=<received_key> to activate.

Inputs: email (required), tier, referral_code.

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.

Inputs: no named parameters.

get_connected_brokersC
Destructive

List all brokers a user has connected via OAuth, with token expiry and scope information.

Inputs: user_id (required).

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

Inputs: use_cache.

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.

Inputs: no named parameters.

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.

Inputs: no named parameters.

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.

Inputs: symbol (required), date.

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

Inputs: provider (required).

get_developer_key_usageA
Read-onlyIdempotent

Get usage metadata for a developer key (last used, scopes, active status).

Inputs: key_id (required).

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.

Inputs: symbol (required), quarter.

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.

Inputs: use_cache.

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.

Inputs: symbol (required), bars, tick_data, timeframe.

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.

Inputs: symbol (required), exchanges.

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.

Inputs: bot_key.

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.

Inputs: no named parameters.

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

Inputs: no named parameters.

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.

Inputs: bot, limit, outcome, summarize, +2 more.

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.

Inputs: bot_id.

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.

Inputs: signals.

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.

Inputs: limit, status, asset_class.

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.

Inputs: no named parameters.

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.

Inputs: no named parameters.

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.

Inputs: no named parameters.

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.

Inputs: no named parameters.

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

Inputs: no named parameters.

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.

Inputs: limit, key_prefix.

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.

Inputs: no named parameters.

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.

Inputs: broker (required), status.

get_password_policyA
Read-onlyIdempotent

Return the current password policy requirements for AlgoChains accounts.

Inputs: no named parameters.

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.

Inputs: limit.

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.

Inputs: market_id_or_slug (required).

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.

Inputs: market_id_or_slug (required), timeframe.

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.

Inputs: broker (required).

get_prediction_market_bot_metricsA
Read-onlyIdempotent

Read recent JSONL metric entries for a prediction-market bot_id from the local audit log.

Inputs: bot_id (required), max_lines.

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.

Inputs: category, min_volume.

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.

Inputs: no named parameters.

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.

Inputs: no named parameters.

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.

Inputs: bot_id.

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.

Inputs: broker (required), symbol (required).

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.

Inputs: no named parameters.

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.

Inputs: limit, action, filled_only.

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.

Inputs: name (required).

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.

Inputs: task_description (required).

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.

Inputs: protocols.

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.

Inputs: goal.

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.

Inputs: bot_id (required).

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.

Inputs: no named parameters.

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.

Inputs: no named parameters.

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.

Inputs: no named parameters.

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.

Inputs: no named parameters.

get_task_statusA
Read-onlyIdempotent

Get status and progress of a long-running MCP Task. Returns phase, progress percentage, result (when done), or error.

Inputs: task_id (required).

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.

Inputs: tool_name (required).

get_tower_healthA
Read-onlyIdempotent

Check the configured compute node (ALGOCHAINS_TOWER_HOST) health: reachable, memory, active jobs, GPU status.

Inputs: no named parameters.

get_tower_job_statusA
Read-onlyIdempotent

Get status and result of a dispatched tower job. Polls the tower via SSH for the result file.

Inputs: job_id (required).

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.

Inputs: use_cache, categories.

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.

Inputs: no named parameters.

get_waitlist_statsA
Read-onlyIdempotent

Get waitlist aggregate statistics: total signups, by status, by broker interest.

Inputs: no named parameters.

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

Inputs: no named parameters.

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.

Inputs: symbol (required), file_path (required), timeframe (required), columns, +2 more.

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.

Inputs: symbol (required), file_path (required), signal_type (required).

initiate_account_recoveryA
Idempotent

Start account recovery for users who cannot receive the reset email. Creates a support ticket and provides recovery instructions.

Inputs: email (required), reason, contact_info.

initiate_password_resetA
Idempotent

Send a password reset link to a user's email via Supabase Auth. Always returns success to prevent user enumeration.

Inputs: email (required).

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.

Inputs: symbol (required), direction (required), confidence (required), regime, +1 more.

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.

Inputs: bot (required), max_contracts, size_multiplier, daily_loss_cap_usd.

join_waitlistA
Idempotent

Add an email to the AlgoChains waitlist. Stores in Supabase, sends welcome email via Resend. Returns waitlist position.

Inputs: email (required), broker, use_case, last_name, +2 more.

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.

Inputs: bot_id.

list_developer_keysA
Read-onlyIdempotent

List your developer API keys (masked — plaintext never returned after creation).

Inputs: no named parameters.

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.

Inputs: no named parameters.

list_mfa_factorsA
Read-onlyIdempotent

List enrolled MFA factors for the current session.

Inputs: no named parameters.

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.

Inputs: limit, offset, status, category.

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.

Inputs: platform.

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.

Inputs: limit, offset, category, platform.

login_algochainsA
Idempotent

Login to AlgoChains with email + password. Stores session locally for subsequent MFA and key operations.

Inputs: email (required), password (required).

logout_algochainsA
Idempotent

Revoke current AlgoChains session and clear stored credentials.

Inputs: no named parameters.

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.

Inputs: path (required), apply, method, params, +4 more.

massive_get_endpoint_docsA
Read-onlyIdempotent

Get parameter documentation for a Massive API endpoint. Pass the docs_url from massive_search_endpoints results.

Inputs: docs_url (required).

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.

Inputs: sql (required), apply.

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.

Inputs: search_query (required), sql, apply, params, +2 more.

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.

Inputs: query (required), scope, top_k.

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.

Inputs: include_tool_details.

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.

Inputs: no named parameters.

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

Inputs: question (required).

optimize_strategyC
Idempotent

Run Optuna-based parameter optimization on a StrategySpec. Finds best params across n_trials.

Inputs: spec (required), metric, n_trials.

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.

Inputs: no named parameters.

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.

Inputs: ticker (required), asset_class (required), limit, end_date, +1 more.

refresh_sessionA
Read-onlyIdempotent

Refresh an expiring AlgoChains session using the stored refresh_token. Call before session expires to stay logged in.

Inputs: no named parameters.

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.

Inputs: name (required), symbols (required), spec_path (required), timeframe (required), +3 more.

remove_mfa_factorA
Destructive

Remove an enrolled MFA factor. Requires owner_token — destructive, downgrades session to AAL1.

Inputs: factor_id (required), owner_token (required).

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.

Inputs: side (required), symbol (required), quantity (required), action, +2 more.

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.

Inputs: amount_usd (required), daily_cap_usd.

revoke_broker_connectionA
Destructive

Disconnect a broker OAuth connection and remove stored tokens.

Inputs: broker (required), user_id (required).

revoke_developer_keyA
Idempotent

Revoke (soft-delete) a developer API key. Requires AAL2 session.

Inputs: key_id (required), access_token (required).

rotate_developer_keyA
Idempotent

Atomically rotate a developer key (revoke old, mint new). Requires AAL2 session. New plaintext returned ONCE ONLY.

Inputs: key_id (required), access_token (required), name.

run_backtestB
Idempotent

Run a backtest on a StrategySpec using the Rust engine. Returns Sharpe, drawdown, win rate, P&L.

Inputs: spec (required), capital.

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

Inputs: strategy_id (required), generations, promote_threshold, min_trades_required.

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.

Inputs: side (required), symbol (required), vix, stop, +4 more.

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.

Inputs: stage, symbol, dry_run.

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.

Inputs: step, dry_run, no_desktop, owner_token.

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.

Inputs: no named parameters.

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.

Inputs: symbol.

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.

Inputs: query (required), limit, platform.

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.

Inputs: query (required), limit.

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.

Inputs: title (required), message (required), tags, topic, +2 more.

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

Inputs: api_key (required).

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.

Inputs: slack_alerts_enabled, notify_on_daily_loss_pct, pause_on_consecutive_losses.

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.

Inputs: email (required), password (required).

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.

Inputs: no named parameters.

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.

Inputs: task (required), max_runtime_sec.

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.

Inputs: lesson (required), symbol (required), outcome (required), direction (required), +2 more.

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.

Inputs: operation (required), title, params, description.

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

Inputs: symbol (required), timeframe (required), oos_sharpe (required), oos_trades (required), +14 more.

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.

Inputs: bot_name (required), subscriber_id (required).

test_bridge_connectionA
Read-onlyIdempotent

Test a developer API key against the hosted AlgoChains bridge (mcp.algochains.ai). Returns auth status and scopes.

Inputs: api_key.

track_platform_eventA
Idempotent

Track a platform analytics event (page_view, signup, broker_connected, purchase, etc.). Used for soft-launch funnel monitoring.

Inputs: event_type (required), page, device, user_id, +3 more.

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.

Inputs: entry (required), section (required), action.

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.

Inputs: broker (required).

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.

Inputs: provider (required).

validate_strategyA
Idempotent

Validate a StrategySpec for schema correctness, parameter ranges, and internal consistency.

Inputs: spec (required).

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.

Inputs: symbol (required), timeframe (required), oos_sharpe (required), oos_trades (required), +6 more.

verify_codeA
Read-onlyIdempotent

Verify a code sent via email or SMS. Returns valid=true if the code is correct and not expired.

Inputs: code (required), destination (required), purpose.

verify_email_otpA
Idempotent

Verify the email OTP token from the AlgoChains confirmation email. Activates your account and starts a session.

Inputs: email (required), token (required).

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.

Inputs: code (required), factor_id (required), challenge_id.

Tool Schema Changelog

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

Loading tool schema changelog…

    TDQS

    B3.2/5.0

    Scored across 168 tools

    Disambiguation2/5

    The 168-tool surface contains multiple clusters of near-overlapping status/health tools (get_bot_health, get_system_health, get_system_status, get_bot_dashboard, get_live_bot_metrics, get_all_bot_metrics) whose boundaries are subtle and require careful reading to distinguish. While many descriptions include 'use for' guidance, the sheer number of similar 'get_*', 'check_*', and 'run_*' tools makes misselection likely for an agent.

    Naming Consistency3/5

    Most tools follow a readable snake_case verb_noun pattern (get_live_bot_metrics, run_backtest, create_developer_key), but the set mixes many verb styles and includes noun-style outliers like portfolio_summary, mcp_tool_manifest, graphiti_search, and numerai_status. The naming is not chaotic, but it lacks a single predictable convention across the server.

    Tool Count1/5

    168 tools is an extreme count, far beyond the 25+ threshold where a tool set becomes very hard to navigate. Even with discover_tools as a meta-helper, the server's surface area is overwhelming and the platform would be better split into focused servers (broker, data, auth, marketplace, monitoring).

    Completeness4/5

    The server covers an impressively wide lifecycle: onboarding, auth/MFA, broker OAuth, market data, backtesting, strategy validation, risk guards, bot monitoring, subscription, and marketplace. Minor gaps exist such as no update/delete for registered strategies and some read-heavy areas lacking mutation counterparts, but core workflows have no serious dead ends.

    Maintenance

    ActivityNo data
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      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
      D
      maintenance
      Enables quant research, strategy development, backtesting, and paper trading through natural language prompts, integrated with 20+ AI agents.
      134
      -