Skip to main content
Glama
mambalabsdev

Public Company Reporting Window Finder

by mambalabsdev

Get Reporting Season

get_reporting_season
Read-onlyIdempotent

Find busy and quiet weeks in public company reporting windows by viewing aggregate event counts per week or month. Filter by sector, country, exchange, and more to analyze reporting load distribution.

Instructions

Show how reporting load is distributed over time, so you can find the busy weeks and the quiet ones. Returns aggregate rows per bucket, not per company: period start and end, event count, company count, estimated share and mean confidence. Bucket by week or month with season_group_by, and optionally split by sector, country or exchange with season_split_by. The window defaults to today through 180 days out; set season_from and season_to for another. At least one filter is required and company identifiers are not accepted. Charged per aggregate row returned, which is far fewer rows than the companies behind them. Requires an APIFY_TOKEN and consumes Apify credits. Read only.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum rows for universe and season. Truncation is always reported, never silent.
regionsNoShorthand for a set of venues and countries: us, uk, eu. Widens an explicit exchange or country filter rather than replacing it.
sectorsNoSEC SIC descriptions, e.g. Pharmaceutical Preparations. Populated on roughly 65 percent of the publishable universe.
cadencesNoquarterly, semiannual, annual, unknown.
season_toNoseason mode. ISO date. Defaults to 180 days from today.
event_typesNofull_year_results, half_year_results, quarterly_results, trading_update, annual_report_publication, sustainability_report_publication, agm, proxy_filing, capital_markets_day.
season_fromNoseason mode. ISO date. Defaults to today.
country_codesNoISO 3166-1 alpha-2, e.g. US, GB, FR.
exchange_codesNoISO 10383 MICs. 18 venues are covered.
security_typesNoordinary_shares, depositary_receipt, preferred_shares.
season_group_byNoseason mode. Bucket size.
season_split_byNoseason mode. Optional second dimension.
public_float_bandsNomicro, small, mid, large, mega, unknown. Size runs on public float because market capitalization is not populated anywhere in this dataset.
us_registrant_onlyNoKeep only companies carrying an SEC CIK.
exclude_share_alikeNoDrop rows derived from CC BY-SA sources, whose share alike condition may not suit a closed product.
exclude_blank_checksNoDrop pre deal SPACs. Separate from the operating company filter: a blank check shell is flagged as an operating company and passes every ordinary firmographic filter.
fiscal_year_end_monthsNoIntegers 1 to 12. Fiscal year end is effectively a United States field in this dataset.
foreign_private_issuerNoFilter on foreign private issuer status.
operating_companies_onlyNoDrop funds, trusts and other non operating entities. Sent as a string for Clay compatibility.
exclude_name_only_matchesNoDrop rows whose identity link rests on a name and country agreeing rather than on an identifier. Use this wherever a wrong identity link matters.
min_provenance_confidenceNoSet to high to exclude rows whose source terms were never read.
exclude_december_fiscal_year_endNoKeep only companies whose fiscal year ends in a month other than December, the accounts whose budget cycle is out of phase with a calendar quarter.

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. First observedv1.0.0

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already provide readOnlyHint, openWorldHint, idempotentHint, and non-destructive hint. The description adds valuable context: charging model (per aggregate row), authentication requirements (APIFY_TOKEN, Apify credits), and data source restrictions (CC BY-SA exclusion, blank check handling). This goes beyond annotations with concrete behavioral details.

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?

The description is comprehensive at ~150 words without being verbose. It front-loads the main purpose and return structure, then explains parameters, then pricing, then auth. Some redundancy exists (e.g., 'Read only' at end repeats annotations), but overall well-organized.

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?

Given 22 parameters, 100% schema coverage, and no output schema, the description adequately explains how to use the tool for its main purpose (bucketed reporting season analysis). It covers filter constraints, pricing, authentication, and data limitations. However, it does not describe return format or pagination (though 'Truncation is always reported' is hinted in limit description).

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 baseline is 3. The description adds value for key parameters (season_group_by, season_split_by) by explaining their role in bucketing and splitting, and notes default windows. However, many parameters have clear schema descriptions already (e.g., regions, sectors), and the tool's narrative does not significantly augment them.

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?

The description clearly states the tool's purpose: to show reporting load distribution over time, distinguishing it from siblings like get_reporting_timing which likely focuses on individual company timing. It specifies returns aggregate rows per bucket, not per company, which aligns with readOnlyHint and openWorldHint.

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 notes that at least one filter is required and company identifiers are not accepted, providing basic usage guidance. However, it lacks explicit when-to-use vs alternatives: for example, when to use get_reporting_season vs build_company_universe for bulk data needs. No exclusion criteria or prerequisite context beyond the required filter.

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

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mambalabsdev/mcp-public-company-reporting-window-finder'

If you have feedback or need assistance with the MCP directory API, please join our Discord server