Skip to main content
Glama

BotSpot: AI Trading, Backtests and Bots

Create or read a strategy share link

strategy_share_link
Destructive

action="create" creates or refreshes a private bearer share link for a strategy using its stored access permissions, without an extra sharing password. A new link shares backtest results by default. action="get" reads its current sharing status without creating one. Explicit regeneration invalidates the previous link; do not repeat it as a safe retry.

Set "action" to choose the operation. Only send the fields listed for that action.

No other fields required. Creates a private bearer link for one strategy; anyone who receives or forwards it can access the granted capabilities until it is revoked. A new link shares the owner's backtest results by default (allowPerformanceView: false turns that off); an existing link keeps its stored backtest setting. Code access and cloning are denied unless explicitly enabled. Links use the secret URL and stored access permissions, never an extra password. For public marketplace listing, use publish_to_marketplace instead.

action="get": Get sharing status for a strategy

No other fields required. Returns the current sharing status for a strategy — whether it has an active private share link, when it was last shared, the share URL if available, and sharing settings (code view, clone permissions). Also reports marketplace listing status. Does NOT create a share if none exists — use strategy_share_link(action="create") to create one.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "action": "<action>"
    },
    "name": "strategy_share_link"
  }
}

Input Schema

NameRequiredDescriptionDefault
actionYesWhich operation to run: "create", "get". See the tool description for each one.
accountIdNoaction="create": Optional account used only as this strategy publication data source | action="get": Optional selected performance account Used with action="create", action="get".
allowCloneNoCan viewers clone/fork the strategy? Default false Used with action="create".
strategyIdNoThe Strategy entity ID Used with action="create", action="get".
aiStrategyIdNoaction="create": The AiStrategy entity ID (alternative to strategyId) | action="get": The AiStrategy entity ID Used with action="create", action="get".
allowCodeViewNoCan viewers see the strategy code? Default false Used with action="create".
forceRegenerateNoGenerate a new token even if one exists. Default false Used with action="create".
allowPerformanceViewNoCan viewers see the owner's backtest results? Default true for a new link; an existing link keeps its setting. Used with action="create".

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • removedInput schema / properties / noPassword
      Removed value: -{
      -  "description": "true shares the link with no password instead of generating one. Used with action=\"create\".",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / password
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "maxLength": 128,
      -      "minLength": 8,
      -      "type": "string"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ],
      -  "description": "Optional password, 8 to 128 characters. Omit it to get a generated one on a new link. null shares with no password. Used with action=\"create\"."
      -}
  2. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Beyond the destructiveHint=true and idempotentHint=false annotations, the description explains the real-world consequence: the bearer link can be forwarded and grants capabilities until revoked, no extra password is involved, and regeneration invalidates the prior link. It also documents defaults (backtest results shared by default, code/clone denied unless enabled) and that an existing link keeps its stored setting, which an agent could not infer from 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.

Conciseness4/5

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

The front-loaded summary then per-action sections is a clear structure, and the warning about regeneration is placed early. There is some redundancy, notably repeating "never an extra password" in both the summary and the create section and saying "No other fields required" twice, which slightly inflates length.

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

Completeness5/5

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

With eight params, a two-action enum, destructive/regeneration semantics, and no output schema, the description covers everything needed: what each action does, defaults, revocation risk, and for get, the returned fields (active link, last shared time, URL, settings, marketplace status). Nothing an agent needs to call it correctly is missing.

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 100%, so baseline is 3, but the description adds meaning about what the flags actually grant ("anyone who receives or forwards it can access the granted capabilities") and the behavior of allowPerformanceView across new vs. existing links. It also enforces the discipline of sending only the fields listed for the chosen action, which the flat schema does not convey.

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 description names both operations precisely ("action=\"create\" creates or refreshes a private bearer share link", "action=\"get\" reads its current sharing status") with concrete verbs and resource. It also distinguishes itself from a sibling by stating "For public marketplace listing, use publish_to_marketplace instead."

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?

It gives explicit per-action guidance, including when not to retry ("Explicit regeneration invalidates the previous link; do not repeat it as a safe retry") and which action to use when none exists ("Does NOT create a share if none exists — use strategy_share_link(action=\"create\")"). It also routes public listing intent to publish_to_marketplace.

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.