Skip to main content
Glama

Finance Database

equities

Read-onlyIdempotent

List listed companies (stocks) matching filters such as country, sector, industry group, industry, exchange and market cap tier, or matching a free-text query on symbol or name. Every filter accepts one value or several comma-separated values. Use show_options('equities', '') to see valid filter values. Returns categorisation (sector, industry, country, exchange, market cap tier), not prices.

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": "equities"
  }
}

Input Schema

NameRequiredDescriptionDefault
micNoISO 10383 market identifier code, e.g. 'XNAS', 'XNYS' or 'XAMS'. Several values: comma-separated (e.g. 'A, B') or a list. Case-insensitive.
limitNoRows to return (default 25, maximum 200).
queryNoOptional free-text search on symbol and name (case-insensitive substring, e.g. 'apple' or 'AAPL'); an ISIN also matches where available. Best matches come first.
marketNoFull market name, e.g. 'NASDAQ Global Select' or 'Euronext Amsterdam'. Several values: comma-separated (e.g. 'A, B') or a list. Case-insensitive.
offsetNoRows to skip, for paging (see the `_notes` hint in the response).
sectorNoSector, e.g. 'Information Technology', 'Health Care' or 'Financials'. Several values: comma-separated (e.g. 'A, B') or a list. Case-insensitive.
countryNoCountry of the company's headquarters, e.g. 'United States' or 'Netherlands'. This is not where it trades: ASML (Netherlands) is also listed in New York and Frankfurt. To find the listings in a country, filter on exchange or currency. Several values: comma-separated (e.g. 'A, B') or a list. Case-insensitive.
currencyNoTrading currency as an ISO code, e.g. 'USD' or 'EUR'. Several values: comma-separated (e.g. 'A, B') or a list. Case-insensitive.
exchangeNoExchange code, e.g. 'NMS' (NASDAQ Global Select), 'NYQ' (NYSE), 'PNK' (OTC Markets) or 'AMS' (Euronext Amsterdam). Use it to find an instrument's listings on certain exchanges, e.g. query='ASML' with exchange='NMS,NYQ,PNK' for its US listings. Several values: comma-separated (e.g. 'A, B') or a list. Case-insensitive.
industryNoIndustry, e.g. 'Biotechnology', 'Banks' or 'Hospitality & Leisure'. Use show_options to find the exact names. Several values: comma-separated (e.g. 'A, B') or a list. Case-insensitive.
market_capNoMarket cap tier: 'Mega Cap' (>= $200B), 'Large Cap' (>= $10B), 'Mid Cap' (>= $2B), 'Small Cap' (>= $300M), 'Micro Cap' (>= $50M) or 'Nano Cap'. Several values: comma-separated (e.g. 'A, B') or a list. Case-insensitive.
show_columnsNoColumns to return, comma-separated. Default: symbol, name, currency, sector, industry_group, industry, exchange, country, market_cap. Available: symbol, name, summary, currency, sector, industry_group, industry, exchange, mic, market, country, state, city, zipcode, website, market_cap, isin, cusip, figi, composite_figi, shareclass_figi, delisted.
industry_groupNoIndustry group, e.g. 'Semiconductors' or 'Banking'. Use show_options to find the exact names. Several values: comma-separated (e.g. 'A, B') or a list. Case-insensitive.
include_summaryNoAdd the business/fund description (truncated to 300 characters). Off by default to keep responses small.
include_delistedNoInclude delisted entries (excluded by default). Adds a `delisted` column.
only_primary_listingNoOnly primary listings: per instrument its listing on the main exchange of its home market (ASML.AS for ASML), or without one its listing on the largest main exchange abroad. Leaves out cross-listings, over-the-counter lines and depositary receipts.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent and closed-world, so the safety profile is covered. The description adds genuinely useful behavioral context beyond that: the multi-value filter semantics and the explicit statement that output is categorisation, not prices, which prevents misuse as a quote tool. It omits paging/total-count behavior, which the schema only hints at via the offset `_notes` reference.

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?

Three sentences, front-loaded with the verb and filterable scope, then the value-resolution hint, then the return-scope caveat. No sentence is redundant with the others and nothing is buried.

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 16-parameter, no-output-schema listing tool, the description covers what it returns at a category level and how to resolve filter values, with the schema supplying the column list and paging mechanics. It could say more about response shape or paging totals, but nothing essential to correct invocation is missing.

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, and the schema already explains most parameters in detail (including the country-vs-listing distinction). The description adds value by generalizing the multi-value rule across every filter and giving the exact show_options call signature for resolving valid values — important since there are 16 parameters and zero enums.

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 ('List listed companies (stocks)') and enumerates the filterable dimensions, so an agent knows exactly what the tool returns a set of. It does not differentiate itself from the free-text sibling search_instruments, which also matches on symbol/name, so it falls short of full sibling separation.

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 operative guidance: 'Use show_options(\'equities\', \'<field>\') to see valid filter values' and scopes the tool away from price data ('Returns categorisation..., not prices'). No explicit when-not or named alternative is given, so it stops short of a 5.

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.