Skip to main content
Glama

Folionomiq

Measure a portfolio

measure_portfolio
Read-onlyIdempotent

Measure a portfolio from its price history: how many independent bets it really holds (effective bets), which holding carries risk out of line with its money, what it owns through its funds (with how much of the money that view covers), what past crises did to it in money with the time it took to come back, and the engine's full report with every figure numbered F1, F2… beside the method that produced it. Descriptive: no forecast, no advice.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
baseNoCurrency every figure is expressed in (USD, EUR, GBP, CAD…). Default USD.
holdingsYesWhat is held: {ticker: weight or amount}. Weights need not sum to one; amounts in the base currency are also accepted (then the crises are shown in money). 1 to 100 holdings. Tickers as the exchange lists them (VOO, VWCE.DE, XAW.TO; 'CASH.USD' for cash).

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
_fenceYesWhat these figures are and are not: descriptive, no forecast, no advice. Repeat its sense when presenting the result.
reportNoThe numbered report: every figure beside its method.
stressNoWhat past crises did to this mix, replayed on its holdings.
structureNoHow many independent bets the holdings add up to and who carries the risk.
lookthroughNoWhat the portfolio owns through its funds.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds useful behavioral context beyond annotations: it states the tool is 'Descriptive: no forecast, no advice' and describes the output as a 'full report with every figure numbered F1, F2… beside the method that produced it'. This gives agents insight into the output format and intent, which is not present in the annotations. No contradiction with annotations.

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

Conciseness3/5

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

The description is a single, dense sentence that packs many details but is somewhat run-on and could be more scannable. It front-loads the main verb and resource, but the long list of outputs in the middle is not broken into digestible parts. It is not overly verbose, but the structure could be improved with bullet points or shorter sentences for better agent readability.

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?

Given the tool's complexity and the presence of an output schema (which presumably documents return values), the description covers the key outputs (effective bets, risk concentration, fund holdings, crisis impact, numbered report) and clarifies its descriptive nature. It provides enough context for an agent to understand what the tool does and what it returns. Minor gaps like data prerequisites or limitations are not mentioned, but the description is fairly complete for its purpose.

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% – both 'holdings' and 'base' are fully described in the input schema, including details like ticker formats, weight/amount acceptance, and default currency. The description adds no additional parameter-level meaning beyond what the schema already provides. Since coverage is high, the baseline is 3, and the description does not exceed that baseline.

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 states a specific verb 'Measure' and a specific resource 'a portfolio from its price history', and lists distinct outputs (effective bets, risk outliers, fund holdings, crisis impact, numbered report). It clearly distinguishes itself from sibling tools like compare_portfolios (which compares) and test_a_change (which tests changes) by focusing on a single portfolio's measurement. The scope is unambiguous.

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

Usage Guidelines3/5

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

The description implies this tool is for descriptive measurement (explicitly stating 'no forecast, no advice'), which is a form of usage guidance. However, it does not name alternative tools or explicitly state when to use this versus compare_portfolios, search_symbols, test_a_change, or validate_symbols. The routing context is implied by the tool's purpose, but no direct 'use this when' or 'for that, use X' guidance is provided.

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