AlgoChains MCP Server
OfficialAlgoChains MCP Server is a comprehensive AI-powered trading infrastructure with 533 tools across 21 domains, connecting AI assistants (Claude, Cursor, ChatGPT) to live futures bots, real market data, broker accounts, backtesting engines, and a strategy marketplace — all backed by real APIs with no synthetic data.
Live Bot Monitoring & Operations – Monitor 4 live futures bots (MNQ, CL, MES, NQ) in real time, including health checks, P&L, positions, bracket status, and AI pipeline health.
Market Data & Analysis – Fetch real-time quotes, OHLCV, tick data, footprint charts, options chains, dark pool volume, VIX term structure, and macroeconomic indicators (FRED, CBOE) via Databento, Polygon, yfinance, and a Massive S3 archive back to 2003.
Portfolio & Account Management – View unified portfolio and positions across brokers (Tradovate, Alpaca, OANDA, Interactive Brokers, E*TRADE, Kalshi), track P&L, and manage working orders.
Order Execution & Safety – Place, cancel, and bracket orders with 13 pre-trade safety checks, a 6-gate GUARDRAIL middleware chain, $500 daily loss cap, 15% max drawdown circuit breaker, VIX > 35 killswitch, AI loop detection, and human confirmation for trades > $10K notional.
Backtesting & Strategy Development – Run backtests via a Rust engine, optimize parameters with Optuna, perform walk-forward optimization, MCPT validation, and dispatch heavy ML workloads to a remote GPU tower.
Market Regime & Advanced Analytics – Detect market regimes via HMM and multi-signal analysis, compute implied volatility surfaces, Fama-French 5-factor exposures, cross-asset correlation matrices, and macro alpha signals.
Marketplace & Copy-Trading – Browse strategy listings, subscribe to live bot signals, manage paper portfolios, and submit strategies through a 7-gate validation pipeline with auto-graduation to live trading.
Prediction Markets – Access Polymarket and Kalshi for event probabilities, live market search, historical prices, and settled contract data.
Intelligence & Research – Query the Onyx RAG knowledge base (400+ docs), search the Graphiti temporal knowledge graph, retrieve FinBERT earnings sentiment, and access academic citations backing each strategy.
Agent Memory & Learning – Store/retrieve trade lessons, capture learning signals, run Moltbook multi-agent bull/bear debates, and access OpenClaw agent memory for continuous improvement.
Tool Discovery & Dynamic Execution – Search all 533 tools via natural language (discover_tools) and execute any tool dynamically by name, with a curated "Smart Mode" of 181 tools for everyday use.
Billing & Subscriptions – Programmatic Stripe checkout, usage metering, referral tracking, and creator/strategy publisher revenue via Stripe Connect.
Notifications & System Ops – Send mobile push notifications, monitor system heartbeat and dual-node failover, and manage long-running background tasks with persistent status polling.
Allows sending push notifications via ntfy.sh, used for alerting on trading events or bot status changes.
Provides integration with QuantConnect for strategy backtesting and algorithmic trading workflows, enabling tools like run_backtest and walk_forward_test to leverage QuantConnect's platform.
Used as the backend for storing and resolving subscriber keys and account data, enabling the MCP server to authenticate users and manage subscriptions.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@AlgoChains MCP Server What's my paper P&L today?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
AlgoChains MCP Server
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 demoThat'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
Sign up at algochains.ai — free paper account provisioned automatically
Dashboard shows your
sub_live_…subscriber key — copy itSet
ALGOCHAINS_SUBSCRIBER_KEY=sub_live_…in your shell or.envClaude now has 9 subscriber-scoped tools available:
Tool | What it does |
| Paper balance + active bot assignments + open signals + 7-day P&L in one call |
| Unread copy-trade signals for the bots you follow (MNQ by default) |
| Today's P&L and 7-day P&L from your paper fills |
| Paginated fill history — symbol, side, qty, fill price, P&L per trade |
| Which bots you're subscribed to and their risk caps |
| Browse all approved bots available to subscribe to |
| Place a self-directed paper order (filled at real quotes) |
| Cancel a pending paper order |
| 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_propagationfor the copy-trade pipeline health tools (requiresOWNER_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 ( | 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 |
|
2 | Signals & Analysis | 12 | 18 |
|
3 | Research & Backtesting | 10 | 16 |
|
4 | Position Sizing | 6 | 8 |
|
5 | Options Analytics | 4 | 6 |
|
6 | Prop Fund Pipeline | 8 | 10 |
|
7 | Broker Management | 6 | 15 |
|
8 | Subscriber / Copy-Trade | 3 stdio | 16 bridge |
|
9 | Account Protection | 6 | 8 |
|
10 | Order Execution | 8 | 12 |
|
11 | Emergency / Destructive | 3 | 5 |
|
12 | Intelligence (Onyx + Macro) | 10 | 14 |
|
13 | Prediction Markets | 8 | 12 |
|
14 | Skills Bridge | 5 | 5 |
|
15 | Agent Memory | 6 | 8 |
|
16 | Live Bot Intelligence | 12 | 18 |
|
17 | Desktop Tower / Dispatch | 4 | 8 |
|
18 | Performance Reporting | 4 | 6 |
|
19 | Billing & Subscription | 12 | 12 |
|
20 | Platform / SaaS | 8 | 20 |
|
21 | AlphaLoop / Evolution | 12 | 22 |
|
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 | 7-AI ensemble, 5-min bars | Dec 2024 |
|
| CL | FinBERT sentiment + momentum | Jan 2025 |
|
| MES | EMA pullback + regime detection | Feb 2025 |
|
| NQ | Trend following + foundation model | Feb 2025 |
|
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” useget_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/NQNo credentials needed if you have ALGOCHAINS_BRIDGE_API_KEY. Read-only.
Agent live-ops routing (mandatory)
Ask | Tool |
Bot health / running? |
|
Session / portfolio P&L (owner) |
|
Paper P&L (subscriber) |
|
Flat / open positions |
|
Stops / unprotected |
|
Working orders |
|
Live quote now |
|
Market news / headlines | web/news tools — not |
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 countSubscribe 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_usdReferral program
create_referral_code() # → code: "AC-X7K2NP"
get_my_referrals() # attributed sign-ups + commission
get_referral_earnings() # total earned, pending payoutCreator 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 transfersRealized P&L (live-tier subscribers)
get_my_realized_pnl()
# → realized_pnl_usd, trade_count, period, disclaimer (CFTC 4.41(b))Tool | Auth | Tier gate |
| None | Public |
| None | Public |
| None | Public |
| None | Public (Stripe handles billing) |
| Subscriber API key | Paper / Live |
| Subscriber API key | Paper / Live |
| Subscriber API key | Paper / Live |
| Subscriber API key | Paper / Live |
| Subscriber API key | Paper / Live |
| Subscriber API key | Live |
|
| Owner |
|
| Owner |
|
| 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_termsfor 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 ( | ✅ cloudflared tunnel | — |
Onyx RAG ( | — | ✅ |
GPU/ML: FinBERT, Kronos, vLLM | — | ✅ |
Heavy backtests via | sends job → | ✅ executes |
Security
Authentication Tiers
Scope | How to Authenticate | What's Allowed |
Public / demo | No credentials | Market data, Onyx search, regime detection |
Team |
| Bot metrics, positions (read-only) |
Owner |
| 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 > 35Full 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-hereWhat's New in v22.x
v22.7.3 (2026-09-01) — VirusTotal hash gate on marketplace staging
submit_to_marketplacenow asks DjangoPOST /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_strategyspec paths are jailed tostate/custom_strategiesplus 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.mdrouting/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) andALGOCHAINS_SUB_KEY(back-compat alias) are now accepted by both the Python server and the TS CLI (#242). Previously the CLI told users to setALGOCHAINS_SUB_KEYwhile the server only readALGOCHAINS_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 checksSAFETY_MODEL.md— answers "is this safe?" for every failure modetool_danger_tiers.py— machine-readable danger classification (0–3) for the documented 535-tool surfaceHTTP bridge
/toolsendpoint now returnsdanger_tier,safe_in_demo_mode, etc.get_bot_healthincludese2e_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 intostate/custom_data/ingest_json_signals— import pre-computed signals, ML features, labels, and regime tagsconnect_onyx_docs— index local research docs into Onyx foronyx_ask()/onyx_search()register_strategyandlist_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_listingsUnified path resolver (
paths.py) —default_control_tower()works on Mac + WSL towerData 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.jsonDrawdown Triple Penance —
drawdown_start_tsauto-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 demoAvailable immediately (no credentials):
get_quote("AAPL")— live price for any symboldetect_market_regime()— trending / ranging / choppyget_macro_signals()— macro environment analysisdiscover_tools()— find any of the 535 toolsonyx_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.
Sign up at algochains.ai — free hosted virtual paper account
Copy your subscriber key from the dashboard
Set it and run:
export ALGOCHAINS_SUBSCRIBER_KEY="<SUBSCRIBER_API_KEY>"
python scripts/quickstart.py --mode paperWhat 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 paperOption C — Full Live Setup
cp .env.example .env
# Edit .env with Tradovate, Polygon, Databento, Slack credentials
python scripts/quickstart.py --health-check --mode liveGenerate 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 # WindsurfWhich URL Do I Use?
Local installs and remote connectors use different transports:
Client | Use this | Why |
Cursor, Claude Desktop, Windsurf | Generated | These apps can spawn the local PyPI package on your machine. |
Claude.ai web/mobile custom connector | Public HTTPS URL such as | Claude.ai calls the server from Anthropic's infrastructure, so it cannot reach your |
Local remote-connector test |
| The tunnel provides the public |
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:8080Use the tunnel URL as the custom connector URL:
https://<cloudflared-subdomain>.trycloudflare.com/mcpIf 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 |
| 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 |
Live | Cloudflare Access — authenticate with your | |
Local dev | Always accessible without auth |
Run locally:
cd algochains-command-center
npm run dev # starts on :3333Start 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 ( |
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 valuesSubmit 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.jsonOpenAPI 3.1 YAML —
https://algochains.ai/docs/openapi.yamlPostman 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) alongsidealgochains-library-mcp(Roo's NL backtesting MCP) under the samealgochainsalias. 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 |
Agent routing: bot health / P&L / positions / brackets / quotes — never web-search for live ops | |
Is this safe? Failure modes, guardrails, team access | |
Full version history | |
Confirmed bugs, gotchas, operational surprises | |
Developer key setup, scopes, and bridge auth constraints | |
2026-06-28: all 3 writers (Django, MCP, Stripe) mint | |
Subscriber onboarding, stdio-vs-bridge tools, scopes, and copy-trade constraints | |
Numerai tournament tool sequence, upload gates, and troubleshooting | |
Tradovate endpoint mapping vs community server | |
| |
Measured tool call latencies (Mac M3 Max, real calls) | |
Publish a validated bot; subscriber copy-trade pipeline setup | |
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 toolsaccept_subscriber_termsAIdempotent
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_disclosureBRead-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_intentADestructive
Approve a pending intent plan for execution. The plan must be in 'pending_approval' status.
Inputs: plan_id (required).
bracket_integrity_checkARead-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_signalAIdempotent
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_mfaAIdempotent
Create an MFA challenge for login step-up verification. Required before verify_mfa during subsequent logins.
Inputs: factor_id (required).
check_order_safetyBIdempotent
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_healthARead-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_positionsARead-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_resetAIdempotent
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_matrixARead-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_exposureARead-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_surfaceARead-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_brokerCIdempotent
Connect to a specific broker. Must be configured via environment variables.
Inputs: broker (required).
connect_onyx_docsAIdempotent
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_keyAIdempotent
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_codeAIdempotent
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_portfolioAIdempotent
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_regimeBIdempotent
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_hmmARead-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_toolsARead-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_mfaAIdempotent
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_fundARead-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_codeADestructive
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_toolADestructive
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_intentADestructive
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_urlADestructive
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_configARead-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.
generate_payment_linkARead-onlyIdempotent
Return a direct payment link for an AlgoChains subscription tier. Unlike get_checkout_url, this returns a pre-configured shareable URL that works without entering an email first. paper=$29/mo, live=$99/mo. After payment, set ALGOCHAINS_SUBSCRIBER_KEY=.
Inputs: tier.
get_accountBRead-onlyIdempotent
Get account information (equity, cash, buying power) from a broker.
Inputs: broker (required). Returns: cash, broker, equity, currency, +1 more
get_adaptive_brain_statusARead-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_statusARead-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_healthARead-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_telosARead-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_metricsARead-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_summaryARead-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_statusBRead-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_dataARead-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_dashboardARead-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_healthARead-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_openclawARead-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_stateARead-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_statusARead-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_guideARead-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_urlBIdempotent
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_statusARead-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_brokersCDestructive
List all brokers a user has connected via OAuth, with token expiry and scope information.
Inputs: user_id (required).
get_crude_oil_inventoriesARead-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_regimeARead-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_proximityARead-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_v21ARead-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_guideARead-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_usageARead-onlyIdempotent
Get usage metadata for a developer key (last used, scopes, active status).
Inputs: key_id (required).
get_earnings_catalystARead-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_signalsARead-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_chartARead-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_rateARead-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_statsARead-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_profileARead-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_healthARead-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_signalsARead-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_metricsARead-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_signalsARead-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_listingsARead-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_pnlARead-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_referralsARead-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_usageARead-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_statusARead-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_statusARead-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_memoryBRead-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_summaryARead-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_ordersARead-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_policyARead-onlyIdempotent
Return the current password policy requirements for AlgoChains accounts.
Inputs: no named parameters.
get_polymarket_high_volumeARead-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_marketARead-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_historyARead-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_positionsARead-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_metricsARead-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_marketsARead-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_pricingARead-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_configARead-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_stateARead-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_quoteARead-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_earningsARead-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_correlationARead-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_detailARead-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_taskARead-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_yieldsBRead-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_startedARead-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_citationsARead-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_statusARead-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_healthARead-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_heartbeatARead-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_statusARead-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_statusARead-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_detailsARead-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_healthARead-onlyIdempotent
Check the configured compute node (ALGOCHAINS_TOWER_HOST) health: reachable, memory, active jobs, GPU status.
Inputs: no named parameters.
get_tower_job_statusARead-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_indicatorsARead-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_structureARead-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_statsARead-onlyIdempotent
Get waitlist aggregate statistics: total signups, by status, by broker interest.
Inputs: no named parameters.
graphiti_healthARead-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.
graphiti_searchARead-onlyIdempotent
Hybrid (semantic + keyword + graph-traversal) search over the AlgoChains TEMPORAL knowledge graph (getzep/graphiti). Returns advisory facts with validity windows (valid_from/valid_to) extracted from REAL signal traces, debate transcripts, and Hive Brain synthesis. Use for 'what was true / what changed / what preceded what, over time' — e.g. 'MNQ behavior in trending regime'. agent_memory authority: ADVISORY ONLY, never broker truth (P&L/fills still require broker verification). Complements rag_search/onyx (semantic) and query_codegraph (structural). Fails closed with graphiti_unavailable.
Inputs: query (required), limit.
ingest_csv_dataAIdempotent
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_signalsAIdempotent
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_recoveryAIdempotent
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_resetAIdempotent
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_debateARead-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_botAIdempotent
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_waitlistAIdempotent
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_attachmentsARead-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_keysARead-onlyIdempotent
List your developer API keys (masked — plaintext never returned after creation).
Inputs: no named parameters.
list_ingested_dataARead-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_factorsARead-onlyIdempotent
List enrolled MFA factors for the current session.
Inputs: no named parameters.
list_polymarket_marketsARead-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_fundsARead-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_skillsARead-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_algochainsAIdempotent
Login to AlgoChains with email + password. Stores session locally for subsequent MFA and key operations.
Inputs: email (required), password (required).
logout_algochainsAIdempotent
Revoke current AlgoChains session and clear stored credentials.
Inputs: no named parameters.
massive_call_apiARead-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_docsARead-onlyIdempotent
Get parameter documentation for a Massive API endpoint. Pass the docs_url from massive_search_endpoints results.
Inputs: docs_url (required).
massive_query_dataBIdempotent
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_pipelineAIdempotent
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_endpointsARead-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_manifestARead-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_statusARead-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_askARead-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).
onyx_searchARead-onlyIdempotent
Semantic search over the AlgoChains Onyx knowledge base: 400+ strategy research JSONs, 45+ blueprints, 126 skills, live bot logs. Returns ranked documents with relevance scores.
Inputs: query (required), limit, document_set.
optimize_strategyCIdempotent
Run Optuna-based parameter optimization on a StrategySpec. Finds best params across n_trials.
Inputs: spec (required), metric, n_trials.
portfolio_summaryARead-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_warehouseBRead-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_sessionARead-onlyIdempotent
Refresh an expiring AlgoChains session using the stored refresh_token. Call before session expires to stay logged in.
Inputs: no named parameters.
register_strategyAIdempotent
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_factorADestructive
Remove an enrolled MFA factor. Requires owner_token — destructive, downgrades session to AAL1.
Inputs: factor_id (required), owner_token (required).
request_trade_confirmationBDestructive
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_budgetAIdempotent
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_connectionADestructive
Disconnect a broker OAuth connection and remove stored tokens.
Inputs: broker (required), user_id (required).
revoke_developer_keyAIdempotent
Revoke (soft-delete) a developer API key. Requires AAL2 session.
Inputs: key_id (required), access_token (required).
rotate_developer_keyAIdempotent
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_backtestBIdempotent
Run a backtest on a StrategySpec using the Rust engine. Returns Sharpe, drawdown, win rate, P&L.
Inputs: spec (required), capital.
run_evolution_cycleBIdempotent
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_guardrailARead-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_autopilotAIdempotent
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_pipelineAIdempotent
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_testARead-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_detectionCRead-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_marketsARead-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_skillsARead-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_notificationAIdempotent
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_keyAIdempotent
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_preferencesAIdempotent
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_algochainsAIdempotent
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_onboardingARead-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_agentAIdempotent
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_lessonAIdempotent
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_taskAIdempotent
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_marketplaceBIdempotent
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_metricsAIdempotent
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_connectionARead-onlyIdempotent
Test a developer API key against the hosted AlgoChains bridge (mcp.algochains.ai). Returns auth status and scopes.
Inputs: api_key.
track_platform_eventAIdempotent
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_telosAIdempotent
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_connectionARead-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_providerARead-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_strategyAIdempotent
Validate a StrategySpec for schema correctness, parameter ranges, and internal consistency.
Inputs: spec (required).
validate_strategy_metricsAIdempotent
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_codeARead-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_otpAIdempotent
Verify the email OTP token from the AlgoChains confirmation email. Activates your account and starts a session.
Inputs: email (required), token (required).
verify_mfaAIdempotent
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
Scored across 168 tools
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.
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.
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).
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
Related MCP Connectors
Free crypto-futures paper trading and live market data for AI agents. 29 tools; no key for data.
Unified financial infrastructure connecting AI agents directly to trade live/demo brokerage accounts, Web3 non-custodial wallets, real-time market data across equities, ETFs, crypto, forex, options, DeFi swaps, and prediction markets, institutional research feeds, and algorithmic strategy backtesters.
Live crypto + IDX stock market intelligence for AI agents — 19 tools, no API key.
Guardrails for trading agents. Built-in risk management, 100+ tools for strategy R&D, 12+ venues.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables 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.7MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI assistants to trade stocks directly through natural language by creating and managing bots, executing trades, accessing market data, and backtesting strategies.4MIT
- FlicenseNot gradedqualityDmaintenanceEnables quant research, strategy development, backtesting, and paper trading through natural language prompts, integrated with 20+ AI agents.134-
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to autonomously analyze market data, compute risk metrics, and execute spot or futures trades on Binance with safety guardrails like dry-run mode and slippage protection.1MIT