Skip to main content
Glama

BotSpot: AI Trading, Backtests and Bots

Fetch a strategy revision file

get_file
Read-only

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 back to the MCP token, instead of making you copy UUIDs. Use explicit strategyId/revisionId only when the user named or identified another owned strategy. If the user says 'the one entitled X', 'apply this to X also', names a different bot/strategy, or says not to change the open strategy, resolve that named target with list_strategies/list_revisions first and pass its strategyId/revisionId here. Do not reuse the open/current page revisionId for a different named strategy; after list_strategies finds the target, call list_revisions for that named strategy and use the target revisionId returned there. For existing-strategy fixes or updates, this is the required bridge from inspection to action: use it before patch_file/replace_file to get the editHandle, and use it again after a successful edit to read back the final saved code before final-answering. After patch_file or replace_file returns a new revisionId, use that returned revisionId for readback or omit ids for the current attached strategy; do not re-read the original/base revisionId when verifying the edit. If that readback is for a first-build where the user disabled automatic backtests, do not final-answer immediately after readback; update the visible plan so validation is waiting or blocked on the user's explicit backtest request. For plan-driven first-build work, make the visible implementation item in_progress with update_plan_item before using file tools so the user sees the current plan step while file work runs. For first-build strategy work, call create_strategy first. When create_strategy attaches the workspace through conversationUpdate, omit strategyId and revisionId: get_file needs only path and list_files needs no selectors. If creation returned no conversationUpdate, copy the exact returned strategyId/revisionId pair.

Input Schema

NameRequiredDescriptionDefault
pathYes
revisionIdNoRevision id. Omit only for the current attached/open strategy when the MCP token is scoped to an active strategy revision.
strategyIdNoStrategy id. Omit only for the current attached/open strategy when the MCP token is scoped to an active strategy revision.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Well beyond the readOnlyHint annotation, it discloses that the result carries an editHandle, how server-side resolution falls back from conversation state to the MCP token, and the ownership scope of returned files. What it does not cover is failure behavior (missing path, unauthorized strategy) or path format expectations, so not a full 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the useful core in the first two sentences, but the middle and tail carry long orchestration policy about update_plan_item, create_strategy, backtest blocking, and plan items that belong to other tools. It is dense but not tidy; several sentences about plan bookkeeping could be moved or dropped without losing get_file's contract.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 3-parameter, no-output-schema tool this covers invocation, id omission, target resolution, and edit readback ordering thoroughly. The remaining gap is error/negative-path behavior and path formatting, which an agent would still have to discover empirically.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 67% and the description meaningfully extends it: strategyId/revisionId are described as optional selectors for the attached strategy, path alone is the normal call, and the returned revisionId from an edit is what should be used for readback. It stops short of describing path semantics (relative vs. absolute, directory scoping).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening sentence states a specific verb and resource ('Returns one file from any saved strategy revision owned by the authenticated user') plus a distinguishing artifact (the opaque editHandle). It also separates the tool's role from siblings: list_files lists without selectors, patch_file/replace_file consume the editHandle, list_strategies/list_revisions resolve targets. An agent can place it in the workflow without opening another schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit when-to-use branches: omit strategyId/revisionId for the current attached/open strategy, use explicit ids only for a different owned strategy, and resolve named targets via list_strategies/list_revisions first with an explicit warning not to reuse the open page's revisionId. It also gives ordering rules relative to patch_file/replace_file (call before to get the editHandle, again after to read back the saved code using the new revisionId).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.