Skip to main content
Glama

get_portfolio_performance

Read-onlyIdempotent

Returns full performance: stats, gains, best trade, recent activity, a daily-yield time series benchmarked against S&P 500 (chart-ready — aligned dates with portfolio and benchmark yield columns, plot directly as overlaid lines), monthly returns, risk profile, beta, dividend yield/amount.

Args:
    portfolio_id: One of the IDs returned by list_my_portfolios.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
portfolio_idYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -{
      -  "properties": {
      -    "result": {
      -      "title": "Result",
      -      "type": "string"
      -    }
      -  },
      -  "required": [
      -    "result"
      -  ],
      -  "title": "get_portfolio_performanceOutput",
      -  "type": "object"
      -}New value: +null
  2. First observed

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint false. The description adds valuable behavioral context: the output is chart-ready with aligned dates and columns, and includes a benchmark comparison. This goes beyond structured hints and gives the agent expectations about data format. No contradictions.

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 but not bloated; it lists many specific metrics in a single flowing sentence and adds a clear Args block. It front-loads the core purpose and provides an actionable parameter hint without filler. Slightly long, but every part earns its place.

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 has no output schema and a moderately complex return payload, the description enumerates all major content areas, including the chart-ready benchmark series and risk metrics. It does not specify exact field-level structures, but for selecting and invoking the tool correctly it is sufficient, especially with annotations covering safety.

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

Parameters5/5

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

Input schema coverage is 0% (only 'Portfolio Id' with no description). The description strongly compensates by stating that portfolio_id must be one of the IDs returned by list_my_portfolios, giving the agent a clear, actionable source for valid values.

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 verb ('Returns full performance') and enumerates concrete deliverables (stats, gains, best trade, activity, benchmarked time series, monthly returns, risk, beta, dividends). This clearly distinguishes it from sibling portfolio tools like get_portfolio_overview or get_portfolio_analysis.

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?

Usage is implied by the detailed list of outputs, but the description does not explicitly say when to prefer this tool over alternatives such as get_portfolio_analysis or get_portfolio_overview. The only usage hint is that portfolio_id comes from list_my_portfolios, which is parameter guidance rather than tool-selection guidance.

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