Skip to main content
Glama

RiskModels Search

riskmodels_search
Read-only

Resolve stock, ETF, mutual fund, and 13F filer names or fragments to tickers, bw_fund_id, or bw_filer_id.

Instructions

Use when you need to resolve a name or fragment to an identifier: a stock ticker, an ETF ticker, a mutual fund's bw_fund_id or a 13F filer's bw_filer_id. Not for data about the match (use riskmodels_get_stock_snapshot, riskmodels_get_etf, riskmodels_get_fund or riskmodels_get_filer). Returns matches from GET /tickers (type stock), GET /data/etf/search (etf), GET /funds/search (fund: bw_fund_id, ticker, name, style box, asset class, total assets) or GET /13f/filers/search (filer: bw_filer_id). Registry refreshed end-of-day. Free.

Input Schema

NameRequiredDescriptionDefault
qNoSymbol or name fragment, e.g. "nvidia", "SMH", "contrafund" or "berkshire"; required for type filer
mag7Notype stock only: true returns the seven largest US technology names, e.g. true
typeNoWhat to search for, e.g. filer (default stock)
limitNoMaximum matches, integer, e.g. 10 (default 25 for etf and filer, 50 for fund; max 100, fund 500; ignored for stock)
primaryNotype fund only: true returns share-class primaries only, e.g. true
include_etfsNotype fund only: false drops funds flagged as ETFs, e.g. false (default true)
include_inactiveNotype fund only: true also returns funds without a recent holdings report, e.g. true (default false)
include_metadataNotype stock only: true adds sector and company metadata per match, e.g. true
equity_style_9boxNotype fund only: style box slug or name, e.g. "large-growth" or "Large Growth"

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.0.12

TDQS

A4.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, openWorldHint=true, destructiveHint=false, so the safety profile is covered. The description adds genuinely useful extra context — the underlying endpoints per type, the end-of-day registry refresh (data freshness) and that the call is free (cost) — but says nothing about result pagination or output shape despite being a search/list tool.

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 the use case and the exclusion before the endpoint detail, and every sentence carries routing, freshness, or cost information. It is dense — the endpoint URL enumeration is the most expendable part — but not padded.

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, read-only search tool with full schema coverage and annotations covering safety, the description supplies the missing decision context (when/when-not, alternatives, freshness, cost). The remaining gap is how matches are returned/paged, which matters little given no output schema exists to describe.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so every one of the 9 parameters is already documented in the schema, including defaults and the 'type X only' scoping. The description's per-endpoint field lists (e.g. fund returns bw_fund_id, ticker, style box) describe return content rather than parameter meaning, so the baseline of 3 is appropriate.

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 — resolving a name/fragment to an identifier — and enumerates the identifier kinds (stock ticker, ETF ticker, bw_fund_id, bw_filer_id). It also names the sibling tools it is NOT (riskmodels_get_stock_snapshot, riskmodels_get_etf, riskmodels_get_fund, riskmodels_get_filer), so an agent can separate lookup from data retrieval without opening a 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?

Includes an explicit trigger ('use when you need to resolve a name or fragment to an identifier') and an explicit exclusion with the correct alternatives for the excluded case. Nothing about when to pick this tool versus the get_* siblings 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.