Skip to main content
Glama

Portfolio fund import preview

portfolio_fund_import_preview
Read-onlyIdempotent

Preview importing funds into the caller team's Depot A. Pass the fund file as CSV text whose header is fund_isin,fund_lei,fund_name,as_of,isin,lei,name,weight (as_of, weight, fund_isin or fund_lei, and isin, lei or name are needed); at most 2,000 rows. Each line names its fund by the fund's ISIN or LEI, the constituent by ISIN, LEI or name, its weight in percent and the as of date (YYYY-MM-DD or DD.MM.YYYY). Every line is matched by the holdings resolver and answers its status, reason, the matched company and what the import would do in the team's book (add, reactivate, in_book, duplicate); a name is never used to match. Every fund answers new, replaces, unchanged or invalid; a fund with one unreadable line is invalid whole. Lines page with limit and offset in file order; funds, counts and total cover the whole file. Nothing is written, and applying an import happens in the Stonewake dashboard.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "csv": "<csv>"
    },
    "name": "portfolio_fund_import_preview"
  }
}

Input Schema

NameRequiredDescriptionDefault
csvYesThe fund file as CSV text, header row first.
limitNoPage size, default 100, maximum 100.
offsetNoRows to skip, default 0.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.5/5.0
Behavior5/5

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

Well beyond the annotations, it discloses how matching works ('Every line is matched by the holdings resolver', 'a name is never used to match'), a fail-whole-file rule ('a fund with one unreadable line is invalid whole'), the per-line status and intended book effect vocabulary, and the paging scope ('Lines page ... funds, counts and total cover the whole file'). Those are exactly the non-obvious behaviors an agent needs before calling.

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?

Purpose is front-loaded and the subsequent sentences cover format then behavior in a sensible order with no filler. The middle sentences are long and heavily parenthesized, making the required-column rules slower to parse than necessary.

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 and a free-text CSV parameter, the description still explains the per-line response fields (status, reason, matched company, book action) and the per-fund verdicts (new, replaces, unchanged, invalid) along with paging semantics. Nothing material is missing for correct invocation.

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?

Schema coverage is 100% and the schema only says 'CSV text, header row first', but the description supplies the exact header, which columns are mandatory, the 2,000-row cap, accepted date formats, that weight is in percent, and that limit/offset page in file order while aggregates span the whole file. This adds substantial meaning the schema does not carry.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'Preview importing funds into the caller team's Depot A', so the agent knows this is a dry-run of a fund import scoped to the caller's team. The near-identical sibling portfolio_import_preview is never named, so the agent must infer the split from the word 'funds' in the title.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear usage context: this is a preview, 'Nothing is written', and 'applying an import happens in the Stonewake dashboard', which tells the agent this tool is the validation step before an out-of-band apply. It does not explicitly compare itself to portfolio_import_preview or portfolio_funds, so the alternative selection is left to inference.

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