Skip to main content
Glama

Get a wallet portfolio

get_portfolio

Fetches a wallet's open market positions plus claimable rewards and refunds after a signed login message authorizes access.

Instructions

Fetch the Bopster portfolio of a wallet you control: its open positions across markets, claimable rewards and refunds. Amounts are USDC base units (6 decimals). The backend shows a portfolio only to its own wallet, so this needs a login: call get_login_message for the wallet, sign the message with personal_sign, then pass wallet, nonce and signature here. Each signature works once. The session can't move funds and isn't kept.

Input Schema

NameRequiredDescriptionDefault
nonceYesThe nonce get_login_message returned for this wallet.
walletYesThe wallet whose portfolio to fetch (0x...). It must be the wallet that signed the login message.
signatureYesThe personal_sign signature of that login message, from this wallet.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.9/5.0
Behavior5/5

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

No annotations are provided, so the description carries the full burden and does so well: it discloses the auth requirement and why it exists (backend only shows a portfolio to its own wallet), that each signature is single-use, that the session cannot move funds, and that it is not persisted. It also pins down the amount encoding (USDC base units, 6 decimals), which is a real correctness hazard.

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

Conciseness5/5

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

Front-loaded with purpose, then the units caveat, then the login mechanics. Every sentence carries information an agent would otherwise have to discover by failing a call; nothing is redundant filler.

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?

There is no output schema, and the description compensates by naming what is returned (positions, claimable rewards, refunds) and the amount encoding. Combined with the fully documented three-parameter schema and the disclosed auth lifecycle, an agent has everything needed to call this correctly on the first attempt.

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 baseline is 3; the description goes beyond it by explaining how the three parameters relate (wallet must be the signer, nonce and signature must come from the get_login_message flow, each signature is spent after one call). It doesn't add format details, but the schema already carries those.

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?

States a specific verb and resource ('Fetch the Bopster portfolio of a wallet') and enumerates the payload ('open positions across markets, claimable rewards and refunds'). This is clearly distinct from siblings like get_user_profile or quote_position, which return different resources.

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?

Gives the exact prerequisite chain: call get_login_message for the wallet, sign with personal_sign, then pass wallet/nonce/signature here. It also scopes applicability to 'a wallet you control' and names the sibling that supplies the nonce, so the agent knows both when to use it and what must happen first.

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