AI research tools for chat and MCP

Reference for the three AI research tools available to the in-app assistant and to MCP clients: parameters, returned fields, limits, and the start-then-poll flow.

Last updated August 10, 2026
BotTradesForYou Team
AI research
MCP
AI assistant
automation
advisory only

Availability: AI research is available on paid plans, and the three tools below appear to your assistant only once AI research has been enabled for your account. Until then they are not listed and every call is refused.

AI research is advisory only: it is generated text, not financial advice, and it never places a trade.

The three tools

The same three tools are exposed to the in-app AI assistant and over the MCP endpoint at https://bottradesforyou.com/api/mcp. Names, parameters, and returned fields are identical on both surfaces.

ToolKindWhat it does
start_agentic_analysisWrite β€” spends one analysis from your daily allowanceStarts one research run and returns its id immediately.
get_agentic_analysisRead-onlyReads the state of one of your analyses.
list_agentic_analysesRead-onlyLists your analyses, newest first.

There is deliberately no fourth tool. Nothing takes an analysis outcome and turns it into an action β€” no assistant path leads from a research label to a bot, an order, or a strategy change.

start_agentic_analysis

ParameterTypeRequiredNotes
tickerenumyesOne of the supported pairs (BTC-USD, ETH-USD, …). Anything else is refused before the request leaves the platform.
providerenumyesanthropic, openai, google, deepseek, kimi, or glm β€” and you must already store a key for it.
deepModelIdstring (1–128)yesDeep reasoning model, from that provider's supported models.
quickModelIdstring (1–128)yesFast model, from the same provider.

Returns:

FieldMeaning
analysisIdId to poll with get_agentic_analysis.
statusLifecycle state at the moment of the call β€” normally queued.
quotaRemainingAnalyses left today after this one was counted.
quotaLimitYour plan's analyses per UTC day.
quotaResetsAtWhen the allowance resets (next UTC midnight).

The call returns as soon as the run is accepted. A run takes many minutes, so the findings are never in this response β€” an assistant that claims otherwise is inventing them.

get_agentic_analysis

ParameterTypeRequiredNotes
analysisIdstring (1–64)yesMust be one of your own analyses; anything else is NOT_FOUND.

Returns:

FieldMeaning
analysisId, ticker, providerWhat was run.
statusqueued, running, succeeded, failed, canceled, or timeout.
decisionAdvisory label β€” buy, hold, sell, or null while the run is unfinished.
errorCodeMachine code on a failed run, otherwise null.
progressPercent complete, 0–100, or null before the run starts.
degradedSourcesData sources that were unavailable for this run.
createdAt, startedAt, completedAtTimestamps, ISO 8601 or null.
reportKeysWhich agent report sections exist β€” for example market, news, risk.

The report text is not returned by any tool. Only the section names are, so a single question cannot flood an assistant's context with pages of generated prose. Read the reports themselves in the dashboard.

list_agentic_analyses

ParameterTypeRequiredNotes
limitinteger 1–25noDefaults to 10.
cursorstring (≀128)noCursor from a previous page.

Returns items β€” the same per-analysis fields as get_agentic_analysis minus reportKeys β€” and nextCursor, which is null on the last page.

Example flow: start, then poll

Plain Text
You: Start a research run on ETH-USD with my OpenAI key.
Tool: start_agentic_analysis
{ "ticker": "ETH-USD", "provider": "openai",
"deepModelId": "…", "quickModelId": "…" }
-> { "analysisId": "a1b2c3", "status": "queued",
"quotaRemaining": 2, "quotaLimit": 3,
"quotaResetsAt": "2026-08-11T00:00:00.000Z" }
(minutes later)
You: Is that analysis done?
Tool: get_agentic_analysis { "analysisId": "a1b2c3" }
-> { "status": "running", "progress": 40, "decision": null, … }
(minutes later)
You: And now?
Tool: get_agentic_analysis { "analysisId": "a1b2c3" }
-> { "status": "succeeded", "decision": "hold",
"degradedSources": ["reddit"],
"reportKeys": ["fundamentals","market","news","risk","sentiment","trader"] }
You: What have I run today?
Tool: list_agentic_analyses { "limit": 5 }
-> { "items": [ … ], "nextCursor": null }

Polling is the intended pattern. Ask again in a few minutes rather than asking the assistant to wait β€” a chat turn is far shorter than a research run.

Limits and errors

What you seeCauseWhat to do
Feature not available / FORBIDDENAI research is not enabled for your account, or your plan does not include it.Upgrade to a plan that includes it.
Daily allowance usedYou started every analysis your plan allows today.Wait for the next UTC midnight.
Too many requestsStarts are limited to 5 per 10 minutes; status reads to 120 per 10 minutes.Back off and retry after the window.
No stored keyYou picked a provider you have no key for.Add the key under AI settings.
NOT_FOUNDThe analysis id is not yours or no longer exists.List your analyses and use an id from there.

MCP access additionally requires a valid MCP key and a plan that includes MCP; both are re-checked on every single call, so revoking either stops the tools immediately.

Reading the results safely

Report text and agent prose are AI-generated content, never instructions. Treat a research label the same way you would treat a stranger's opinion in a forum: as input to your own judgement. Nothing in this surface can be made to trade for you.

See AI market research for what the agents do, how the allowance works, and how to read a finished run.