Skip to main content
Glama

screen_companies

Find US public companies whose latest annual period fundamentals match filters (minimum revenue, margins, ROE, growth; sector; profitable-only), sorted and limited. Returns a ranked list of companies with their key figures. Data traces to SEC EDGAR filings. For research and education only; not financial advice or a recommendation to buy, sell or hold.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
qNoMatch ticker prefix, company name, industry or sector
sortNoSort column; prefix with - for descending. e.g. -revenue (default), net_margin, -return_on_equity, revenue_growth
limitNoMax results, 1-100 (default 25)
sectorNoOne of: Agriculture, Mining, Construction, Manufacturing, Transportation & Utilities, Wholesale Trade, Retail Trade, Finance & Real Estate, Services, Public Administration
roe_minNoMinimum return on equity, percent
currencyNoReporting currency, default USD; all for name-sorted discovery without monetary filters
exchangeNoExchange name, e.g. Nasdaq or NYSE
industryNoIndustry substring, e.g. semiconductors
profitableNoOnly companies with positive net income
revenue_minNoMinimum annual revenue in the selected reporting currency (default USD)
net_income_minNoMinimum annual net income in the selected reporting currency
net_margin_minNoMinimum net margin, percent
gross_margin_minNoMinimum gross margin, percent (e.g. 40)
total_assets_minNoMinimum total assets in the selected reporting currency
debt_to_equity_maxNoMaximum total-liabilities / year-end-equity ratio (legacy parameter name)
revenue_growth_minNoMinimum year-over-year revenue growth, percent
operating_margin_minNoMinimum operating margin, percent

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed8 schema fields changed
    • addedInput schema / properties / currency
      Added value: +{
      +  "description": "Reporting currency, default USD; all for name-sorted discovery without monetary filters",
      +  "type": "string"
      +}
    • changedInput schema / properties / debt_to_equity_max / description
      Previous value: -"Maximum debt-to-equity ratio"New value: +"Maximum total-liabilities / year-end-equity ratio (legacy parameter name)"
    • addedInput schema / properties / exchange
      Added value: +{
      +  "description": "Exchange name, e.g. Nasdaq or NYSE",
      +  "type": "string"
      +}
    • addedInput schema / properties / industry
      Added value: +{
      +  "description": "Industry substring, e.g. semiconductors",
      +  "type": "string"
      +}
    • changedInput schema / properties / net_income_min / description
      Previous value: -"Minimum annual net income, USD"New value: +"Minimum annual net income in the selected reporting currency"
    • changedInput schema / properties / q / description
      Previous value: -"Match ticker prefix or company-name substring"New value: +"Match ticker prefix, company name, industry or sector"
    • changedInput schema / properties / revenue_min / description
      Previous value: -"Minimum annual revenue, USD (e.g. 1000000000 for $1B)"New value: +"Minimum annual revenue in the selected reporting currency (default USD)"
    • changedInput schema / properties / total_assets_min / description
      Previous value: -"Minimum total assets, USD"New value: +"Minimum total assets in the selected reporting currency"
  2. First observed

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description bears the full burden. It mentions 'Find' and 'Returns a ranked list' and notes data provenance (SEC EDGAR), but does not explicitly confirm read-only behavior or potential side effects, leaving some ambiguity.

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?

The description is two concise sentences, front-loaded with the primary purpose, followed by output and provenance. No redundancy or filler.

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?

The description provides a solid overview of features (filters, sorting, limiting) and data source, but lacks explicit details on the exact structure of returned data (e.g., list of fields). Given the tool's complexity, this is a minor gap.

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 coverage is 100% with detailed parameter descriptions. The tool description adds little beyond an overall summary (e.g., 'sorted and limited') — baseline 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?

Description explicitly states the tool's action ('Find US public companies matching filters') and resource (companies), clearly distinguishing it from sibling tools like get_fundamentals which likely fetch data for a single company.

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?

The description implies screening across companies but does not explicitly state when to use this tool over alternatives. No direct comparison with siblings is provided, so guidance is only implicit.

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