corporate_action_aggregate
ChatGPTAggregations over corporate actions — count by type, by month, or sum/avg/min/max of a column — in ONE call instead of paging rows. Cohort: action_type (all = every type) and an action_date_start/end window, which also bounds a date_histogram on action_date; a date_histogram on any other date column needs inline 'min'/'max' (YYYY-MM-DD), which also filter the rows. With a date bound the response carries excluded_undated. Example: {"by_type": {"terms": {"field": "action_type", "size": 20}}} for a week's activity by type. Same Elasticsearch-style aggs subset as spac_aggregate — see data_discover topic=aggregates.
corporate_action_list
ChatGPTDe-SPAC votes, liquidations, extensions, stock splits — not IPO counts (use spac_list + ipo_date_*). Optional action_type slug (default all = every type in one call, e.g. a week of activity) + action_date_start/end (either bound alone works; undated rows they exclude are counted in excluded_undated). Use count_only for totals and corporate_action_aggregate for counts by type or by month. Without columns= each type returns the columns populated for it (all returns every column) — see data_discover corporate_action_types.
data_discover
ChatGPTDiscover columns, presets, enums, routes, or tool index. Start with topic=common_queries or workflow before year/IPO counts or SPAC History. Use topic=glossary with filter (min 2 chars) to map user-facing terms to column keys. common_queries includes spac_history_list routing for past as-of dates. Call before guessing column or action_type values. topic=spac_columns returns the commonly used columns by default; pass filter to search every column, or full=true for all of them (several hundred — a large payload). topic=glossary pages with offset.
get_usage_guide
ChatGPTReturn SPACInsider MCP usage text. Use topic=workflow or dates before guessing; topic=anti_patterns for do-not-use table (includes spac_history_list vs spac_list). Not overview-only loops. Response is markdown in JSON text content.
leagues_13f
ChatGPT13F investor league for one reporting quarter, given as YYYYQn only (e.g. 2024Q3): holders of SPACs that are currently SEARCHING or ANNOUNCED, ranked by number of SPACs held. The status is today's, not the quarter's, so a past quarter counts only SPACs still searching or announced now, and the despac_* columns are always empty. Returns JSON rows. Any other format (2024-Q3, 2024q3, Q3 2024) is rejected with an error; a quarter with no 13F data is an error listing the available quarters, and one whose filings hold no such SPAC (a quarter still being filed) is an error naming the latest quarter with a league (mcp_health thirteenf_latest_quarter).
leagues_list
ChatGPTList supported league tables: id, the leagues_* tool to call, and what it ranks. Returns JSON catalog.
leagues_participants_despac
ChatGPTDe-SPAC M&A advisor league table for an announced_date window. Returns JSON ranked participant rows. Optional advisor_type (Financial, CapMarkets, Legal) and side (Buyside, Sellside) narrow the ranking — e.g. advisor_type=Financial + side=Buyside for top buyside financial advisors. buyside_ and sellside_ break each advisor's deals down by side, counting deals with a pro forma value; a side with none is null, so filtering by side leaves the opposite side's columns null. Ranked by value (summed pro forma enterprise value, in dollars), advisors with no value last; for "most deals", sort by total_deal_count yourself.
leagues_participants_ipo
ChatGPTUnderwriter IPO league rankings by deal_role for SPACs that IPO'd in an ipo_date window — not SPAC IPO universe counts (use spac_list + ipo_date_* + count_only for those). Ranked by volume (the SPACs' total public proceeds, in dollars), not by deal count: for "most deals", sort by total_deal_count yourself. The combined roles (underwriter = book-runner + left-lead, legal = both counsel roles) count each role a firm held, so their deal_count_mkt_share is a share of role slots, not of SPACs. So are book-runner and co-manager, since a SPAC usually has several; only left-lead and auditor (one firm per SPAC) give a share of SPACs. Market shares are rounded to 6 decimals; the counsel deal counts are returned only for the legal / counsel roles.
leagues_pipe_investor
ChatGPTPIPE investor league for an announced_date window. Returns JSON rows, ranked by total_pipe_proceeds_raised_mm, which holds dollars despite its name.
leagues_private_placement
ChatGPTPrivate placement league for an announced_date window. Returns JSON rows, ranked by total_funding_proceeds_raised_mm, which holds dollars despite its name.
lockup_earnout_list
ChatGPTLockup or earnout records. type is lockup, earnout, or all. Returns JSON rows; paginate.
mcp_health
ChatGPTCheck data connectivity for SPACInsider and optional SEC 13F filings data, with approximate per-table row estimates (approx_rows: estimate plus a status of ok, missing, not_analysed or error — not exact counts), last_sync, the latest 13F reporting quarter, and data_as_of (the timestamp the data is current to — cite it as the as-of date). Call first if other tools fail. history_earliest_snapshot / history_latest_snapshot bound SPAC History. Returns spac_data and sec_filings_data as ok, skipped, or error. A healthy result may be up to 60 seconds old; error results are never cached.
participant_get
ChatGPTResolve a participant name to one canonical standardized name — use before participant_spacs. Case, punctuation and spacing are ignored ("White & Case LLP" finds WHITE CASE LLP, "J.P. Morgan" finds JP MORGAN) and % and _ are literal. An exact match wins, then the name as whole words of a stored name, then as any substring; ties go to the participant linked to the most SPACs, then the shorter name. Returns {name, raw_name, match} where match is exact, word or substring; a word or substring match is a guess, so check it or use participant_search for the alternatives. No match is an error naming the closest participants.
participant_search
ChatGPTSearch participants by name fragment. Returns JSON rows of matches; default limit 10.
participant_spacs
ChatGPTSPACs tied to a participant. Returns JSON SPAC rows. Omitting relationship counts EVERY role the participant has (sponsor, underwriter, investor, ...) and overcounts any single one — pass relationship=underwriter for "how many SPACs has X underwritten". Filter the linked SPACs with statuses, industries, or condition; rank with sort_by + sort_dir (unsorted order is not a ranking). Use count_only for totals. A name that is not a known participant is an error naming the closest standardized names.
sec_13f_filing_list
ChatGPTList 13F filings from the SEC pipeline (accession_number, cik, company, date_filed). Filter by cik and/or date_filed window. Use count_only for totals. Not for SPAC universe IPO counts — use spac_list + ipo_date_* instead.
sec_13f_filing_summary
ChatGPTSummary for one 13F filing (period_of_report, table_entry_total, table_value_total) by accession_number.
sec_13f_holdings_list
ChatGPTThe SPAC and de-SPAC positions in one 13F filing: its line items whose security is a SPAC or a company that merged with one, not the whole portfolio (Berkshire Hathaway's filings return none). filing_entry_total is the filing's full line-item count, so a client can say how much of the portfolio this is. Requires accession_number from sec_13f_filing_list.
spac_aggregate
ChatGPTAggregations over the CURRENT SPAC universe — count/sum/avg/min/max, or a distribution over time — in ONE call, instead of paging raw rows from spac_list and reducing them client-side. Same cohort filters as spac_list (ciks, statuses, industries, ipo_date_, announced_date_, closing_date_*) plus free-form condition (data_discover topic=condition_dsl). A date_histogram bins by ANY date field, bounded either by that field's range filter (e.g. ipo_date_start/end) or by inline 'min'/'max' (YYYY-MM-DD) inside the date_histogram (the window filters the cohort and caps the bucket count). For a point-in-time snapshot use spac_history_aggregate. The aggs body is an Elasticsearch-style subset — see data_discover topic=aggregates.
spac_by_cik
ChatGPTFetch one SPAC by CIK. Returns a single JSON object. Use spac_search first if you only have name or ticker.
spac_history_aggregate
ChatGPTAggregations over a point-in-time SPAC History cohort — count/sum/avg/min/max, or a time series — in ONE call, instead of paging raw rows from spac_history_list and reducing them client-side. Anchor in time (mutually exclusive): as_of_date for a single snapshot, or ts_start/ts_end for a window (required for a date_histogram time series). Over a ts_start/ts_end window each SPAC counts once, at its latest snapshot in the window that matches the filters (per bucket for a date_histogram; a day interval keeps every snapshot), so min, max and avg describe those snapshots, not every day: Q1's lowest share_close_price needs interval day, or spac_history_by_cik for one SPAC. Filters apply before that pick, so a SPAC counts in a window or bucket if it matched on any day in it: spac_status=SEARCHING by quarter counts every SPAC that was searching at some point in the quarter, not at quarter end; for status on a date use as_of_date. Cohort filters as spac_history_list, plus a ciks set (pipe in a current-universe cohort from spac_list) and free-form condition (data_discover topic=condition_dsl). The aggs body is an Elasticsearch-style subset — see data_discover topic=aggregates. Snapshots taken before 2026-09-30 may carry an "ANNOUNCED " prefix on target_company / archived_combination. SPAC History runs from its first to its latest snapshot (mcp_health history_earliest_snapshot / history_latest_snapshot): a date outside that range is an error, and a window that runs past either end returns earliest_snapshot or latest_snapshot.
spac_history_by_cik
ChatGPTPoint-in-time history for ONE SPAC by CIK. Pass start_date and/or end_date for a date-range window (e.g. closing prices over time), as_of_date for a single snapshot, or none for the full timeline (newest first). as_of_date is mutually exclusive with start_date/end_date. All dates are past calendar dates (YYYY-MM-DD). For the whole universe at one date use spac_history_list instead. Filter snapshots with condition (data_discover topic=condition_dsl). Default limit 10 — paginate for scans. Snapshots taken before 2026-09-30 may carry an "ANNOUNCED " prefix on target_company / archived_combination. SPAC History runs from its first to its latest snapshot (mcp_health history_earliest_snapshot / history_latest_snapshot): a date outside that range is an error, and a window that runs past either end returns earliest_snapshot or latest_snapshot.
spac_history_list
ChatGPTPoint-in-time SPAC market snapshot as of a past date (SPAC History). Requires as_of_date (YYYY-MM-DD, single past date — not today or future, no ranges). Do not use spac_list for historical universe questions — use this tool. Optional filters: cik, spac_status, spac_name, spac_share_symbol, industry, special_status, sub-industry, target_company, despac_share_symbol, announced_date_start/end; free-form condition (data_discover topic=condition_dsl); sort_by + sort_dir to rank (unsorted order is by cik, not a ranking). Default limit 10. Snapshots taken before 2026-09-30 may carry an "ANNOUNCED " prefix on target_company / archived_combination. SPAC History runs from its first to its latest snapshot (mcp_health history_earliest_snapshot / history_latest_snapshot): a date outside that range is an error, and a window that runs past either end returns earliest_snapshot or latest_snapshot.
spac_list
ChatGPTList SPAC rows from the universe. IPO-year totals: ipo_date_start/end + count_only (not corporate_action_list). Also filter by ciks, statuses, industries, announced_date_start/end; columns via CSV; free-form condition (data_discover topic=condition_dsl). Rank with sort_by + sort_dir (e.g. sort_by=total_public_proceeds for the largest) — without a sort, row order is by cik and is NOT a ranking. Default limit 10 — paginate for scans; the response carries row_count and truncated (true only when more rows exist after this page).
spac_profile
ChatGPTCompact SPAC profile for a CIK (fixed column set: status, symbols, key dates, and spac_page_url — the absolute SPACInsider profile link to cite as the source). extend=trust adds trust/proceeds columns (IPO size = total_public_proceeds) plus share_close_price and current_implied_cash_per_share for the cash-backing comparison. Returns one JSON object.
spac_relationship
ChatGPTList participants linked to a SPAC CIK for a relationship type (e.g. sponsor, underwriter). Returns JSON rows; paginate with limit/offset.
spac_search
ChatGPTResolve names, symbols, or CUSIPs to CIKs. Requires at least one of names, symbols, or cusips (each an array of non-blank strings). A name matches any SPAC name containing it (% and _ are literal); a symbol must equal a stored unit, share, warrant, right or de-SPAC symbol (any case); a CUSIP must match exactly. Returns the best match per term: term -> {query -> cik}, e.g. {"name": {"Churchill": "0002074973"}}, and unmatched lists the terms with no match — not full SPAC rows. Follow with spac_by_cik or spac_profile.
terminations_aggregate
ChatGPTAggregations over terminated De-SPAC deals — count/sum/avg/min/max, or a distribution over time — in ONE call, instead of paging raw rows from terminations_list. Optional cohort filters: cik, termination_date_start/end. Group by terminated_target_industry with a terms bucket, or bin termination_date with a date_histogram (bounded by termination_date_start/end). Example: {"by_industry": {"terms": {"field": "terminated_target_industry", "size": 20}, "aggs": {"avg_equity": {"avg": {"field": "pro_forma_equity_value"}}, "n": {"value_count": {"field": "cik"}}}}}. The aggs body is the same Elasticsearch-style subset as spac_aggregate — see data_discover topic=aggregates.
terminations_list
ChatGPTTerminated De-SPAC deals — original announcement date, terminated target name, termination date, pro-forma equity/enterprise value, and terminated target industry. Filter by cik and/or termination_date_start/end. Use count_only for totals; sort_by + sort_dir to rank (e.g. sort_by=pro_forma_equity_value, sort_dir=desc for the largest terminated deals). For termination counts/averages grouped by industry use terminations_aggregate.
corporate_action_aggregate
Claudecorporate_action_list
Claudedata_discover
Claudeget_usage_guide
Claudeleagues_13f
Claudeleagues_list
Claudeleagues_participants_despac
Claudeleagues_participants_ipo
Claudeleagues_pipe_investor
Claudeleagues_private_placement
Claudelockup_earnout_list
Claudemcp_health
Claudeparticipant_get
Claudeparticipant_search
Claudeparticipant_spacs
Claudesec_13f_filing_list
Claudesec_13f_filing_summary
Claudesec_13f_holdings_list
Claudespac_aggregate
Claudespac_by_cik
Claudespac_history_aggregate
Claudespac_history_by_cik
Claudespac_history_list
Claudespac_list
Claudespac_profile
Claudespac_relationship
Claudespac_search
Claudeterminations_aggregate
Claudeterminations_list
Claude