# com.mambabuilt/mcp-public-company-reporting-window-finder (npm · @mambalabsdev/mcp-public-company-reporting-window-finder)

Find when a public company reports: fiscal year end, cadence, next date and the outreach window.

- Trust score: 65/100 (medium)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-20

## Components

- npm · `@mambalabsdev/mcp-public-company-reporting-window-finder`: 65/100 (this document), [markdown](https://verifymcp.io/servers/com-mambabuilt-mcp-public-company-reporting-window-finder/mambalabsdev-mcp-public-company-reporting-window-finder.md), [page](https://verifymcp.io/servers/com-mambabuilt-mcp-public-company-reporting-window-finder/mambalabsdev-mcp-public-company-reporting-window-finder)

## Channel facts

- Registry: `npm`
- Package: `@mambalabsdev/mcp-public-company-reporting-window-finder`
- Version: `1.0.0`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-20.

- **Supply Chain Security**: 98/100
  - No malware found by supply-chain analysis.
  - No known CVEs affecting this package version or its production dependencies.
  - No install/post-install scripts declared.
  - 30 of 96 dependencies flagged as unhealthy.
- **Provenance & Transparency**: 48/100
  - Source repository is publicly reachable at the declared URL.
  - Provenance check failed: no build-provenance attestation is published.
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 1 days ago).
  - Publishes a security disclosure policy (SECURITY.md).
