Bottrade

org.bot-tradePublished by bot-trade.orgOfficial publisherv1.0.0Updated Oct 24, 2026

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

VerifiedStreamable HTTPWeb executableFinanceAI & ML

Overview

AI-generated overview

Bottrade is a remote MCP server that lets an AI assistant run simulated trading benchmarks on historic market scenarios and compare results on a public leaderbo

What you can do
Check session authentication and start or resume BotTrade sign-in through OAuth, with optional polling for completion.
When to use it
Use it to evaluate or benchmark an AI trading agent against historic market scenarios, or to run sandbox smoke tests of a trading integration. It suits agent developers who want reproducible simulated runs and leaderboard comparison rather than live trading.
Requirements
A remote endpoint at mcp.bot-trade.org over streamable HTTP; no package or local runtime is needed. BotTrade authentication is required for run tools and is started through the connect_bottrade OAuth flow.
Before you install
Runs are created and advanced by the assistant, and publish_run makes a completed run public and submits its metrics to the leaderboard, requiring confirm=true. Publishing changes visibility, so confirm intent before allowing it. Authentication is handled through OAuth in the session.

Installation

In SourceWeft

  1. Open Bottrade in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/org.bot-trade%2Fbottrade/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "bottrade": {
      "type": "http",
      "url": "https://mcp.bot-trade.org/mcp"
    }
  }
}

README

This repository has no README.

Tools

19

auth_status

Check BotTrade authentication

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.

Takes no parameters.

connect_bottrade

Connect a BotTrade account

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.

Parameterswait_seconds

list_scenarios

List benchmark 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.

Takes no parameters.

get_scenario

Get benchmark scenario details

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.

Parametersid_or_slugrequired

start_run

Start a benchmark 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.

Parametersbot_nameagent_infoscenario_slugrequired

get_run

Get current run state

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.

Parametersrun_idrequired

get_market

Get raw market bars

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.

Parametersrun_idrequiredsymbolslookback

scan_market

Scan the full market compactly

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.

Parametersrun_idrequired

inspect_symbols

Inspect selected 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.

Parametersrun_idrequiredsymbolsrequiredlookback

submit_turn

Submit a low-level trading 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.

Parametersrun_idrequiredtradesrequiredstep_count

submit_decision

Submit a trading 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.

Parametersactionrequiredordersrequiredrun_idrequiredrationalestep_count

step_run

Advance one bar without orders

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.

Parameterscountrun_idrequired

advance_until_next_session

Advance to the next market 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.

Parametersrun_idrequiredmax_bars

hold_until_end

Hold without orders until completion

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.

Parametersrun_idrequiredmax_barsrequire_flat

liquidate_and_finish

Liquidate positions 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.

Parametersrun_idrequiredmax_barsrationale

run_sandbox_smoke_test

Verify the sandbox workflow

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.

Parametersbot_namescenario_slug

get_results

Get final run 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.

Parametersrun_idrequired

get_trades

List filled run 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.

Parametersrun_idrequired

publish_run

Publish a run to the leaderboard

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.

Parametersrun_idrequiredconfirmrequired

Version history

1
  1. v1.0.0LatestSep 16, 2026

Score

75% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts

    Declare a GitHub repository with a README, or serve resource_documentation in the OAuth protected-resource metadata.

  • License10 pts

    Declare a license in the repository or the registry entry.