MCP server
BotSpot: AI Trading, Backtests and Bots
io.github.grzesir/botspot-trading
Checked 26 Oct 2026, 08:29 UTC · Connected to it and listed its tools
AI agents backtest, paper trade and live trade via your broker. Free to connect; OAuth.
Working at last checkAbout 76,037 tokens per request once connected110 tools
https://mcp.botspot.trade/mcp
At a glance
- Type
- MCP server
- Publisher
- Not verified
- Status
- Working at last check
- Tools
- 110
- Token cost
- About 76,037 tokens per request
- Sets up in
- Claude Code, Claude Desktop, Codex, Gemini CLI, Cursor, VS Code, Antigravity, ChatGPT, OpenAI API, Grok
- Last checked
- 26 Oct 2026, 08:29 UTC
Connect it to your agent
Opens the app, which shows the server and asks you to confirm. For other apps, copy the setup below.
Claude Code
claude mcp add --transport http botspot-trading https://mcp.botspot.trade/mcp
Claude Desktop
Settings → Connectors → Add custom connector, and paste the URL.
Codex (config.toml)
[mcp_servers.botspot-trading] url = "https://mcp.botspot.trade/mcp"
Gemini CLI
{"mcpServers":{"botspot-trading":{"httpUrl":"https://mcp.botspot.trade/mcp"}}}
Cursor
{"mcpServers":{"botspot-trading":{"url":"https://mcp.botspot.trade/mcp"}}}
VS Code
{"servers":{"botspot-trading":{"type":"http","url":"https://mcp.botspot.trade/mcp"}}}
Antigravity
agy mcp add botspot-trading https://mcp.botspot.trade/mcp
ChatGPT
Settings → Apps & Connectors → Advanced settings: turn on Developer mode, then Create a connector and paste the URL. Which plans can do this varies.
OpenAI API (Responses tools)
{"type":"mcp","server_label":"botspot-trading","server_url":"https://mcp.botspot.trade/mcp","require_approval":"always"}
Grok (xAI API tools)
{"type":"mcp","server_label":"botspot-trading","server_url":"https://mcp.botspot.trade/mcp"}
Tools
add_plan_item~1625 tokens
Adds a user-visible item to the active plan when new work is discovered. When working in the current conversation, omit planId unless you already have the actual plan id; never pass a plan item id as planId. All new-item fields belong inside the nested `item` object, including item.position, item.pabacktest_status~653 tokens
Fetch the latest status/stage for a backtest by id. Response includes `stage` plus a rich `structuredContent.progress` snapshot of the current heartbeat: - `percent`, `eta`, `elapsed`, `simulationDate`, `portfolioValue`, `totalReturnPct`, `heartbeatElapsedSeconds` - `orders`: array of open/recenbroker_snapshots~1052 tokens
Read stored daily broker snapshot automation data. For realtime holdings use get_broker_positions. action="run_now" requests a fresh no-trade snapshot for the saved account and starts read-only snapshot compute. Set "action" to choose the operation. Only send the fields listed for that action. ##clone_strategy~524 tokens
Creates a private dormant copy for the authenticated user. To copy a Marketplace listing, pass its listingId from marketplace_strategies; the publisher must have allowed copying. This copies published code, not a first-build workspace: continue with secure broker/key setup and the normal deploymentcommit_backtest_rules_review~1512 tokens
Commit the conversational Agent's already-completed, per-Rule evidence review for one exact terminal backtest and revision. This tool never analyzes a Rule or retrieves evidence. Before calling it, independently read the exact rules.json and main.py revision, define the evidence needed by each Rule,community~504 tokens
Use action feed to read public bot decisions and member posts; action thread with postId reads one public root post and its paginated replies. Use action post with body to publish, or add parentPostId to reply to a root thread. Publishing requires explicit owner authorization or a posting grant. Feecomplete_plan~486 tokens
Marks the active plan completed, blocked, or cancelled. When working in the current conversation, omit conversationId; never pass placeholders such as `current`, `this`, or `active`. If you include conversationId, it must be the real UUID. This closes plan state only and does not alter other tool accreate_billing_portal_link~85 tokens
Creates a billing portal URL for the authenticated MCP user so subscriptions and payment methods can be managed.create_broker_credential~733 tokens
Stores broker credential material in Vault and returns only metadata for the authenticated user. Values are encrypted at rest and are not returned to MCP. Use this for broker login/trading credentials only. Do not add a brokerCredentialId to a deployment by default; let the user choose on the approvcreate_checkout_linkMoves money · ~103 tokens
Creates a checkout session URL (subscription or one-time) tied to the authenticated MCP account.create_dashboard_file~204 tokens
Creates a template-first dashboard file at dashboards/<name>.dashboard.js in a new immutable strategy revision. Use this when the user asks to create a dashboard, then use get_file and patch_file to customize the dashboard from the template.create_fileChanges files · ~616 tokens
Creates a file in a new immutable revision for any strategy owned by the authenticated user. For the current attached workspace, omit strategyId and revisionId. When create_strategy attaches the workspace through conversationUpdate, these defaults also apply to new first-build files. If creation retcreate_plan~1726 tokens
Creates a persisted, user-visible plan for substantial work in the current conversation. Use this for strategy builds, strategy edits, research, deployment setup, backtest analysis, broker investigation, and other multi-step tasks. Do not use this for greetings, small talk, simple answers, advice-oncreate_strategy~620 tokens
Creates a new strategy workspace with main.py and requirements.txt. The starter files are neutral boilerplate only; they do not encode customer-specific strategy logic or fake validation trades. After creation, use the returned files manifest instead of rediscovering starter paths. Read known startedelete_broker_credentialDeletes data · ~143 tokens
Deletes broker credential material from Vault and marks the authenticated user's metadata row deleted. Existing running deployments may fail if they still depend on this credential; create a new credential and redeploy instead of deleting an active dependency.delete_fileChanges files · Deletes data · ~321 tokens
Deletes a file in a new immutable revision for any strategy owned by the authenticated user. Requires editHandle from get_file/list_files to prevent stale edits. main.py cannot be deleted. For the current attached/open strategy, omit strategyId and revisionId; pass explicit ids only for another ownedelete_memoryDeletes data · ~271 tokens
Permanently delete a memory about the user. CALL delete_memory when the user explicitly asks to forget something, OR when they correct a fact you retrieved ("no, I switched to IBKR last month" — delete the old "user trades on Tradier" memory after writing the new one). Obtain the memoryId from a pdelete_strategyDeletes data · ~237 tokens
Soft-deletes a strategy so it no longer appears in lists or can be used for backtests. Data is preserved in the database for compliance. Two-phase operation: call without confirm (or confirm=false) to preview what will be affected. Call with confirm=true to execute the deletion. Refuses if the stratenv_var_sets~868 tokens
Legacy multi-variable records. Prefer saved_env_vars, one variable per record. Raw values are never returned. Set "action" to choose the operation. Only send the fields listed for that action. ## action="list": List saved variables (legacy) No other fields required. Legacy compatibility tool. Preffile_history~1096 tokens
List per-file history or explicitly restore one historical file into the current complete strategy snapshot. Listing is read-only. Restoring creates a new immutable strategy revision and preserves all other current files and Rules; it never restores an old whole snapshot. Use sourceRevisionId and exgenerate_other_code~631 tokens
⚠️ IMPORTANT: This tool is RARELY needed. Normal trading strategy requests should use create_strategy plus file tools for LumiBot Python strategies. WHY LUMIBOT IS BETTER: - Python is more powerful and easier to maintain - Works with multiple brokers (Alpaca, Interactive Brokers, Tradier, etc.) - Bget_account_status~83 tokens
Returns payment status, active products, backtest usage, and current cycle limits for this authenticated MCP user.get_active_plan~154 tokens
Returns the active read-only user-visible plan for the current conversation. Plan tools update plan state only; they never hide, block, route, or enable other tools.get_backtest_artifact~801 tokens
For a live or scheduled deployment, use get_deployment_logs for runtime logs and list_deployment_artifacts/query_deployment_artifact for decisions, preserving the discovered deploymentId and runId. A deploymentId or deployment runId is not a backtestId. Request a short-lived download URL for a speciget_backtest_chart_series~158 tokens
Builds chart-ready time series data for equity/portfolio/drawdown/returns from stats artifacts and returns points + Vega-Lite spec.get_backtest_logs~922 tokens
Fetch runtime logs for an identified historical backtest simulation. This tool does not read live/paper bot or scheduled-deployment logs. Use get_deployment_logs for those runtime logs and list_deployment_artifacts/query_deployment_artifact for decisions, preserving the discovered deploymentId and rget_backtest_visuals~167 tokens
Returns signed URLs for visual backtest artifacts (tearsheet, trades, indicators, stats) plus summary metrics and strategy IDs.get_bot_performance~193 tokens
Returns recorded performance snapshots for a live deployment's bot, including total return, max drawdown, Sharpe ratio, and portfolio value over time. The hoursAgo parameter controls the lookback window (default 168 = 1 week, max 720 = 30 days). For current account performance use show_bot_activityget_broker_account_snapshot~350 tokens
Read-only: fetches current cash, buying power, and account value from the signed-in user's saved broker connection. For current performance of a named bot or a follow-up about its account, use show_bot_activity first; it performs its own exact-linked broker read. Use this tool after that report forget_broker_option_chain~365 tokens
Read-only: fetches option chain data from the signed-in user's saved broker connection. Always narrow large requests with expiration or expirationStart/expirationEnd, strikeMin/strikeMax, right, detailLevel, limit, or page. If the response is too large, retry using the provided retryWith suggestionsget_broker_orders~258 tokens
Read-only: fetches current or recent broker orders directly from a saved broker credential. Use symbol, statuses, startTimeIso, and endTimeIso to narrow. Never pass raw broker credentials.get_broker_positions~728 tokens
Read-only: fetches current positions directly from saved broker credentials, not from deployment telemetry or snapshot automation. For current performance of a named bot or a follow-up about its holdings, use show_bot_activity first; it performs its own exact-linked broker read. Use this tool afterget_broker_quotes~399 tokens
Read-only: fetches current quote/last-price data from the signed-in user's saved broker connection. Pass brokerCredentialId, or omit it only when the user has exactly one active saved broker connection. Use symbols for one or more assets. Use quoteSymbol only for crypto or forex. For options pass asget_broker_token_refresh_status~445 tokens
Read-only token refresh status for one saved broker credential owned by the authenticated user. Use this after Schwab or Tradier OAuth snapshot runs to verify whether Node persisted rotated token material. In a reconnection conclusion, state the returned snapshotStatus and snapshotVerifiedAt separatget_deployment_action_status~644 tokens
Returns the status of a pending or completed deployment authorization request created by start_deployment, stop_deployment, update_deployment_revision, run_deployment_once, or place_trade. Use this after the user approves or denies the website authorization URL. Copy the actual actionId returned byget_deployment_artifact~244 tokens
Returns a short-lived signed URL for one manifest-listed deployment artifact. Owner-scoped and manifest-only: never pass arbitrary S3 keys. Prefer query_deployment_artifact for agent_detail, memory, indicators, stats, or other tabular artifacts when the user needs analysis rather than a raw downloadget_deployment_logs~812 tokens
Returns CloudWatch logs from a live deployment's container. Supports time-range filtering (startTimeIso/endTimeIso), CloudWatch filter patterns (query), local multi-query diagnostics (queries), diagnosticPreset, noise suppression, and pagination (nextToken). Default limit is 500 lines, newest first.get_deployment_order_telemetry~819 tokens
A saved-code-only edit does not require live orders or positions. Implement confirmed-fill handling in the strategy runtime without inventing a current fill or deployment. The live evidence requirements below apply only when investigating or preserving state for an existing live deployment. Requiresget_deployment_position_telemetry~825 tokens
A saved-code-only edit does not require live orders or positions. Implement confirmed-fill handling in the strategy runtime without inventing a current fill or deployment. The live evidence requirements below apply only when investigating or preserving state for an existing live deployment. Requiresget_document~484 tokens
Retrieve a public document by id, initially SEC filing documents from EDGAR. For SEC filings, pass documentId as CIK:accessionNumber[:filename]. Optional section aliases include risk_factors, business, mda, and controls. Use ids returned by search_documents, query_data sec.full_text_search, or queryget_education_offers~206 tokens
Live facts about the AI Trading Bootcamp and the free live challenge show, read from the database. Use when the user asks about the Bootcamp, its price, payment plans, curriculum or dates, or about the free live challenge or show (the next date and time), or when a new or stuck user asks how to learget_file~747 tokens
Returns one file from any saved strategy revision owned by the authenticated user, including an opaque editHandle for safe edits. For the current attached/open strategy, omit strategyId and revisionId and pass only path so the server uses the latest active revision from conversation state, falling bget_my_marketplace_publication~155 tokens
Reads one owner publication using an explicit account or strategy subject. Account sharing never implies strategy sharing; strategy sharing never exposes sibling strategies.get_portfolio_series~697 tokens
Returns the owned linked-account history plus a fresh direct broker balance through the same canonical source used by Python internal_data.get. This is the whole linked account, not strategy-attributed or cash-flow-adjusted investment performance. Use show_bot_activity first for a current account reget_single_trade_status~226 tokens
Read-only status lookup for a single trade created by place_trade. Pass the place_trade actionId returned by the approval request, or the deterministic singleTradeBotId/managerBotId single-trade-<actionId>. The tool verifies the action belongs to the signed-in user, then returns the approval state,get_strategy~147 tokens
Returns full details for a single strategy including name, type, revision count, latest revision info, and deployment status. Accepts either strategyId or aiStrategyId.get_strategy_visuals~174 tokens
Returns strategy visual assets for a revision: Mermaid diagram code/image and infographic image URL. Use generateInfographicIfMissing=true to trigger infographic generation when missing.get_tool_call_metrics~298 tokens
Returns per-tool call duration metrics for a conversation with an explicit latency boundary. Includes individual call records and aggregates, or exact Agent-vs-Node paired comparisons with transport/Agent overhead. Use this to identify slow tools and optimize your workflow.inspect_analysis_artifact~418 tokens
Read the durable datasets, stable semantic element IDs, and view bindings from one completed analysis run in the current conversation. Use this before resolving any chart-derived value or condition. The response exposes schemas, stable IDs, and derivations, not full row dumps. For a follow-up chartlist_backtests~971 tokens
Summarize recent backtests for the user, optionally scoped to a strategy or conversation. For the current attached strategy, use scope='strategy' and omit id, strategyId, and aiStrategyId. The server resolves the exact strategy from the scoped MCP token, avoiding copied-identifier errors. Supports slist_broker_credentials~657 tokens
Lists saved broker credential metadata for the authenticated user. Raw credential values are never returned. Use an item's id as start_deployment.brokerCredentialId only when the user explicitly named that exact saved broker connection/account for this deployment. If no matching credential exists, clist_deployment_artifacts~237 tokens
Returns the manifest for the latest or specified deployment run, including artifact kinds, keys, sizes, row counts, timestamps, symbols, queryability, visibility, and upload status. Use this to find the canonical agent_detail and memory artifacts before asking why a live or scheduled bot made a decilist_deployment_runs~312 tokens
Lists owner-scoped artifact runs for one live/scheduled deployment, or for up to 10 related deployments via deploymentIds. Every returned row includes deploymentId so run IDs remain paired with the deployment that owns them. Use this when the user asks what evidence is available for a deployment, orlist_deployments~862 tokens
Returns the user's deployments with each row's own paper/live mode, linked broker and performance data. Never transfer performance between same-named paper and live deployments; an unavailable live return stays unknown. Do not use this tool to prepare or route a direct buy, sell, or one-off order relist_files~442 tokens
Lists files in any saved strategy revision owned by the authenticated user. Folders are represented by slash-separated file paths. For the current attached/open strategy, omit strategyId and revisionId so the server uses the latest active revision from conversation state, falling back to the MCP toklist_my_marketplace_publications~118 tokens
Lists the authenticated owner's account and strategy publications, Marketplace state, explicit capabilities, and whether a private link is active. Bearer-link secrets and broker credential identifiers are never returned.list_revisions~710 tokens
Returns a bounded page of available revisions for a strategy with full revisionIds and version numbers. The default returns the newest 20 revisions and is capped at 50 per call so revision history never overwhelms the model context. When the user names an exact historical version such as "version 64list_strategies~374 tokens
Returns all strategies owned by the current user. Each item includes both strategyId and aiStrategyId so you can use either with other tools (delete_strategy, list_revisions, start_backtest, etc.). Optionally filter by name. The name filter is case-insensitive and also returns close word-token matchmanage_schedule~2404 tokens
Read existing schedules and their backend status, preview a proposed schedule, or save a detached schedule draft that no bot uses yet. The list and status actions are read-only. A running bot's schedule can never be changed here: a bot and its schedule are one thing. To run a bot at a different timemarketplace_accounts~502 tokens
action="list" lists approved account publications; action="get" reads one account publication. Set "action" to choose the operation. Only send the fields listed for that action. ## action="list": List public Marketplace accounts No other fields required. Lists approved account publications. Stratemarketplace_strategies~1110 tokens
action="list" searches approved strategy listings, action="get" reads one listing, action="get_code" reads its published files when code access was granted. Set "action" to choose the operation. Only send the fields listed for that action. ## action="list": Search public Marketplace strategies Nopatch_file~1191 tokens
Applies exact text or guarded line-range edits to one file in any strategy owned by the authenticated user and creates a new immutable strategy revision. Requires editHandle from get_file/list_files. For insert_before and insert_after operations, include an exact unique anchor. For replace_text, oldprivate_share_link~766 tokens
action="create" issues or rotates a private bearer link for one account or strategy publication; a new link gets a generated password returned once unless password or noPassword: true is passed. action="revoke" invalidates it immediately. Set "action" to choose the operation. Only send the fields lpublish_to_marketplaceSends messages · ~514 tokens
Publishes a strategy to the public marketplace where users can discover it. Marketplace listing status is the public contract; bot deployments remain private. Tags can be set for categorization (holdingPeriod, riskLevel, plan tier). Free and paid monthly listings are supported. Paid listings force cquery_csv~1223 tokens
Execute a SQL query on a backtest artifact using DuckDB. backtestId must be the actual backtest run id already discovered from list_backtests or used with get_backtest_artifact; never pass a strategy id, aiStrategyId, revisionId, browser URL revisionId, conversation id, or placeholder such as <unknoquery_data~1059 tokens
Query a registered research dataset by datasetId. Use for versioned symbol-membership universes, SEC company facts, SEC financial statements, SEC current filings, SEC full-text search, SEC filing exhibits, SEC insider transactions, SEC 13F holdings, Treasury FiscalData/yield curves, BLS series, BEAquery_deployment_artifact~846 tokens
Runs a read-only DuckDB SELECT against queryable deployment artifacts listed in the run manifest. For replacement-deployment history, pass up to 10 exact {deploymentId, runId} targets; they are owner-checked, queried concurrently, and returned with both IDs on every row under one global maxRows limirecord_external_wait_in_plan~1443 tokens
Generic factual plan helper for the moment after a domain tool starts asynchronous work and returns a real externalWaitId. Identity and revision come from that stored hook wait; pass externalWaitId instead of copying externalKind, externalId, revisionId, or sourceExternalId. Legacy identity fields aremember~1351 tokens
Save one durable memory. kind="fact" for what is true about the user, kind="preference" for how to behave in every future turn, kind="strategy_outcome" for a strategy result or design decision. Use search_memory to recall and delete_memory to forget. Set "kind" to choose the operation. Only send thremove_marketplace_publication~101 tokens
Unpublishes exactly one owner publication. Its independent private link is not changed.remove_plan_item~395 tokens
Marks one plan item as removed. The target is required and must be `{type:"id", itemId}` or `{type:"position", position}`. Users cannot manually edit plan items; redirect changes through chat.replace_file~838 tokens
Replaces the full contents of an existing strategy file in a new immutable revision for any strategy owned by the authenticated user. Requires editHandle from get_file/list_files. Use this for first-build main.py replacement after create_strategy returns neutral starter files. For the current attachreplace_plan_items~1489 tokens
Codex-style whole-plan update. Replaces the complete visible item list for the active plan in one call while preserving item ids when supplied. Use this when the visible checklist needs simple list/status synchronization or reorder cleanup. The array order is the display order. Omitted existing itemresolve_analysis_reference~1430 tokens
Deterministically resolve one stable semantic element or one structured expression against the full durable dataset from a completed analysis run. Every result is persisted with its source run, expression, value or condition state, timestamp, and evidence. Pass exactly one of elementId or resolutionrun_data_analysis~1639 tokens
Run complete Agent-generated Python in an ephemeral isolated runtime with pandas, NumPy, SciPy, and statsmodels. A retryable failed attempt below 3 is unfinished: validate the next full request using the returned failed analysisRunId and incremented attempt, then execute its NEW validatedProgram. Farun_deployment_once~663 tokens
HIGH RISK: request owner approval for one immediate iteration of an existing scheduled bot. Use this for run once, an extra run, or retrying a missed iteration. It can place live trades. Preserves the saved revision, broker, variables, recurring schedule, history and state. Current balance and holdisave_marketplace_publication~587 tokens
Creates or updates a draft for exactly one explicit subject. Can set Marketplace presentation and default-deny capabilities, then optionally publish. Set regenerateHeroImage=true to generate and upload fresh artwork through the website GPT Image 2.5 service (one paid generation, 5/day). Existing artsaved_env_vars~886 tokens
List, create, update, enable, disable, or delete saved environment variables (one variable per record). Raw values are never returned. Names BotSpot sets for its own runs, such as LUMIBOT_SCHEDULED_*, cannot be saved here. Set "action" to choose the operation. Only send the fields listed for that asearch_conversation_history~568 tokens
Search the user's full conversation history via Postgres full-text search. CALL search_conversation_history when the user refers to specific past messages, errors, decisions, or details that you do not already see in the live context window. Examples of when to call: - "What was that error I got osearch_data_catalog~429 tokens
Find BotSpot-provided public research datasets the agent can query. Pass datasetId alone to inspect a selected dataset contract, schemas, units, coverage and historical guarantees. Catalog metadata is not observations or a permission grant. Use this for versioned symbol-membership universes, publicsearch_documents~433 tokens
Search public research documents, initially SEC EDGAR filings. Use this to find 10-K, 10-Q, 8-K, S-1, DEF 14A, Form 4, and 13F-HR documents before calling get_document. Use datasetId sec.full_text_search with query when searching across EDGAR text without a specific company.search_memory~497 tokens
Retrieve relevant prior memories about this user. CALL search_memory at the START of any conversation where the user: - References past context ("like we discussed", "remember when", "last time") - Asks for advice that should reflect their preferences - Describes a trading problem where their hisend_feedbackSends messages · ~2851 tokens
Record human feedback about BotSpot for the product team. kind="bug" for broken behavior, kind="frustration" for frustration or confusion, kind="feature" for a feature request, kind="praise" for positive feedback. kind="signup_context" (optional, once, soon after the person first connects) saves briset_data_provider~701 tokens
Updates the active conversation to use the specified backtesting data provider. AVAILABILITY AND SETUP: Read these constraints before selecting a provider. Do not probe a provider already declared OFF by calling this tool. Explain its known unavailability and the supported alternatives instead. Preset_runtime_secret_requirements~355 tokens
Sets or clears structured runtime secret requirements for an owned strategy revision. Use this when the strategy code needs non-broker API keys or settings, such as AP_API_KEY. This metadata is checked before starting or updating a bot so missing saved variables are caught before deployment.set_strategy_requirements~358 tokens
Explicitly overrides the automatically analyzed assetClasses and dataRequirements metadata for this owned strategy revision only. Use this when the user asks for an override or the saved-code analysis needs a deliberate correction. Future revisions are analyzed fresh and do not inherit this overrideset_strategy_revision~404 tokens
Updates the active conversation to use a specific revision of the already-active strategy. Pass revisionId, or pass version with the user-facing version number (for example version=641) when the user asks to restore or pull up an exact historical version. If the user asks to work on a different owneshow_account_overview~224 tokens
Answers "How is my account doing?" with account value, cash, unrealized P&L and position count for each connected broker account, an account value history chart from saved daily snapshots, and an allocation donut when holdings are complete. Paper and live accounts are shown separately. Accounts thatshow_backtest_comparison~185 tokens
Answers "Which of my backtests did better?" for 2 to 5 saved backtests: equity lines started at 100 on the same chart plus a metric table (total return, CAGR, max drawdown, Sharpe, trades). Results are simulated. Read-only. Shows an interactive panel in apps that support MCP Apps; always returns a tshow_backtest_dashboard~219 tokens
Answers "How did my backtest do?" with total return, CAGR, max drawdown, Sharpe and the equity curve for one saved backtest. Use a backtestId from list_backtests or backtest_status. Results are simulated. Never starts or changes a backtest. Read-only. Shows an interactive panel in apps that supportshow_bot_activity~663 tokens
For a general activity or trading-today summary, call this before separate order telemetry, run history or logs. Inspect its returned dated account, holdings and orders first, then fetch only missing decision details. Daily price attribution requires loading data-analysis and using validate_analysisshow_holdings~271 tokens
Answers "What do I hold?" and "Which positions are winning?" with a holdings table per account (value, unrealized P&L in dollars and percent, weight) and an allocation donut when the total is complete. Fetches the holdings itself; use this first for a general holdings or allocation question across cshow_option_payoff~405 tokens
Answers "What happens to this option trade at expiration?" from legs the user describes (call or put, long or short, strike, premium, contracts). Draws profit and loss at expiration with breakevens. Uses only the inputs given; fetches no data and places no trade. Read-only. Shows an interactive paneshow_position~221 tokens
Answers "How is my TSLA position doing?" and "How much TSLA exposure do I have?" for a stock symbol or an options underlying: value, unrealized P&L, shares and average cost, exposure in share-equivalents (option delta only when the broker reports it), and a payoff chart at expiration for option posishow_trading_cards~5815 tokens
This panel uses supplied inputs; rendering does not independently verify their prices, timestamps or account marks. For portfolio attribution, use run_data_analysis to calculate and publish every holding’s daily change/contribution and quantity × ending price versus reported mark where that valuatiostart_backtest~1011 tokens
Start a new backtest for a revision with the provided date range. ASYNC: This starts a job and returns immediately with a backtest id. `backtest_status` and artifact tools expose the current state for that id. Backtests are asynchronous and can consume material runtime capacity. Follow the user's instart_deployment~788 tokens
Prepares owner review for a new BotSpot deployment; this call does not start a bot or place trades before approval. After explicit owner approval, this is HIGH RISK: the deployment may place real-money trades. Call for an authorized start request even when required saved variables are missing: readistart_parameter_experiment~746 tokens
Start 2-10 parameter variants against the same saved revision, same date window, and same current BotSpot Auto routing policy. BotSpot creates or resolves one immutable strategy parameter set per variant and starts the runs in parallel with bounded concurrency through the normal backtest entitlementstop_backtest~95 tokens
Force-stop an in-progress backtest by ID.stop_deployment~364 tokens
HIGH RISK: stops an existing BotSpot live deployment and changes a running trading system. Stopping the wrong bot can leave real-money exposure unmanaged. Only call this tool after the user has explicitly confirmed the stop action, broker mode, and target deployment in the current conversation. Thestrategy_share_link~1020 tokens
action="create" creates or refreshes a private bearer share link for a strategy; a new link shares backtest results and gets a generated password returned once unless password or noPassword: true is passed. action="get" reads its current sharing status without creating one. Set "action" to choose tswitch_active_strategy~387 tokens
Changes this conversation's active strategy workspace to another strategy owned by the user. Use only when the user explicitly asks to work with, compare against, copy from, or move to a different strategy. If the user explicitly names or identifies a different owned strategy, that explicit target btest_schwab_broker_connection~292 tokens
One-stop MCP smoke test for an authenticated user's saved Schwab broker connection. If brokerCredentialId is omitted and exactly one active Schwab credential exists, this selects it automatically. The tool checks sanitized token-refresh readiness and, by default, requests one immediate no-trade brokunpublish_from_marketplace~232 tokens
Removes a strategy from the public marketplace. The strategy becomes private and is no longer discoverable by other users. Existing private share links (if any) are NOT affected. Uses soft-delete (sets isActive=false). Accepts the marketplace listing ID, or a strategy/aiStrategy ID to find the listiupdate_broker_credential~729 tokens
Updates broker credential metadata and optionally replaces Vault material for the authenticated owner. This replaces the saved credential values when credentialValues is provided; it never returns raw values. Use this for broker login/trading credentials only. Do not add a brokerCredentialId to a deupdate_deployment_revision~1012 tokens
HIGH RISK: creates one website approval request to update one named BotSpot live deployment to a target saved strategy revision. Restart argument example: {"deploymentId":"RETURNED_DEPLOYMENT_ID","aiStrategyRevisionId":"RETURNED_CURRENT_REVISION_ID"} Restart retaining known saved variables: {"deplupdate_plan_item~1684 tokens
Updates one user-visible plan item. The target is required and must be `{type:"id", itemId}` or `{type:"position", position}`; ambiguous itemId/position top-level shapes are intentionally not accepted. Use this before or after each major action in a plan-driven task so progress does not stay stuck wupdate_plan_items~1662 tokens
Applies multiple user-visible plan item updates atomically in the listed order. Use this for a necessary multi-row reconciliation. First-build handoffs use sequential update_plan_item calls: complete the current item, wait for success, then start the next. Preserve completed attempts; use unresolvedupdate_strategy~174 tokens
Updates a strategy's name. Accepts either strategyId or aiStrategyId. Use publish_to_marketplace or unpublish_from_marketplace for public marketplace visibility.upload_marketplace_publication_image~193 tokens
Uploads one owner publication image as bounded base64 PNG, JPG, or WebP data. The server validates and re-encodes it before private storage; remote image URLs are not accepted.
Browse
Related MCP servers
- TradingAgentStack
Check bots, exchanges and wallets before you connect; Agent Risk Scores, incidents, sources. - TradeAssi
Crypto tools for AI agents: live market data, exchange-wide screener, backtests and paper trading. - HYPERneobroker.com
Live prices, perps, prediction markets and a paper trading desk over one MCP. - MangroveAI
Backtest and paper-trade crypto strategies. Free API key or pay per call in USDC (x402). - Marginpad Sdk
Free crypto-futures paper trading and live market data for AI agents. 29 tools; no key for data. - dMoERA Creator
Build, backtest, and deploy crypto trading strategies via MCP with 7-stage validation. - EventTrader MCP
AI prediction market trading — real-time data, CLOB exchange, Prop Desk, 40+ tools - BenAwf
BenAwf remote MCP for Strategy Lab. Streamable HTTP. Paper GA; live venue beta.
Badge for your README
[](https://aptlynx.net/servers/io.github.grzesir/botspot-trading)
Listing text is written by the maker; AptLynx lists tools and does not vouch for them. Find another tool · Browse by topic · For agents