Skip to main content
Glama
myfinancialria

MyFinancial Market Data MCP

User Portfolio Holdings

get_user_portfolio
Read-onlyIdempotent

Retrieve the authenticated user's current stock portfolio with live prices to assess holdings, identify concentration risks, and give personalized investment advice. Call this before any recommendation.

Instructions

Get the authenticated user's current stock portfolio with live prices. Returns each holding's symbol, company name, quantity, average buy price, current market price, P&L (absolute + %), invested value, portfolio weight %, sector, industry, market cap, PE ratio, dividend yield, and company classification (large/mid/small cap).

IMPORTANT — Call this tool FIRST before giving any stock recommendation, buy/sell suggestion, or investment advice. This lets you: • See what the user already holds to avoid duplicate recommendations • Spot red flags (over-concentration in one stock/sector, high-PE holdings, lack of diversification) • Suggest diversification across sectors, market caps, and asset types • Give truly personalised advice based on their actual positions

If the portfolio is empty or not set up, DO NOT just show a link. Instead, proactively ask the user to share their holdings with you — they can paste a broker CSV export, share a screenshot of their holdings, or tell you manually (e.g. '10 RELIANCE at ₹1350'). You have the add_portfolio_stocks tool to add them directly. Supported brokers: Zerodha, Groww, Angel One, Dhan, Upstox, 5Paisa, ICICI Direct, Kotak, HDFC Sky, Motilal Oswal.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, and the description aligns perfectly (a getter, no side effects). It adds behavior beyond annotations by detailing the return contents, handling of empty portfolios, and supported brokers for follow-up, which is critical operational context.

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 front-loaded with the core getter purpose and return fields, followed by a structured 'IMPORTANT' usage block. While it is long, each sentence serves a purpose—explaining when to call, what to do with results, and how to handle empty portfolios—so it is not padded or redundant.

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?

With no output schema, the description fully enumerates the data returned, including portfolio weight, sector, and classification. It also covers invocation timing, empty-portfolio handling, and the add_portfolio_stocks integration, making it comprehensive for correct agent behavior in a real advisory workflow.

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 the schema fully covers the input by definition. No parameter explanation is needed; the rubric assigns a baseline of 4 for zero-parameter tools, and the description appropriately skips irrelevant parameter details.

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 explicitly states 'Get the authenticated user's current stock portfolio with live prices' with a specific verb and resource. It enumerates the returned fields (symbol, sector, P&L, etc.), making its purpose unmistakable and clearly distinct from sibling portfolio tools like add_portfolio_stocks or update_portfolio_stock.

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?

The description includes an explicit directive to call this tool FIRST before any investment advice, with a bulleted list of reasons. It also explicitly names the alternative add_portfolio_stocks when the portfolio is empty and instructs the agent on how to gather holdings data, providing clear when-to-use and when-not-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.