MCP App Store
by KeenEthics

Overview

SPACInsider gives ChatGPT read-only access to SPACInsider's SPAC database: the current SPAC universe with IPO terms, trust values, deadlines and redemption data; point-in-time historical snapshots of the market on any past date; sponsor, underwriter, advisor and investor relationships; IPO, de-SPAC, PIPE, private placement, serial sponsor and 13F league tables; corporate actions such as extension and completion votes and liquidations; lockup and earnout terms; terminated deals; and SEC 13F filings and holdings. Typical workflows: count or screen SPACs by IPO date, status or deal terms; compare the market today with a past date; look up one SPAC's profile, participants and history; rank underwriters, advisors or investors over a date window; and aggregate trust, proceeds or redemption statistics. Every tool queries SPACInsider's own database and returns structured data; nothing is written, sent or fetched from the public internet. A SPACInsider account with MCP access is required.

Tools

corporate_action_aggregate

ChatGPT
Aggregations 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

ChatGPT
De-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

ChatGPT
Discover 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

ChatGPT
Return 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

ChatGPT
13F 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

ChatGPT
List supported league tables: id, the leagues_* tool to call, and what it ranks. Returns JSON catalog.

leagues_participants_despac

ChatGPT
De-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

ChatGPT
Underwriter 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

ChatGPT
PIPE 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

ChatGPT
Private placement league for an announced_date window. Returns JSON rows, ranked by total_funding_proceeds_raised_mm, which holds dollars despite its name.

leagues_serial_sponsor

ChatGPT
Serial sponsor league for an announced_date window (completed deals, sponsor groups with more than one). Returns JSON rows. A SPAC tagged with several sponsor groups (e.g. an owner and their team) counts toward each group, so two rows can carry identical figures — never sum deal_count across rows for a market total. Ranked by avg_return_on_share_price, a percent: (unadjusted de-SPAC share price - trust per unit) / trust per unit x 100. avg_share_price is the adjusted de-SPAC share price in dollars, and avg_percent_redeemed is a 0-1 fraction.

lockup_earnout_list

ChatGPT
Lockup or earnout records. type is lockup, earnout, or all. Returns JSON rows; paginate.

mcp_health

ChatGPT
Check 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

ChatGPT
Resolve 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_spacs

ChatGPT
SPACs 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

ChatGPT
List 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

ChatGPT
Summary for one 13F filing (period_of_report, table_entry_total, table_value_total) by accession_number.

sec_13f_holdings_list

ChatGPT
The 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

ChatGPT
Aggregations 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

ChatGPT
Fetch one SPAC by CIK. Returns a single JSON object. Use spac_search first if you only have name or ticker.

spac_history_aggregate

ChatGPT
Aggregations 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

ChatGPT
Point-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

ChatGPT
Point-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

ChatGPT
List 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

ChatGPT
Compact 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

ChatGPT
List participants linked to a SPAC CIK for a relationship type (e.g. sponsor, underwriter). Returns JSON rows; paginate with limit/offset.

spac_serial_sponsor

ChatGPT
Why one SPAC is or is not a serial sponsor: which of its management members closed which earlier de-SPACs. A Filed, Searching, Announced or Completed SPAC is a serial sponsor when its CEO, CFO, chairman or an executive manager (never a director) held one of those roles on another SPAC that completed earlier: before today, or before the SPAC's own closing date when it is Completed. Other statuses have no label. For counts or shares across many SPACs use the serial_sponsor filter / column on spac_list or spac_aggregate, or spac_history_aggregate for a past date; leagues_serial_sponsor is a different thing (sponsor groups ranked by returns). Returns one JSON object.

terminations_aggregate

ChatGPT
Aggregations 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

ChatGPT
Terminated 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

Claude

corporate_action_list

Claude

data_discover

Claude

get_usage_guide

Claude

leagues_13f

Claude

leagues_list

Claude

leagues_participants_despac

Claude

leagues_participants_ipo

Claude

leagues_pipe_investor

Claude

leagues_private_placement

Claude

leagues_serial_sponsor

Claude

lockup_earnout_list

Claude

mcp_health

Claude

participant_get

Claude

participant_spacs

Claude

sec_13f_filing_list

Claude

sec_13f_filing_summary

Claude

sec_13f_holdings_list

Claude

spac_aggregate

Claude

spac_by_cik

Claude

spac_history_aggregate

Claude

spac_history_by_cik

Claude

spac_history_list

Claude

spac_list

Claude

spac_profile

Claude

spac_relationship

Claude

spac_serial_sponsor

Claude

terminations_aggregate

Claude

terminations_list

Claude

Example Prompts

Click any prompt to copy it.

App Stats

62

Tools

3

Prompts

ChatGPT, Claude

Platforms

Works with

ChatGPT
Claude

Data refreshed daily