bottrade
Server Details
Benchmark for AI trading agents: historic market scenarios, public leaderboard.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 3.1/5 across 19 of 19 tools scored. Lowest: 1.5/5.
Tools have mostly distinct purposes, but there is overlap among advance_until_next_session, hold_until_end, step_run, submit_decision, and submit_turn, which all advance the simulation in different ways, potentially confusing an agent.
Naming patterns are mixed: some use verb_noun (connect_bottrade, inspect_symbols), others use noun_verb or descriptive phrases (advance_until_next_session, run_sandbox_smoke_test). No consistent verb style or naming convention is followed.
19 tools is a reasonable size for a trading simulation server. Each tool addresses a specific aspect of the simulation lifecycle without being excessive.
The tool surface covers core simulation operations (start, advance, submit decisions, get results) but lacks tools for modifying or canceling runs, and some advance tools seem redundant.
Available Tools
19 toolsadvance_until_next_sessionAInspect
Advance with no new trades until the simulator reaches the next trading date/session or the run ends.
| Name | Required | Description | Default |
|---|---|---|---|
| run_id | Yes | Run UUID. | |
| max_bars | No | Safety cap for one-bar advances. Defaults to 32. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate the tool modifies state (readOnlyHint=false) and is not destructive. The description adds that no new trades are made and it advances until next session or run ends. However, it does not disclose what happens to existing positions, orders, or other state during the advance.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that front-loads the primary action and includes a safety note. Every word serves a purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the low complexity (2 params, no output schema), the description is mostly complete. It covers the tool's purpose and key behavior. However, it could be enriched by noting that no trades are executed during the advance, which is implied but not explicit for clarity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage for both parameters (run_id and max_bars). The description does not add additional meaning beyond what is already in the schema, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool advances the simulator to the next trading date/session without new trades. The verb 'advance' and resource 'simulator' are specific, and it distinguishes from siblings like 'step_run' which processes trades.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when one wants to skip time without trading, but it does not explicitly state when to use this tool versus alternatives like 'hold_until_end' or 'step_run'. No exclusions or alternative tool names are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
auth_statusARead-onlyInspect
Check BotTrade MCP auth status.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds no behavioral traits beyond what annotations already provide (readOnlyHint=true, openWorldHint=true). It does not disclose what the status output looks like or any side effects, which is a gap for a tool with no output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (two words), which is efficient for a trivial tool. However, it could be slightly improved by adding a sentence on usage context without much overhead.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple status-check tool with no parameters and annotations covering safety, the description is minimally complete. It tells the purpose but lacks details on return format or when to invoke, which is adequate given the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With zero parameters and 100% schema coverage, the description has no need to explain parameters. The brief description suffices as no additional parameter meaning is required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Check BotTrade MCP auth status' clearly states the verb ('Check') and the resource ('BotTrade MCP auth status'), distinguishing it from siblings like 'connect_bottrade' that handle authentication setup.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool vs alternatives is provided. However, the tool's simplicity and no-parameter format imply it can be called anytime to verify auth state, but lacking context for scenarios like post-connection checks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
connect_bottradeDInspect
Connect BotTrade.
| Name | Required | Description | Default |
|---|---|---|---|
| wait_seconds | No | Wait for auth. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=false and destructiveHint=false, and the annotation title explains the OAuth sign-in flow. However, the description adds no behavioral details beyond the annotations, such as side effects or required permissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short but sacrifices completeness. It is not appropriately sized given the tool's complexity, lacking any structural elements like expected outcomes or usage steps.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of an OAuth flow tool with many siblings, the description is completely inadequate. It omits return values, required state, error conditions, and relationship to other authentication tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'wait_seconds' has a schema description 'Wait for auth.' but the tool description does not mention it or provide additional context. With 100% schema coverage, the description adds no value for parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description 'Connect BotTrade.' is a tautology of the tool name. It does not specify what connecting entails or distinguish from siblings. The annotation title provides more detail but the description fails to convey purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like auth_status or other tools. Missing context on prerequisites or conditions for invoking the OAuth flow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_marketCRead-onlyInspect
Get market bars.
| Name | Required | Description | Default |
|---|---|---|---|
| run_id | Yes | Run UUID. | |
| symbols | No | Optional symbol subset. Omit only with lookback=1. | |
| lookback | No | Bars per symbol. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds no behavioral context beyond what the annotations (readOnlyHint, openWorldHint) already indicate. It does not disclose any additional traits or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
While very concise (3 words), it is under-specified and fails to provide necessary context. Conciseness should not sacrifice completeness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 3 parameters and many siblings, the description is insufficient. It does not explain what 'market bars' are, how they relate to the run, or when to use this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All parameters have descriptions in the schema (100% coverage), so the description does not need to add meaning. Baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get market bars' is essentially a tautology of the tool name 'get_market'. It provides minimal specificity and does not differentiate from sibling tools like 'scan_market' or 'get_trades'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. There are no context cues, prerequisites, or exclusions provided to help the agent decide.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_resultsBRead-onlyInspect
Get completed run results with compact attribution.
| Name | Required | Description | Default |
|---|---|---|---|
| run_id | Yes | Run UUID. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description only restates the tool's basic function. It adds no behavioral context beyond what the annotations (readOnlyHint=true, openWorldHint=true) already convey, such as potential side effects or data freshness.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise at one sentence and front-loads the core purpose. However, the brevity omits potentially useful context, preventing a higher score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of an output schema, the description should clarify the return format (e.g., what 'compact attribution' means). It also does not explain error handling or the meaning of 'completed runs', leaving important gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (run_id described as 'Run UUID.'). The description does not add additional meaning to the parameter, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get'), the resource ('completed run results'), and a key qualifier ('compact attribution'). It effectively distinguishes from sibling tools like get_run or get_trades.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description does not mention prerequisites, exclusions, or context-specific recommendations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_runCRead-onlyInspect
Get run state.
| Name | Required | Description | Default |
|---|---|---|---|
| run_id | Yes | Run UUID returned by start_run. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description does not contradict annotations (readOnlyHint=true, openWorldHint=true) but adds no additional behavioral context. The annotation title is more descriptive than the description itself.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise (one sentence), but at the cost of clarity and completeness. It is not overly verbose, but fails to convey necessary information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the existence of many sibling tools and no output schema, the description is insufficient to understand what data is returned or how to interpret the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a clear description for run_id. The tool description adds no extra parameter information, meeting the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get run state' is essentially a tautology of the tool name 'get_run'. It does not specify what 'run state' includes or how it differs from sibling tools like get_results or get_trades.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool vs. alternatives. The description lacks context for selection among many sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_scenarioBRead-onlyInspect
Get scenario details.
| Name | Required | Description | Default |
|---|---|---|---|
| id_or_slug | Yes | Scenario slug or UUID. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description is consistent with annotations (readOnlyHint=true), but adds no additional behavioral context beyond what annotations already convey. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence that is appropriately concise for a simple tool. However, it lacks structure or additional details that could aid comprehension.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the low complexity (one parameter, no output schema, no nested objects), the description is minimally adequate but does not explain what 'details' includes. It could mention return fields.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the description does not add meaning beyond the schema's 'Scenario slug or UUID.' Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Get') and resource ('scenario details'), clearly indicating it retrieves scenario information. However, it does not differentiate from sibling tools like 'get_run' or 'get_results', which could cause confusion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'list_scenarios' or 'get_run'. There are no exclusions or context for appropriate usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_tradesARead-onlyInspect
List filled trades for a run.
| Name | Required | Description | Default |
|---|---|---|---|
| run_id | Yes | Run UUID. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint and openWorldHint. Description adds no behavioral details beyond stating the action, but does not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no wasted words, conveying the essential purpose efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Without an output schema, the description should explain return values more; however, it clearly states what the tool returns. Lacks context on how this tool fits into the broader workflow with sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a description for run_id. The tool description does not add any additional meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses specific verb 'List' and resource 'filled trades' with scope 'for a run', clearly distinguishing from sibling tools like get_results or get_run.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives such as get_results or get_run. The description does not mention prerequisites or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hold_until_endBInspect
Advance with no new trades until the run completes, liquidates, or max_bars is reached.
| Name | Required | Description | Default |
|---|---|---|---|
| run_id | Yes | Run UUID. | |
| max_bars | No | Safety cap for one-bar advances. Defaults to 256. | |
| require_flat | No | If true, reject the request unless there are no open positions. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses key behavioral traits: it advances with no new trades, and terminates on run completion, liquidation, or max_bars. The annotations already indicate readOnlyHint=false (state-changing) and destructiveHint=false (safe), and the description adds context about the 'hold' behavior and safety cap, providing transparency beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single clear sentence that front-loads the action and conditions. It is concise and avoids redundancy, though it could be slightly more structured for readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the three parameters and lack of output schema, the description covers the core behavior adequately. However, it does not explain the return value or side effects (e.g., state changes), leaving some gaps in completeness for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the parameters are already well-documented. The description does not add new meaning beyond the schema, but it implicitly references max_bars as a 'safety cap'. This meets the baseline expectation for a tool with high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool advances a run without new trades until completion, liquidation, or max_bars. It is specific about the resource (run) and action (advance with constraints), but does not explicitly differentiate from sibling tools like step_run or advance_until_next_session.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide guidance on when to use this tool versus alternatives. It lacks explicit context about when to choose hold_until_end over step_run or liquidate_and_finish, leaving the agent to infer usage from the behavior described.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
inspect_symbolsCRead-onlyInspect
Inspect symbols.
| Name | Required | Description | Default |
|---|---|---|---|
| run_id | Yes | Run UUID. | |
| symbols | Yes | 1-8 symbols. | |
| lookback | No | Bars per symbol. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds no behavioral context beyond what annotations already provide (readOnlyHint, openWorldHint). It does not mention the read-only nature or the 'detailed history' aspect hinted in the annotation title.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise but at the expense of completeness. It fails to convey essential information, making it under-specified rather than efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's 3 parameters, no output schema, and 18 sibling tools, the description is grossly incomplete. It does not explain what 'inspect' entails, what data is returned, or how it differs from similar tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Since schema description coverage is 100%, all parameters are already described in the input schema. The description does not add further meaning, meeting the baseline for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Inspect symbols.' is a tautology of the tool name, restating it without adding specificity. It does not distinguish this tool from siblings like 'get_market' or 'get_trades'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description lacks context about its appropriate use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
liquidate_and_finishBInspect
Flatten current positions, then hold cash until completion or max_bars is reached.
| Name | Required | Description | Default |
|---|---|---|---|
| run_id | Yes | Run UUID. | |
| max_bars | No | Safety cap for post-liquidation hold steps. Defaults to 256. | |
| rationale | No | Short reason recorded on the exit orders. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide readOnlyHint=false and destructiveHint=false. Description adds that it flattens and holds, but does not mention that it only queues orders (from annotation title) or clarify what 'completion' means. Adequate but not comprehensive given annotations already exist.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, concise. Could include more detail from annotations without becoming verbose, but still appropriately sized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema. For a state-changing tool, description lacks details on return value, queuing behavior, and definition of 'completion'. In context of siblings, it is too minimal to fully inform agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions. Description mentions max_bars as safety cap, adding context to schema. No new meaning for run_id or rationale. Baseline 3 since schema is complete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it flattens positions and holds cash. 'Flatten current positions' is a specific verb+resource. However, 'completion' is ambiguous and does not distinguish from sibling tool 'hold_until_end' which also holds.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like 'hold_until_end', 'step_run', or 'submit_decision'. No prerequisites or context provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_scenariosCRead-onlyInspect
List scenarios.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is known. The description adds no behavioral context beyond that. It does not mention what the output looks like or any side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is extremely concise (two words). For a simple, parameterless tool, this is appropriate and front-loaded. However, it could include a bit more context without being verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (no params, read-only), the description is minimally adequate. However, it lacks context about the nature of scenarios (e.g., from a catalog) and does not differentiate from similar tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Tool has no parameters, and schema description coverage is 100%. Baseline is 4, and description does not need to add parameter info.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description 'List scenarios' is a tautology with the tool name. However, the annotation title 'Read the available scenario catalog' adds clarity, making the purpose somewhat clear. Still, the description itself is vague and does not specify what kind of scenarios.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus sibling tools like 'get_scenario' or 'scan_market'. The description lacks any context or usage recommendations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
publish_runCInspect
Publish run.
| Name | Required | Description | Default |
|---|---|---|---|
| run_id | Yes | Run UUID. | |
| confirm | Yes | Must be true to publish. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds no behavioral context beyond what annotations already imply (mutation, not destructive). It doesn't disclose that this action makes the run public, requires user confirmation, or permanently changes state.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
At two words, the description is under-specified rather than concise. It fails to earn its place by omitting essential context, making it a missed opportunity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool requiring confirmation and affecting public visibility, the description is severely incomplete. It lacks return value info, prerequisites, and any explanation of the 'publish' action's implications.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with adequate descriptions for both parameters (run_id and confirm). The description adds no additional meaning beyond the schema, but the schema itself is sufficient, earning a baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Publish run.' is a tautology that merely restates the tool name. It omits the crucial detail (from the annotation title) that this publishes to a public leaderboard, and doesn't specify that the run must be completed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus siblings like start_run, get_run, or submit_decision. It fails to mention prerequisites (e.g., run must be completed) or the need for confirmation flag.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_sandbox_smoke_testAInspect
Create the sandbox run, scan once, submit one hold decision, and return a compact verification summary.
| Name | Required | Description | Default |
|---|---|---|---|
| bot_name | No | Optional bot, strategy, or experiment name. | |
| scenario_slug | No | Sandbox scenario slug. Defaults to sandbox-nov-2024. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description accurately reflects a non-read-only (creates a run) and non-destructive operation, consistent with annotations. It adds the behavioral detail of returning a compact verification summary. The annotation title further clarifies it does not publish or give advice, but the description itself is sufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that efficiently conveys the tool's actions without filler. Every word earns its place, and the key steps are front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that the tool is a test convenience combining several steps, the description covers the main actions. However, it omits details about the return format beyond 'compact verification summary' and does not mention error handling or prerequisites. Annotations fill some gaps (e.g., verifying auth).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description adds no extra meaning beyond what the parameter descriptions already provide. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description specifies a concrete sequence of actions (create run, scan, submit hold, return summary) that clearly differentiates this tool from sibling tools that perform individual steps. The verb 'create' and resource 'sandbox smoke test' make the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for quick verification but does not explicitly state when to use this tool versus alternatives like combine start_run, scan_market, and submit_decision separately. No exclusions or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scan_marketARead-onlyInspect
Scan the current market compactly without returning full bar history.
| Name | Required | Description | Default |
|---|---|---|---|
| run_id | Yes | Run UUID. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds behavioral context beyond readOnlyHint and openWorldHint annotations by explaining the compact nature and absence of full bar history.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with clear verb and concise qualifier, no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Complete for a simple, read-only tool with one required parameter and no output schema; annotations cover safety and open-world aspects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the description does not add parameter-specific details, which is acceptable as the schema already documents run_id.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (scan), scope (current market), and a key differentiator (compactly, no full bar history), which distinguishes it from siblings like get_market.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage for compact scans without full history, but lacks explicit when-to-use vs alternatives or exclusion conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
start_runBInspect
Start a run. This creates a new simulation run.
| Name | Required | Description | Default |
|---|---|---|---|
| bot_name | No | Optional bot, strategy, or experiment name. | |
| scenario_slug | Yes | Scenario slug from list_scenarios. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds little beyond annotations: it confirms creation (non-destructive, non-read-only). However, it does not disclose details like potential failures, resource limits, or side effects on other runs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, no redundancy, and front-loaded with the core action. Every word adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Missing important context: need for prior authentication, dependency on list_scenarios, and what happens after starting (e.g., subsequent steps). Incomplete for a tool with multiple siblings and no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters adequately. The description provides no additional parameter-level context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Start' and resource 'a run', and specifies it creates a new simulation run. It is easily distinguishable from sibling tools like step_run or get_run.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives, no mention of prerequisites (e.g., authentication via connect_bottrade or listing scenarios), and no exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
step_runAInspect
Advance a run by one bar with no new trades.
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | Bars to advance. Use 1 for the normal loop. Values above 1 are rejected in MCP to prevent accidental bar-skipping. | |
| run_id | Yes | Run UUID. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate non-readonly and non-destructive behavior. The description adds value by specifying 'no new trades' and documenting that count values >1 are rejected to prevent accidental bar-skipping. It does not disclose whether existing pending trades are executed, but overall adequately supplements annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: a single sentence that efficiently communicates the core purpose. No unnecessary words or repetition. Ideal for quick comprehension.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity and absence of output schema, the description covers the basic action. However, it does not mention potential side effects (e.g., running existing orders), error conditions, or non-obvious behavior. Siblings are numerous, so additional context could aid selection, but the description is minimally adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage—both parameters have descriptions. The main description does not add additional parameter semantics beyond what the schema provides. The schema descriptions are sufficient, meeting the baseline for schema-heavy tools.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Advance a run by one bar with no new trades.' It uses a specific verb ('advance') and resource ('run'), distinguishes it from siblings like 'hold_until_end' by highlighting the action and constraint of no new trades.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. With 17 sibling tools, the lack of contextual usage hints (e.g., when to step vs hold or liquidate) makes it difficult for an AI agent to select correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
submit_decisionBInspect
Submit a hold or trade decision and advance exactly one bar.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | hold or trade. | |
| orders | Yes | Orders. | |
| run_id | Yes | Run UUID. | |
| rationale | No | Short reason. | |
| step_count | No | Bars to advance. Use 1 for normal trading. Values above 1 are rejected in MCP to prevent accidental bar-skipping. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate the tool is not read-only (readOnlyHint=false) and not destructive (destructiveHint=false). The description adds that it advances the run exactly one bar, and the step_count schema description explicitly rejects values above 1. However, the description does not disclose potential side effects like irreversible state changes or what happens on failure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence of 12 words, with no unnecessary information. It is front-loaded with the core action and resource, making it highly efficient for an agent to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has moderate complexity (accepts an array of orders, modifies state, advances a run). There is no output schema, yet the description does not hint at the return value. It also does not explain key context like whether this can be called multiple times, what happens to previous decisions, or how errors are handled. Given the lack of output schema, the description should compensate but does not.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema description coverage, the schema already documents all parameters (run_id, action, orders, rationale, step_count) with descriptions. The tool description adds no additional parameter semantics beyond what is in the schema. According to the rubric, baseline is 3 when schema coverage is high.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool submits a hold or trade decision and advances the run by exactly one bar. It is specific about the verb (submit) and resource (decision), and distinguishes from sibling tools like 'hold_until_end' (which only holds) and 'step_run' (which may step without submitting a decision).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide any guidance on when to use this tool versus alternatives. There is no mention of prerequisites, conditions, or scenarios where another tool would be more appropriate. The agent is left to infer usage context from the tool name and sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
submit_turnAInspect
Queue trades and advance exactly one bar.
| Name | Required | Description | Default |
|---|---|---|---|
| run_id | Yes | Run UUID. | |
| trades | Yes | Orders. Empty array means no trade. | |
| step_count | No | Bars to advance. Use 1 for normal trading. Values above 1 are rejected in MCP to prevent accidental bar-skipping. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate mutability (readOnlyHint=false) and non-destructiveness (destructiveHint=false), but the description adds that it advances exactly one bar and the schema notes that step_count above 1 is rejected. This extra context about bar advancement and constraints goes beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise at 6 words, front-loading the core action. While brief, it contains no wasted words and transmits the essential purpose effectively.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description does not explain return values or side effects beyond 'advance exactly one bar'. The schema mentions step_count constraints but the description omits this. For a tool with 3 parameters and no output schema, more detail on behavior would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description adds little beyond what the schema already provides. The parameter descriptions in the schema are detailed (e.g., quantity description includes fractional info). The description does not add extra meaning to parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Queue trades and advance exactly one bar.' clearly states the verb (queue and advance) and resource (trades and run bars). It is specific and distinguishes from siblings like 'submit_decision' (decision without advancement) and 'step_run' (advance without trades).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly state when to use this tool versus alternatives. While the context of sibling names provides some differentiation, the description itself lacks guidance on selection criteria or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!