Skip to main content
Glama

TheStrat for agents

portfolio_check

Protect-your-assets check for one portfolio, from your own bars: measurable conditions on the losing side of the user's positions, with the evidence. Read the playbook first: MCP resource thestrat://playbooks/protect-portfolio (or the prompt protect_portfolio).

Returns (1) the market condition: "Algorithmic buying identified in VIX while algorithmic selling in
4 major indexes" (VIX symbol over its M W D 60 opens, SPY QQQ IWM DIA each under all 4), confirmed or
not at a 60-minute close, plus the VIX futures curve state if given; (2) per position, the opens on
the holder's losing side (long: under the open = buyers on that timeframe are losing; short: over the
open = sellers are losing), reversals in force against the position (buy/sell list rule) and setups
against it (trigger not taken), with trigger, target and level of reclaim; (3) concentration: the %
of the user's basket (and of each ETF basket) whose current bar took the prior bar's low or high,
labelled at 80%+. Each part has `text` to quote and source URLs. Conditions only: not a buy or sell
signal. Quote `footer` at the end.

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": {
      "positions": "<positions>",
      "bars_by_timeframe": "<bars_by_timeframe>"
    },
    "name": "portfolio_check"
  }
}

Input Schema

NameRequiredDescriptionDefault
nowNoCurrent time, ISO 8601. Decides if the last bar is still open. Default: the server clock.
as_ofNoOptional ISO time. Use only bars that start at or before this time (replay a past bar).
positionsYesThe user's positions: {"NVDA": "long", "TSLA": "short"} or [{"symbol": "NVDA", "side": "long"}]. Up to 25. Sizes are not needed.
vix_curveNoOptional VIX futures prices {"front": 18.2, "second": 19.0}. Front over second = backwardation. Leave out if you have no curve data (the reply then says: no data).
etf_basketsNoOptional, up to 3: the holdings of an ETF the user owns, {"WGMI": {"IREN": [...], ...}}, on etf_timeframe. For the concentration check.
etf_timeframeNoTimeframe of the etf_baskets bars: D (default) or W.D
bars_by_timeframeYesBars per timeframe, then per symbol: {"M": {"NVDA": [...], "VIXY": [...], "SPY": [...]}, "W": {...}, "D": {...}, "60": {...}}. Each position on the user's timeframes (investor Y; position trader Q M; swing or day trader W D 60). VIX or a VIX ETN (VIXY, VXX, UVXY) and SPY QQQ IWM DIA on M W D 60 for the market condition. The last bar of each timeframe must be the current bar (its open is the open). 60 symbols and 500 bars per symbol per timeframe; 10 to 50 bars are enough.
position_timeframesNoThe user's timeframes for the positions: ["Y"] investor, ["Q", "M"] position trader, ["W", "D", "60"] swing or day trader. Positions are checked only on these. Ask the user.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations, the description carries the behavioral burden and does so substantially: it explains the three output sections, confirms conditions are not trading signals, notes source URLs and quotable text, and states that the VIX curve may report no data. It does not cover operational concerns such as error behavior, limits beyond the schema, or performance characteristics.

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 description is dense and long, but it is front-loaded and organized into numbered return sections. Most sentences earn their place given the tool's complexity, though some parenthetical detail could be tightened.

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 complex portfolio-analysis tool with no output schema, the description explains the expected return structure in useful detail, including market condition, per-position analysis, concentration, and footer quoting. It is complete enough for correct invocation, though it could say more about failure modes or data-quality expectations.

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 parameter schema already documents all eight inputs in detail. The description reinforces concepts like losing-side opens, timeframe relevance, and VIX/ETF requirements, but it does not add much parameter-level semantics beyond what the schema provides.

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 states a specific tool purpose: a protect-your-assets check for one portfolio, producing measurable losing-side conditions with evidence. It is clear what the tool does and how its output is structured, but it does not explicitly differentiate itself from nearby sibling tools such as open_decisions or signals_in_force.

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 clear usage context: use it for one portfolio, from the user's own bars, and read the referenced playbook first. It also states that the output is conditions only, not a buy or sell signal. It lacks explicit when-not-to-use guidance or named sibling alternatives.

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