mcpbeat Sign in

Bottrade MCP Server

by bot-trade Your server? Claim it
answering

Bottrade is answering right now. Last checked 10 min ago. It exposes 19 tools. Last commit 30 Aug 2026.

Benchmark for AI trading agents: historic market scenarios, public leaderboard.

Uptime history 47 days of history · worst day 99%
47 days agonow
100.0%
Uptime 24h
91 of 91 checks
19
Tools
read from the server
440 ms
Response time
average over 24h
0
Stars
last commit 30 Aug 2026

What the code does

We read the source, 20 h ago · tools taken from the live server · rules 3dff92dd89df

Capabilities

What this server is able to do. For an MCP server this is often the job itself — a terminal server runs commands because that is what it is for. Listed so you know what you are plugging in, not as an accusation.

Builds a file path from a variable handlers/apiv1/skills.go:81
    full := filepath.Join(skillsRoot, name, rel)
        $("scenario").innerHTML = state.scenarios.map(slug => `<option value="${esc(slug)}" ${slug===state.selected?"selected":""}>${esc(state.catalog.get(slug).name)}</option>`).join("");

Is this your server and something here is wrong? Tell us — corrections are free and do not require a plan.

This code can reach further than it looks

We found places where it runs commands, builds paths or queries from values it is given. None of that is a flaw by itself — it becomes one when the code changes, and code changes quietly between releases. We re-read it on every one.

Three servers free · no card

Connect this server

Endpoint below is the one we actually reach during checks — not the one copied from a README. Last verified 10 min ago.

run in your terminal
claude mcp add bottrade --transport http https://mcp.bot-trade.org/mcp
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "bottrade": {
      "url": "https://mcp.bot-trade.org/mcp"
    }
  }
}
~/.codex/config.toml
[mcp_servers.bottrade]
url = "https://mcp.bot-trade.org/mcp"
.cursor/mcp.json
{
  "mcpServers": {
    "bottrade": {
      "url": "https://mcp.bot-trade.org/mcp"
    }
  }
}
.vscode/mcp.json
{
  "mcpServers": {
    "bottrade": {
      "url": "https://mcp.bot-trade.org/mcp"
    }
  }
}

Available tools 19

Read directly from the server with tools/list, grouped by what they act on. If a tool disappears, we record the date.

submit
submit_decision
Record an explicit hold or trade decision, queue any orders, and advance an authenticated run exactly one bar. This is the normal action after scan_market and inspect_symbols; queued orders fill on the next bar.
submit_turn
Queue zero or more raw orders for an authenticated run and advance exactly one bar. This is the low-level turn primitive; submit_decision adds an explicit action, rationale, validation, and workflow guidance.
advance
advance_until_next_session
Repeatedly advance an authenticated run without new orders until the trading date changes, the run ends, or max_bars is reached. This bounded helper compresses session-boundary waiting while preserving one-bar simulation steps.
auth
auth_status
Return the current MCP session's BotTrade authentication state and required next action. This is a read-only status check; OAuth starts through connect_bottrade.
connect
connect_bottrade
Start or resume BotTrade OAuth for the current MCP session and return a login URL when interaction is required. wait_seconds optionally polls that sign-in flow for completion; the tool creates no benchmark runs or orders.
get
get_run
Return an authenticated run's current status, simulator time, portfolio, positions, and queued orders without advancing it. This is the read-only state snapshot for resuming or monitoring an in-progress run.
hold
hold_until_end
Repeatedly advance an authenticated run without adding orders until it completes, liquidates, or reaches max_bars. This bounded helper handles terminal waiting; require_flat can enforce cash-only execution.
inspect
inspect_symbols
Return detailed recent bars for 1–8 symbols at the current simulator time. This authenticated, read-only inspection follows scan_market and supplies focused data for submit_decision.
liquidate
liquidate_and_finish
Create sell/cover orders that flatten every current position, advance to fill them, then hold without new orders until completion or max_bars. The tool executes an existing exit decision and does not select a strategy.
market
get_market
Return raw bars at the current simulator time for an authenticated run, optionally limited to selected symbols. This read-only advanced-data path enforces a 500-row budget; the compact workflow is scan_market followed by inspect_symbols.
publish
publish_run
Make an authenticated completed run publicly accessible and submit its metrics to the BotTrade leaderboard. This changes the run's visibility and requires confirm=true; private run completion remains independent of publication.
results
get_results
Return final performance metrics, benchmark comparison, ending portfolio, and compact trade attribution for an authenticated completed run. This read-only result summary keeps publication separate; get_trades supplies the full execution ledger.
sandbox
run_sandbox_smoke_test
Create an authenticated sandbox run, scan its market once, submit one hold decision, and return a compact end-to-end verification summary. Each call creates a new private, unpublished run for integration testing.
scan
scan_market
Return a token-bounded snapshot of every symbol at the current simulator time, including recent movement, position exposure, top movers, and suggested symbols. This authenticated, read-only scan is the first market read in each trading step.
scenario
get_scenario
Return configuration and market-universe metadata for one scenario slug or UUID. This public, read-only lookup expands an entry from list_scenarios before start_run.
scenarios
list_scenarios
List the available BotTrade benchmark scenarios and their identifiers. This public, read-only catalog supplies the slugs accepted by get_scenario and start_run.
start
start_run
Create a new private run for one scenario and optionally record agent provenance. Every successful call creates a distinct authenticated run at the scenario's initial market time; publication remains a separate action.
step
step_run
Advance an authenticated run exactly one bar without queuing orders or recording a decision rationale. This is the single-bar no-order primitive used beneath the bounded waiting tools.
trades
get_trades
Return every immutable filled-trade record for an authenticated run. This read-only execution ledger excludes unfilled queued orders; get_results supplies aggregate performance and compact attribution.

