Skip to main content
Glama

Search strategies and accounts

find_portfolios
Read-onlyIdempotent

Find strategies or accounts by what they are, without the whole list.

The lookup counterpart to ``list_portfolios``: narrows the same rows and draws
nothing. Suited to assembling an allocation from existing pieces ("the European
bond one", "something I built at around risk 5").

``query`` matches all of its words anywhere in a row, on the name and on the
row's facts (asset class, region, style, wrapper, owner), so "swedish equity"
finds "Sweden Large Cap". ``group`` is 'mine' (strategies this client built),
'analyzera' (provider catalogue) or 'accounts' (money the client holds; accounts
are not usable as build components). A risk bound keeps only rows with a risk
target, which means blends.

Returned strategy ids are ones this client may use as sleeves in
``build_allocation_strategy``. A result flagged as a partial match did not match
the whole query.

The catalogue holds factor styles (value, quality, momentum and others) side by
side and ranks none: Analyzera does not recommend either direction of any factor
tilt. A case for one is yours, from your own sources; the client chooses.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "find_portfolios"
  }
}

Input Schema

NameRequiredDescriptionDefault
groupNo
limitNo
queryNo
regionNo
person_idNoThe id of one person, family or entity this login holds. Omit for everything this login holds.
asset_classNo
holds_sleevesNo
max_risk_levelNo
min_risk_levelNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.7/5.0
Behavior5/5

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

Annotations cover the safety profile (readOnly, idempotent, non-destructive), so the bar is lower, yet the description still adds substantial behaviour: query matches all words across name and row facts, the meaning of each group value, that a risk bound keeps only rows with a risk target (i.e. blends), that returned ids are valid sleeves for build_allocation_strategy, and that partial-match flags indicate incomplete query coverage.

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?

Front-loaded with purpose and the sibling contrast before mechanics, and most sentences carry real information. The closing paragraph on factor styles and Analyzera's non-recommendation is useful policy context but is the least essential block and pushes length up.

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?

For a 9-parameter, zero-required search tool with no output schema and 11% schema coverage, the description supplies the matching logic, group semantics, risk-bound behaviour and result semantics (ids usable as sleeves, partial-match flag). The gaps are minor: no mention of default result count or what `holds_sleeves` filters on.

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 only 11%, so the description must compensate, and it does for the important parameters: `query` word-matching semantics, `group` enum values with meanings, and risk bounds as blend filters. Region and asset_class are implied by the list of row facts that `query` searches, but `limit` and `holds_sleeves` receive no explanation anywhere.

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 ('Find strategies or accounts by what they are') and immediately names its scope distinction from list_portfolios as 'the lookup counterpart... narrows the same rows and draws nothing'. That is enough for an agent to pick it over the sibling without opening either schema.

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?

Explicitly frames the alternative (list_portfolios) and the condition that selects this tool (narrowing rather than the whole list). It also gives concrete usage shape via quoted example intents ('the European bond one', 'something I built at around risk 5') and a constraint that accounts are not usable as build components.

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