- **Schema Quality & AI Usability**: 55/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 4083 tokens (~816/item across 5 items; 5 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 0/100
  - Stability not yet verified: not enough scan history yet (needs a 30-day window).
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

**Unverified: 1 category.** A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

## Install

### Claude

```bash
claude mcp add com-mambabuilt-mcp-public-company-reporting-wind -- npx -y @mambalabsdev/mcp-public-company-reporting-window-finder
```

### Codex

```bash
codex mcp add com-mambabuilt-mcp-public-company-reporting-wind -- npx -y @mambalabsdev/mcp-public-company-reporting-window-finder
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-mambabuilt-mcp-public-company-reporting-wind": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@mambalabsdev/mcp-public-company-reporting-window-finder"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add com-mambabuilt-mcp-public-company-reporting-wind --command npx --arg -y --arg @mambalabsdev/mcp-public-company-reporting-window-finder
```

### Hermes

```yaml
mcp_servers:
  com-mambabuilt-mcp-public-company-reporting-wind:
    command: "npx"
    args: ["-y", "@mambalabsdev/mcp-public-company-reporting-window-finder"]
```

### Other

```json
{
  "mcpServers": {
    "com-mambabuilt-mcp-public-company-reporting-wind": {
      "command": "npx",
      "args": [
        "-y",
        "@mambalabsdev/mcp-public-company-reporting-window-finder"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-19 (score 65, +15)

- [security improvement] Malware scan: unverified → pass

### 2026-08-18 (score 50)

First indexed and scored.

## MCP tools (5)

### `resolve_company` (~763 tokens)

Resolve Company

Resolve a domain, ticker, ISIN, LEI, CIK or company name to a listed company identity. Returns 44 fields per input: legal name, primary ticker, ISIN, LEI, CIK, domain, primary exchange, country, currency, sector, security type, public float band, shares outstanding, and the provenance of each. Every input returns exactly one row, including the ones that match nothing, which come back with match_method set to no_match and every other field null. Read matched_on to see which identifier produced the row. Charged per company row returned, including a no_match row, because the lookup ran either way. Requires an APIFY_TOKEN and consumes Apify credits. Read only.

Input parameters:

- `cadences` (array): quarterly, semiannual, annual, unknown.
- `ciks` (array): SEC Central Index Keys, with or without leading zeros.
- `company_domain` (string): A single bare domain, e.g. stripe.com. The Clay column shape. Used by resolve, qualify and timing.
- `company_domains` (array): Many domains at once. Used by resolve, qualify and timing.
- `company_names` (array): Legal or trading names. Matched on a normalized name. Former names are not available: the alias table carries tickers and ISINs only.
- `country_codes` (array): ISO 3166-1 alpha-2, e.g. US, GB, FR.
- `exchange_codes` (array): ISO 10383 MICs. 18 venues are covered.
- `exclude_blank_checks` (string): Drop 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.
- `exclude_december_fiscal_year_end` (string): Keep 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.
- `exclude_name_only_matches` (string): Drop rows whose identity link rests on a name and country agreeing rather than on an identifier. Use this wherever a wrong identity link matters.
- `exclude_share_alike` (string): Drop rows derived from CC BY-SA sources, whose share alike condition may not suit a closed product.
- `fiscal_year_end_months` (array): Integers 1 to 12. Fiscal year end is effectively a United States field in this dataset.
- `foreign_private_issuer` (string): Filter on foreign private issuer status.
- `isins` (array): 12 character ISINs.
- `leis` (array): 20 character Legal Entity Identifiers.
- `min_provenance_confidence` (string): Set to high to exclude rows whose source terms were never read.
- `operating_companies_only` (string): Drop funds, trusts and other non operating entities. Sent as a string for Clay compatibility.
- `public_float_bands` (array): micro, small, mid, large, mega, unknown. Size runs on public float because market capitalization is not populated anywhere in this dataset.
- `regions` (array): Shorthand for a set of venues and countries: us, uk, eu. Widens an explicit exchange or country filter rather than replacing it.
- `sectors` (array): SEC SIC descriptions, e.g. Pharmaceutical Preparations. Populated on roughly 65 percent of the publishable universe.
- `security_types` (array): ordinary_shares, depositary_receipt, preferred_shares.
- `tickers` (array): Exchange tickers, e.g. NWLG. Matched against the primary ticker and every venue listing.
- `us_registrant_only` (string): Keep only companies carrying an SEC CIK.

### `qualify_company` (~873 tokens)

Qualify Company

Answer whether a company is publicly listed. Takes the same identifiers as resolve_company and returns a listed status verdict per input. Set listed_only to keep only the companies proven to be listed, or suppress_listed to remove them, which is what you want when selling only into private companies. By default an unmatched company returns is_listed null rather than false, because a non match may mean the company is private OR that the dataset does not hold its domain; set assume_unmatched_is_private to true to opt into reading a non match as private. Charged per company row returned. Requires an APIFY_TOKEN and consumes Apify credits. Read only.

Input parameters:

- `assume_unmatched_is_private` (string): qualify mode. By default an unmatched company returns is_listed null, because a non match may mean the company is private OR that we do not hold its domain. Set true to opt into reading a non match a…
- `cadences` (array): quarterly, semiannual, annual, unknown.
- `ciks` (array): SEC Central Index Keys, with or without leading zeros.
- `company_domain` (string): A single bare domain, e.g. stripe.com. The Clay column shape. Used by resolve, qualify and timing.
- `company_domains` (array): Many domains at once. Used by resolve, qualify and timing.
- `company_names` (array): Legal or trading names. Matched on a normalized name. Former names are not available: the alias table carries tickers and ISINs only.
- `country_codes` (array): ISO 3166-1 alpha-2, e.g. US, GB, FR.
- `exchange_codes` (array): ISO 10383 MICs. 18 venues are covered.
- `exclude_blank_checks` (string): Drop 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.
- `exclude_december_fiscal_year_end` (string): Keep 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.
- `exclude_name_only_matches` (string): Drop rows whose identity link rests on a name and country agreeing rather than on an identifier. Use this wherever a wrong identity link matters.
- `exclude_share_alike` (string): Drop rows derived from CC BY-SA sources, whose share alike condition may not suit a closed product.
- `fiscal_year_end_months` (array): Integers 1 to 12. Fiscal year end is effectively a United States field in this dataset.
- `foreign_private_issuer` (string): Filter on foreign private issuer status.
- `isins` (array): 12 character ISINs.
- `leis` (array): 20 character Legal Entity Identifiers.
- `listed_only` (string): qualify mode. Keep only rows proven to be publicly listed.
- `min_provenance_confidence` (string): Set to high to exclude rows whose source terms were never read.
- `operating_companies_only` (string): Drop funds, trusts and other non operating entities. Sent as a string for Clay compatibility.
- `public_float_bands` (array): micro, small, mid, large, mega, unknown. Size runs on public float because market capitalization is not populated anywhere in this dataset.
- `regions` (array): Shorthand for a set of venues and countries: us, uk, eu. Widens an explicit exchange or country filter rather than replacing it.
- `sectors` (array): SEC SIC descriptions, e.g. Pharmaceutical Preparations. Populated on roughly 65 percent of the publishable universe.
- `security_types` (array): ordinary_shares, depositary_receipt, preferred_shares.
- `suppress_listed` (string): qualify mode. Remove companies proven to be publicly listed, for anyone selling only into private companies. It removes what we can prove is listed; it does not warrant that the remainder is private.
- `tickers` (array): Exchange tickers, e.g. NWLG. Matched against the primary ticker and every venue listing.
- `us_registrant_only` (string): Keep only companies carrying an SEC CIK.

### `get_reporting_timing` (~1084 tokens)

Get Reporting Timing

Find when a public company next reports, and when to reach out around it. Returns 75 fields per input: fiscal year end, derived reporting cadence and its confidence, the next reporting event with its type, period and date, days to event, and the open and close of an outreach window you define with window_lead_days and window_lag_days, which default to 70 and 42. window_status is one of open, not_yet, closed_passed or no_event and is the field to filter on. Dates are PREDICTED from filing history, not announced: read next_event_is_estimate and confidence_band, whose thresholds sit at 0.80 and 0.50. TIMING ROWS COVER US COMPANIES ONLY. A non US company resolves fully for identity and returns a stated timing_unavailable_reason rather than a guessed date, and is still charged as a timing row because the work ran. Charged per timing row returned, never additionally as a resolved company. Requires an APIFY_TOKEN and consumes Apify credits. Read only.

Input parameters:

- `cadences` (array): quarterly, semiannual, annual, unknown.
- `ciks` (array): SEC Central Index Keys, with or without leading zeros.
- `company_domain` (string): A single bare domain, e.g. stripe.com. The Clay column shape. Used by resolve, qualify and timing.
- `company_domains` (array): Many domains at once. Used by resolve, qualify and timing.
- `company_names` (array): Legal or trading names. Matched on a normalized name. Former names are not available: the alias table carries tickers and ISINs only.
- `country_codes` (array): ISO 3166-1 alpha-2, e.g. US, GB, FR.
- `event_types` (array): full_year_results, half_year_results, quarterly_results, trading_update, annual_report_publication, sustainability_report_publication, agm, proxy_filing, capital_markets_day.
- `exchange_codes` (array): ISO 10383 MICs. 18 venues are covered.
- `exclude_blank_checks` (string): Drop 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.
- `exclude_december_fiscal_year_end` (string): Keep 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.
- `exclude_name_only_matches` (string): Drop rows whose identity link rests on a name and country agreeing rather than on an identifier. Use this wherever a wrong identity link matters.
- `exclude_share_alike` (string): Drop rows derived from CC BY-SA sources, whose share alike condition may not suit a closed product.
- `fiscal_year_end_months` (array): Integers 1 to 12. Fiscal year end is effectively a United States field in this dataset.
- `foreign_private_issuer` (string): Filter on foreign private issuer status.
- `include_constrained_period` (string): Emit the period in which a listed company is constrained in what it can announce, derived from the same window numbers. Useful for campaign and announcement timing.
- `isins` (array): 12 character ISINs.
- `leis` (array): 20 character Legal Entity Identifiers.
- `max_days_to_event` (string): Drop rows whose next event is further away than this. A cost control.
- `min_cadence_confidence` (string): 0 to 1. Rows whose cadence confidence falls below this return a null timing block with a stated reason rather than a guess. Quarterly cadence averages 0.94, annual 0.40, semiannual 0.21.
- `min_provenance_confidence` (string): Set to high to exclude rows whose source terms were never read.
- `operating_companies_only` (string): Drop funds, trusts and other non operating entities. Sent as a string for Clay compatibility.
- `public_float_bands` (array): micro, small, mid, large, mega, unknown. Size runs on public float because market capitalization is not populated anywhere in this dataset.
- `regions` (array): Shorthand for a set of venues and countries: us, uk, eu. Widens an explicit exchange or country filter rather than replacing it.
- `sectors` (array): SEC SIC descriptions, e.g. Pharmaceutical Preparations. Populated on roughly 65 percent of the publishable universe.
- `security_types` (array): ordinary_shares, depositary_receipt, preferred_shares.
- `tickers` (array): Exchange tickers, e.g. NWLG. Matched against the primary ticker and every venue listing.
- `us_registrant_only` (string): Keep only companies carrying an SEC CIK.
- `window_lag_days` (string): How many days before the event the outreach window closes. Default 42. Must be less than the lead.
- `window_lead_days` (string): How many days before the event the outreach window opens. Default 70.
- `window_statuses` (array): Keep only rows in these window states: open, not_yet, closed_passed, no_event.

### `build_company_universe` (~637 tokens)

Build Company Universe

Build a list of listed companies from filters rather than from identifiers you already hold. Filter by exchange, country, region, sector, security type, public float band, fiscal year end month, reporting cadence, operating status and foreign private issuer status. Returns 44 fields per company, the same shape resolve_company returns. At least one filter is required, so a bare call cannot pull the whole universe. This tool does NOT accept company identifiers: use resolve_company, qualify_company or get_reporting_timing for specific companies. SET limit EXPLICITLY. It defaults to 1000 and you are charged per company row returned, so an unbounded call is an expensive call. Truncation is always reported, never silent. Requires an APIFY_TOKEN and consumes Apify credits. Read only.

Input parameters:

- `cadences` (array): quarterly, semiannual, annual, unknown.
- `country_codes` (array): ISO 3166-1 alpha-2, e.g. US, GB, FR.
- `exchange_codes` (array): ISO 10383 MICs. 18 venues are covered.
- `exclude_blank_checks` (string): Drop 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.
- `exclude_december_fiscal_year_end` (string): Keep 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.
- `exclude_name_only_matches` (string): Drop rows whose identity link rests on a name and country agreeing rather than on an identifier. Use this wherever a wrong identity link matters.
- `exclude_share_alike` (string): Drop rows derived from CC BY-SA sources, whose share alike condition may not suit a closed product.
- `fiscal_year_end_months` (array): Integers 1 to 12. Fiscal year end is effectively a United States field in this dataset.
- `foreign_private_issuer` (string): Filter on foreign private issuer status.
- `limit` (string): Maximum rows for universe and season. Truncation is always reported, never silent.
- `min_provenance_confidence` (string): Set to high to exclude rows whose source terms were never read.
- `operating_companies_only` (string): Drop funds, trusts and other non operating entities. Sent as a string for Clay compatibility.
- `public_float_bands` (array): micro, small, mid, large, mega, unknown. Size runs on public float because market capitalization is not populated anywhere in this dataset.
- `regions` (array): Shorthand for a set of venues and countries: us, uk, eu. Widens an explicit exchange or country filter rather than replacing it.
- `sectors` (array): SEC SIC descriptions, e.g. Pharmaceutical Preparations. Populated on roughly 65 percent of the publishable universe.
- `security_types` (array): ordinary_shares, depositary_receipt, preferred_shares.
- `us_registrant_only` (string): Keep only companies carrying an SEC CIK.

### `get_reporting_season` (~726 tokens)

Get Reporting Season

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 parameters:

- `cadences` (array): quarterly, semiannual, annual, unknown.
- `country_codes` (array): ISO 3166-1 alpha-2, e.g. US, GB, FR.
- `event_types` (array): full_year_results, half_year_results, quarterly_results, trading_update, annual_report_publication, sustainability_report_publication, agm, proxy_filing, capital_markets_day.
- `exchange_codes` (array): ISO 10383 MICs. 18 venues are covered.
- `exclude_blank_checks` (string): Drop 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.
- `exclude_december_fiscal_year_end` (string): Keep 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.
- `exclude_name_only_matches` (string): Drop rows whose identity link rests on a name and country agreeing rather than on an identifier. Use this wherever a wrong identity link matters.
- `exclude_share_alike` (string): Drop rows derived from CC BY-SA sources, whose share alike condition may not suit a closed product.
- `fiscal_year_end_months` (array): Integers 1 to 12. Fiscal year end is effectively a United States field in this dataset.
- `foreign_private_issuer` (string): Filter on foreign private issuer status.
- `limit` (string): Maximum rows for universe and season. Truncation is always reported, never silent.
- `min_provenance_confidence` (string): Set to high to exclude rows whose source terms were never read.
- `operating_companies_only` (string): Drop funds, trusts and other non operating entities. Sent as a string for Clay compatibility.
- `public_float_bands` (array): micro, small, mid, large, mega, unknown. Size runs on public float because market capitalization is not populated anywhere in this dataset.
- `regions` (array): Shorthand for a set of venues and countries: us, uk, eu. Widens an explicit exchange or country filter rather than replacing it.
- `season_from` (string): season mode. ISO date. Defaults to today.
- `season_group_by` (string): season mode. Bucket size.
- `season_split_by` (string): season mode. Optional second dimension.
- `season_to` (string): season mode. ISO date. Defaults to 180 days from today.
- `sectors` (array): SEC SIC descriptions, e.g. Pharmaceutical Preparations. Populated on roughly 65 percent of the publishable universe.
- `security_types` (array): ordinary_shares, depositary_receipt, preferred_shares.
- `us_registrant_only` (string): Keep only companies carrying an SEC CIK.

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/com-mambabuilt-mcp-public-company-reporting-window-finder/mambalabsdev-mcp-public-company-reporting-window-finder#diagnostics

## Score history

- 2026-08-20: 65
- 2026-08-19: 65
- 2026-08-18: 50

## Links

- npm package: https://www.npmjs.com/package/@mambalabsdev/mcp-public-company-reporting-window-finder
- Socket report: https://socket.dev/npm/package/@mambalabsdev/mcp-public-company-reporting-window-finder
- Repository: https://github.com/mambalabsdev/mcp-public-company-reporting-window-finder
- Changelog RSS feed: https://verifymcp.io/servers/com-mambabuilt-mcp-public-company-reporting-window-finder/mambalabsdev-mcp-public-company-reporting-window-finder.xml
- Changelog JSON feed: https://verifymcp.io/servers/com-mambabuilt-mcp-public-company-reporting-window-finder/mambalabsdev-mcp-public-company-reporting-window-finder.json
- HTML version of this page: https://verifymcp.io/servers/com-mambabuilt-mcp-public-company-reporting-window-finder/mambalabsdev-mcp-public-company-reporting-window-finder
