Skip to main content
Glama

Get Open Positions

get_positions
Read-onlyIdempotent

Get normalized current open positions and exposure across connected brokers. This is narrower than get_portfolio and does not replace account balances or wallet holdings. Label each account by its display_label (broker · environment · •••••last5 of the broker's own account number); never call an account by broker_account_id, which is Gogi-internal. Each position has attribution: 'this_agent' or 'outside_this_agent'. Read policy_context before judging risk: the agent's policy (incl. max_daily_loss, measured on the agent's own realized P&L) does not apply to positions the user opened outside this agent — never call those a policy breach.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "get_positions"
  }
}

Input Schema

NameRequiredDescriptionDefault

No arguments

Output Schema

NameRequiredDescriptionDefault
errorNo
errorsNo
messageNo
successNo
positionsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. 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"
      +  },
      +  "errors": {
      +    "type": "array"
      +  },
      +  "message": {
      +    "type": "string"
      +  },
      +  "positions": {
      +    "type": "array"
      +  },
      +  "success": {
      +    "type": "boolean"
      +  }
      +}
  2. 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"
      +}
  3. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already declare read-only, idempotent, non-destructive behavior, but the description adds substantive interpretation rules beyond them: results are 'normalized', carry attribution values 'this_agent'/'outside_this_agent', and are subject to a policy caveat about max_daily_loss applying only to the agent's own realized P&L. These are non-obvious behavioral traits an agent would otherwise get wrong.

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?

Purpose and scope are front-loaded in the first sentence, and each following sentence carries a distinct rule (narrower than get_portfolio, label convention, attribution semantics, policy caveat). The display_label formatting parenthetical is dense but operationally necessary given the labeling requirement.

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?

An output schema exists, so return values need not be explained; the description instead covers what the schema cannot — scope, exclusions, account labeling conventions, attribution semantics, and the risk-judgment policy caveat. Nothing an agent needs to call and interpret this tool 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?

The tool takes zero parameters, so there is nothing for the description to disambiguate and the baseline is 4. The description does not waste space restating a parameter contract.

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?

States a specific verb and resource ('Get normalized current open positions and exposure') and scopes it to 'across connected brokers'. It explicitly distinguishes itself from the sibling get_portfolio ('narrower than get_portfolio'), so an agent can select between them without opening either 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?

Gives explicit when-not guidance ('does not replace account balances or wallet holdings') and names the alternative (get_portfolio). It also prescribes a downstream workflow: read policy_context before judging risk, and never classify outside-agent positions as a policy breach.

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