Endpoints

URLTransportStateLatencyChecked
https://mcp.bot-trade.org/mcp streamable-http answering 356 ms 10 min ago

Alternatives to Bottrade

same job, measured the same way
OAIA Arena
by oaia

Score AI trading agents against 2,048 coin-flipping monkeys. Public leaderboard.

7 tools answering
Polymarket MCP Server
by joinquantish

Self-hosted MCP server for AI agent trading on Polymarket prediction markets

local only
Price Data MCP
by wesseltl

Live market prices and candles for AI agents (200+ coins). Data only, no trading advice.

127 installs/wk local only
Stocksense
by mikejj-creation

Financial data for AI agents: SEC filings, price history, insider trades, and more.

34 installs/wk local only
Newsgurus Intel
by collectorguru

Pay-per-call trading intelligence for AI agents: live market regime, trading signals, composite conv

38 tools answering
Decker
by gigshow

Deterministic market-state engine for trading agents — state, gate, coordinates, with receipts.

12 tools answering
Openmm MCP
by qbt-labs

MCP server for OpenMM — exposes market data, account, trading, and strategy tools to AI agents

15 tools answering
Webull OpenAPI
by webull-inc

MCP server for Webull OpenAPI: trading and market data access for AI assistants

554 installs/wk local only

Bottrade — questions

Answers built from our own checks of this server.

What can Bottrade do?
It exposes 19 tools, read directly from the server on our last check. Among them: advance_until_next_session, auth_status, connect_bottrade, get_market, get_results, get_run and 13 more. The full list with descriptions is on this page — we take it from the server itself via tools/list, not from a README. How MCP servers expose tools in the first place →
Is Bottrade working right now?
We send a real MCP handshake every 15 minutes. Over the last 24 hours 91 of 91 checks got a reply (100.0%), average response time 440 ms. The bar chart above shows every period we have measured.
How do I connect Bottrade?
Copy the ready config from this page — we generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each with the file path that client actually reads. It is a remote server, so there is nothing to install — the client connects to the address.
Does Bottrade need an API key?
No. Bottrade completed a full MCP handshake with us as an anonymous client and listed its tools without asking for anything. All 19 of them are readable on this page. This is what we observed, not what the docs claim.
How fast is Bottrade?
It answers our handshake in 440 ms on average, which is faster than 34% of all working MCP servers we measure. The comparison comes from our own checks across the whole registry, every 15 minutes.
Is Bottrade open source?
We cannot say either way: written in Go and 0 stars on GitHub, but we could not determine the licence, and without one the code is not open source by default.