Skip to main content
Glama
Portfolio Analytics MCP

Portfolio Analytics MCP

by RugSec

compare_etfs

Read-only

Compare up to 15 ETFs by ISIN side by side to evaluate costs, fund size, returns, volatility, holdings, and domicile, helping you choose between funds.

Instructions

Side-by-side comparison of up to 15 ETFs by ISIN.

    Args:
        isins: List of ETF ISINs.
        refresh: Bypass the 24h cache.

    Returns:
        `etfs`: one row each with cost (TER), fund size, distribution,
        replication, domicile, index, currency, hedging, inception,
        returns, volatility and holdings count; the `cheapest` and
        `largest` ISIN; per-ISIN `errors`.
    

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": {
      "isins": "<isins>"
    },
    "name": "compare_etfs"
  }
}

Input Schema

NameRequiredDescriptionDefault
isinsYes
refreshNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.8/5.0
Behavior4/5

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

Beyond the readOnly/openWorld annotations, the description discloses the 24h cache and what refresh actually bypasses, the hard 15-ISIN limit, per-ISIN error reporting, and the full set of returned metrics. That is meaningful behavioral context the annotations do not carry.

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 one-line purpose followed by compact Args/Returns sections; every line contributes. The Returns enumeration is long but earns its place given there is no output schema.

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?

With no output schema, the Returns block adequately enumerates the row fields, the cheapest/largest summary keys, and the errors channel, so an agent knows what comes back. Missing only edge-case behavior (e.g., what happens with duplicate or invalid ISINs beyond the errors field).

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 0%, so the description must carry the load, and it does: 'isins' is defined as a list of ETF ISINs (with an implicit 15-item cap) and 'refresh' is explained as bypassing the 24h cache. Format-level detail (ISIN syntax, ordering of results) is still absent, keeping it below a 5.

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?

The first sentence names a specific verb and resource ('side-by-side comparison of up to 15 ETFs by ISIN') and bounds the operation. An agent can tell it is the multi-ISIN comparison tool rather than a single-profile fetch, though no sibling is named explicitly.

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 only implied by the word 'compare' and the 15-ISIN cap; the description never states when to prefer this over get_etf_profile or analyze_portfolio, nor when refresh should be set. The cache note gives partial operational guidance but no routing guidance.

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