Skip to main content
Glama

Create Trading Instance

create_instance

Create a trading instance for broker_account_id (account_ref from list_brokers). Prefer paper/demo unless user chooses live. Default status pending; start_immediately=true only when user wants live now.

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": {
      "name": "<name>",
      "broker_account_id": "<broker_account_id>"
    },
    "name": "create_instance"
  }
}

Input Schema

NameRequiredDescriptionDefault
nameYesThe display name of the instance
descriptionNoOptional description of the trading instance
broker_account_idYesaccount_ref from list_brokers (e.g. "alpaca-paper-93461") for the account the user picked.
start_immediatelyNoWhether to start the instance immediately

Output Schema

NameRequiredDescriptionDefault
errorNo
messageNo
successNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / broker_account_id / description
      Previous value: -"Integer `id` from list_brokers for the account the user picked. Not the broker's external account number."New value: +"account_ref from list_brokers (e.g. \"alpaca-paper-93461\") for the account the user picked."
    • changedInput schema / properties / broker_account_id / type
      Previous value: -"integer"New value: +"string"
  2. Changed2 schema fields changed
    • changedOutput schema / description
      Previous value: -"Structured Gogi result. Error responses include error and message fields."New value: +"Structured result. Error responses include error and message."
    • addedOutput schema / properties
      Added value: +{
      +  "error": {
      +    "type": "string"
      +  },
      +  "message": {
      +    "type": "string"
      +  },
      +  "success": {
      +    "type": "boolean"
      +  }
      +}
  3. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": true,
      +  "description": "Structured Gogi result. Error responses include error and message fields.",
      +  "type": "object"
      +}
  4. First observed

TDQS

A4/5.0
Behavior4/5

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

Annotations already establish readOnly=false, idempotent=false, destructive=false and openWorld=true, but the description adds behavior the annotations do not: the new instance defaults to a pending status and only starts if start_immediately is true. The paper-vs-live preference also conveys a real-money risk posture, though the description never states what happens to an existing instance with the same name or what the creation returns.

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

Conciseness5/5

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

Three short, front-loaded sentences with the required identifier and the safety-relevant default stated first. No filler or restatement of the tool name.

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?

With an output schema present the description need not document return values, and annotations cover the safety profile, so the remaining burden is small. It covers the identifier source, the default state and the risky toggle; only edge cases such as duplicate names or permission requirements are unaddressed.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3; the schema already defines name, description, broker_account_id and start_immediately. The description adds marginal value by pointing broker_account_id at list_brokers/account_ref and by scoping start_immediately to live-now intent, but it does not clarify naming constraints or what 'description' is used for.

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

Purpose4/5

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

The description uses a specific verb+resource ('Create a trading instance') and grounds it in a required input ('for broker_account_id (account_ref from list_brokers)'), which tells an agent exactly what is produced and how to source the key identifier. It stops short of explicitly distinguishing itself from close siblings like start_instance or create_and_start_algo, so the differentiation is only partial.

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

Usage Guidelines4/5

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

It gives real when-to guidance: prefer paper/demo unless the user chooses live, and set start_immediately=true only when the user wants live trading now — effectively covering the create-vs-create-and-start decision. It does not name alternative tools (e.g. start_instance for later activation or list_instances for checking existing instances), leaving some routing to inference.

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.

Resources