Skip to main content
Glama

QuantApe Markets

portfolio_analyze

Read-only

A diversification read on a list of holdings: how concentrated they are across clusters of co-moving stocks (shares, Herfindahl index), the portfolio's residual volatility, which names most and least move with the portfolio as a whole, and which clusters are least correlated to it — per volatility regime (high-vol is the conservative one, since correlations rise when volatility does). Residual correlation is how much two stocks move together after the market and sector effects are removed from each, so it shows peers and true co-movement rather than shared market beta. diversifiers are the names with the lowest correlation to the portfolio, not recommendations to buy them. hedge=true marks TLT, GLD and UUP, market ballast rather than residual offsets. Holdings are tickers (equal weight) or {symbol, weight} objects; share classes collapse to one company; tickers outside the graph universe are listed under unknown. Everything returned is descriptive statistics of past returns, not a recommendation. Free within your daily allowance (anonymous 5/day by IP, signed-in users 10/day, power users 50/day); beyond that $0.05 per call via x402 (USDC).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
topNoDiversifiers to list per regime, 1-50 (default 10).
regimesNoRegimes to analyse; default ["all","highvol"].
holdingsYes1-200 tickers (equal weight) or {symbol, weight} objects (weights positive, given for all holdings or none), e.g. ["NVDA","XOM"].

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
regimesYes
holdingsYesCanonical symbols analysed (GOOG is GOOGL)
unavailableYesRequested regimes without a matrix yet
equal_weightYes
cluster_run_dateYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.4/5.0
Behavior5/5

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

With only readOnlyHint=true in annotations, the description adds substantial behavioral context: free quotas by user type, overage pricing, input handling for equal-weight versus weighted holdings, share-class collapsing, unknown-ticker handling, hedge flag behavior, and a clear statement that output is descriptive statistics, not investment advice. It consistently reinforces the read-only, non-recommendation nature of the tool.

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 long but front-loads the core purpose and metrics before moving to definitions, caveats, and pricing. It is dense yet mostly earns its length by explaining unusual terms like residual correlation and clarifying that diversifiers are not recommendations, though the single-paragraph structure could be easier to scan with bullets.

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?

For a complex portfolio-analysis tool with an existing output schema and readOnlyHint annotation, the description supplies everything an agent needs: what is computed, how regimes are interpreted, how holdings are accepted, edge-case handling, cost/auth context, and the non-advisory nature of results. No material gap remains for correct invocation or interpretation.

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 the schema already documents top, regimes, and holdings. The description adds semantic meaning beyond the schema by clarifying that holdings are equal weight by default, that share classes collapse to one company, that out-of-graph tickers appear as unknown, and that high-vol is treated as the conservative regime because correlations rise with volatility.

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 opens with a specific analytical purpose: a diversification read on a holdings list, then enumerates the exact metrics returned (concentration across clusters, Herfindahl index, residual volatility, correlation leaders/laggards, regime conditioning). This makes it unmistakable that the tool analyzes portfolio diversification rather than managing lists or fetching market data like the sibling tools.

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 when the tool is useful by describing its diversification output and regime options, and it adds practical usage context via daily allowance and x402 pricing. However, it does not explicitly state when to use this tool versus alternatives or when not to use it; the usage is left to inference from the analysis it provides.

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