iposignal
IPO deal terms, SEC filings, AI research and sentiment, plus live valuation metrics for US stocks.
Should I use this
Quality & Safety
Findings (1)
- LOWin lookup_companies_with_financials
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"iposignal": {
"url": "https://iposignal.xyz/api/mcp"
}
}
}Remote endpoints
https://iposignal.xyz/api/mcpstreamable-httpWhat it can do
Tool inventory
Tools (8)
🟢get_ipo_overview(companyId, symbol, cik)
FREE. The public facts of an IPO: company, ticker, CIK, exchange, listing date, shares offered, price range, final offer price when the deal has priced, and gross proceeds. Use it to identify a deal before buying the full profile with get_ipo_snapshot. Provide exactly one of companyId, symbol, or cik.
Input Schema
{
"type": "object",
"properties": {
"companyId": {
"type": "string",
"description": "IPOSignal company id (24-character hex), as returned by other IPOSignal responses."
},
"symbol": {
"type": "string",
"description": "US ticker symbol, e.g. CRCL. Case-insensitive. Tickers get reassigned, so a response may carry a symbolNote."
},
"cik": {
"type": "string",
"description": "SEC Central Index Key, with or without leading zeros, e.g. 1876042 or 0001876042."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"company": {
"type": [
"string",
"null"
],
"description": "Registrant name."
},
"symbol": {
"type": [
"string",
"null"
],
"description": "Ticker."
},
"cik": {
"type": [
"string",
"null"
],
"description": "SEC Central Index Key, 10 digits."
},
"venue": {
"type": [
"string",
"null"
],
"description": "Listing exchange."
},
"ipoDetails": {
"anyOf": [
{
"type": "object",
"properties": {},
"additionalProperties": true
},
{
"type": "null"
}
],
"description": "Public deal facts: date, exchange, shares offered, priceRange, offerPrice (final terms only), offerSize (gross proceeds). No valuation."
},
"symbolNote": {
"anyOf": [
{
"type": "object",
"properties": {},
"additionalProperties": true
},
{
"type": "null"
}
],
"description": "Present only when the requested ticker is contested: which registrant it belongs to now vs. the record served."
},
"premium": {
"type": [
"string",
"null"
],
"description": "What get_ipo_snapshot adds."
}
},
"additionalProperties": true,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢lookup_companies_with_financials(query, limit, offset)
FREE. Directory of companies we hold SEC iXBRL financial statements for, optionally filtered by ticker or company name. Returns ticker, company, CIK, latest reported period and pre/post-IPO period counts — use it to find which tickers get_company_financials can return. Paged: limit (default 200, max 500) and offset; the response carries total and nextOffset (null on the last page).
Input Schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Filter by ticker or company name (case-insensitive substring). Omit to list every covered company."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 500,
"default": 200,
"description": "Page size, 1-500. Defaults to 200."
},
"offset": {
"type": "integer",
"minimum": 0,
"default": 0,
"description": "Rows to skip. Pass the previous response's nextOffset to fetch the next page."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"count": {
"type": [
"number",
"null"
],
"description": "Rows in this page."
},
"total": {
"type": [
"number",
"null"
],
"description": "Rows matching the query across all pages."
},
"offset": {
"type": [
"number",
"null"
],
"description": "Rows skipped."
},
"limit": {
"type": [
"number",
"null"
],
"description": "Page size."
},
"nextOffset": {
"type": [
"number",
"null"
],
"description": "Offset of the next page, or null on the last page."
},
"data": {
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"symbol": {
"type": [
"string",
"null"
],
"description": "Ticker."
},
"company": {
"type": [
"string",
"null"
],
"description": "Registrant name."
},
"cik": {
"type": [
"string",
"null"
],
"description": "SEC Central Index Key."
},
"latestPeriodEnd": {
"type": [
"string",
"null"
],
"description": "End date of the latest reported period, YYYY-MM-DD."
},
"preIpoCount": {
"type": [
"number",
"null"
],
"description": "Reporting periods before the IPO."
},
"postIpoCount": {
"type": [
"number",
"null"
],
"description": "Reporting periods after the IPO."
}
},
"additionalProperties": true
}
},
{
"type": "null"
}
],
"description": "Companies we hold SEC iXBRL financials for."
}
},
"additionalProperties": true,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_ipo_snapshot(companyId, symbol, cik)
Retrieve a complete IPO company profile — deal terms, pricing range, expected market cap, SEC registration and prospectus details, offering structure, lifecycle timeline, and IBKR indicative borrow fee rate when available. When available, includes AI-generated research with valuation models, competitor benchmarking, underwriter ratings, board analysis, and risk factors. Provide exactly one of companyId, symbol, or cik. PREMIUM: paid per call over x402 (USDC on Base); an unpaid call returns the payment terms, and a not-found is never charged. Same data and price as the HTTP endpoint /api/agent/ipo/{id} or /api/agent/ipo/by-symbol/{symbol}.
Input Schema
{
"type": "object",
"properties": {
"companyId": {
"type": "string",
"description": "IPOSignal company id (24-character hex), as returned by other IPOSignal responses."
},
"symbol": {
"type": "string",
"description": "US ticker symbol, e.g. CRCL. Case-insensitive. Tickers get reassigned, so a response may carry a symbolNote."
},
"cik": {
"type": "string",
"description": "SEC Central Index Key, with or without leading zeros, e.g. 1876042 or 0001876042."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"company": {
"type": [
"string",
"null"
],
"description": "Registrant name."
},
"cik": {
"type": [
"string",
"null"
],
"description": "SEC Central Index Key, 10 digits."
},
"symbol": {
"type": [
"string",
"null"
],
"description": "Ticker."
},
"venue": {
"type": [
"string",
"null"
],
"description": "Listing exchange."
},
"updatedAt": {
"type": [
"string",
"null"
],
"description": "ISO timestamp of the last update to this record."
},
"ipoDetails": {
"anyOf": [
{
"type": "object",
"properties": {},
"additionalProperties": true
},
{
"type": "null"
}
],
"description": "Deal facts: date, exchange, shares offered, priceRange, offerPrice (final terms only), marketCap (post-IPO economic shares × offer price), offerSize (gross proceeds), and the source of each."
},
"registration": {
"anyOf": [
{
"type": "object",
"properties": {},
"additionalProperties": true
},
{
"type": "null"
}
],
"description": "SEC registration statement: form type and filing URL."
},
"offering": {
"anyOf": [
{
"type": "object",
"properties": {},
"additionalProperties": true
},
{
"type": "null"
}
],
"description": "Offering structure from the prospectus; termsAreFinal is true only for a final 424B* prospectus."
},
"lifecycleEvents": {
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {},
"additionalProperties": true
}
},
{
"type": "null"
}
],
"description": "Dated status history: filed, priced, listed, withdrawn."
},
"borrowFee": {
"anyOf": [
{
"type": "object",
"properties": {},
"additionalProperties": true
},
{
"type": "null"
}
],
"description": "Latest IBKR indicative borrow fee (annualized %), when available."
},
"research": {
"anyOf": [
{
"type": "object",
"properties": {},
"additionalProperties": true
},
{
"type": "null"
}
],
"description": "AI-generated research: valuation models, competitors, underwriters, board, risks. Figures are sourced from filings."
},
"freedom24News": {
"anyOf": [
{
"type": "object",
"properties": {},
"additionalProperties": true
},
{
"type": "null"
}
],
"description": "Freedom24 articles about the deal."
},
"sec": {
"anyOf": [
{
"type": "object",
"properties": {},
"additionalProperties": true
},
{
"type": "null"
}
],
"description": "SEC company data."
},
"symbolNote": {
"anyOf": [
{
"type": "object",
"properties": {},
"additionalProperties": true
},
{
"type": "null"
}
],
"description": "Present only when the requested ticker is contested: which registrant it belongs to now vs. the record served."
}
},
"additionalProperties": true,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_company_financials(symbol)
Retrieve full SEC iXBRL financial statements for a company we cover, pre- and post-IPO, with derived margins, growth, leverage and return ratios per period. Interim periods carry annualized figures alongside the reported ones. Provide a symbol. PREMIUM: paid per call over x402 (USDC on Base); an unpaid call returns the payment terms, and a not-found is never charged. Same data and price as the HTTP endpoint /api/agent/financials/by-symbol/{symbol}.
Input Schema
{
"type": "object",
"properties": {
"symbol": {
"type": "string",
"description": "US ticker symbol, e.g. CRCL. Case-insensitive. Tickers get reassigned, so a response may carry a symbolNote."
}
},
"required": [
"symbol"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"company": {
"type": [
"string",
"null"
],
"description": "Registrant name."
},
"symbol": {
"type": [
"string",
"null"
],
"description": "Ticker."
},
"cik": {
"type": [
"string",
"null"
],
"description": "SEC Central Index Key."
},
"fetchedAt": {
"type": [
"string",
"null"
],
"description": "When the statements were last extracted from SEC."
},
"preIpoPeriods": {
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"periodEndDate": {
"type": [
"string",
"null"
],
"description": "YYYY-MM-DD."
},
"periodStartDate": {
"type": [
"string",
"null"
],
"description": "YYYY-MM-DD."
},
"periodType": {
"type": [
"string",
"null"
],
"description": "Annual or interim, as filed."
},
"durationMonths": {
"type": [
"number",
"null"
],
"description": "Length of the period in months."
},
"currency": {
"type": [
"string",
"null"
],
"description": "Reporting currency."
},
"fxToUsd": {
"type": [
"number",
"null"
],
"description": "Multiply by this to convert to USD."
},
"metrics": {
"anyOf": [
{
"type": "object",
"additionalProperties": {
"type": [
"number",
"null"
]
}
},
{
"type": "null"
}
],
"description": "Tagged line items as reported (revenue, net income, cash, debt, ...)."
},
"annualizedMetrics": {
"anyOf": [
{
"type": "object",
"additionalProperties": {
"type": [
"number",
"null"
]
}
},
{
"type": "null"
}
],
"description": "Interim periods only: flow items annualized to 12 months."
},
"derived": {
"anyOf": [
{
"type": "object",
"additionalProperties": {
"type": [
"number",
"null"
]
}
},
{
"type": "null"
}
],
"description": "Computed ratios: margins, growth, leverage, returns."
}
},
"additionalProperties": true
}
},
{
"type": "null"
}
],
"description": "Periods reported in the registration statement, before listing."
},
"postIpoPeriods": {
"anyOf": [
{
"type": "array",
"items": {
"$ref": "#/properties/preIpoPeriods/anyOf/0/items"
}
},
{
"type": "null"
}
],
"description": "Periods from 10-K/10-Q/20-F filings after listing."
},
"symbolNote": {
"anyOf": [
{
"type": "object",
"properties": {},
"additionalProperties": true
},
{
"type": "null"
}
],
"description": "Present only when the requested ticker is contested: which registrant it belongs to now vs. the record served."
}
},
"additionalProperties": true,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_company_metrics(symbol, companyName)
Get live valuation metrics for any US-listed company (not just IPOs), computed from primary sources: SEC XBRL companyfacts TTM fundamentals (revenue, net income, EBITDA, debt, cash, shares) plus the latest market close. Returns multiples (P/E, P/S, EV/Revenue, EV/EBITDA), derivations (PEG, earnings/sales/EBITDA yields, net-debt/EBITDA), margins, and YoY growth — the same data IPOSignal's valuation pipeline uses for peer benchmarking, with the computation convention stated in the response. Provide exactly one of symbol (any SEC-mapped ticker) or companyName (resolves Nasdaq/NYSE listings). PREMIUM: paid per call over x402 (USDC on Base); an unpaid call returns the payment terms, and a not-found is never charged. Same data and price as the HTTP endpoint /api/agent/company-metrics.
Input Schema
{
"type": "object",
"properties": {
"symbol": {
"type": "string",
"description": "Any SEC-mapped US ticker, e.g. AAPL. Provide exactly one of symbol or companyName."
},
"companyName": {
"type": "string",
"description": "Company name, used when the ticker is unknown. Resolves Nasdaq/NYSE listings only."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"listing": {
"anyOf": [
{
"type": "object",
"properties": {},
"additionalProperties": true
},
{
"type": "null"
}
],
"description": "ticker, name, exchange, cik."
},
"priceClose": {
"type": [
"number",
"null"
],
"description": "Latest market close, USD."
},
"fundamentalsTtm": {
"anyOf": [
{
"type": "object",
"properties": {},
"additionalProperties": true
},
{
"type": "null"
}
],
"description": "Trailing-twelve-month revenue, net income, EBITDA, FCF, debt, cash, shares outstanding (and sharesSource), from SEC XBRL."
},
"valuation": {
"anyOf": [
{
"type": "object",
"properties": {},
"additionalProperties": true
},
{
"type": "null"
}
],
"description": "marketCap, enterpriseValue, P/E, P/S, EV/Revenue, EV/EBITDA, PEG, yields, net-debt/EBITDA."
},
"profile": {
"anyOf": [
{
"type": "object",
"properties": {},
"additionalProperties": true
},
{
"type": "null"
}
],
"description": "Margins and YoY growth."
},
"sources": {
"anyOf": [
{
"type": "object",
"properties": {},
"additionalProperties": true
},
{
"type": "null"
}
],
"description": "Where each input came from."
},
"convention": {
"type": [
"string",
"null"
],
"description": "How the figures were computed."
}
},
"additionalProperties": true,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_ipo_sentiment(days)
Access IPOSignal's proprietary market sentiment score — a daily signal quantifying how well recent IPOs are being received by investors. Ranges from -100 (extreme bearish) to +100 (extreme bullish) with trend data for the last N days. Use it to identify favorable IPO windows, time investment entries, and assess overall market appetite for new listings. PREMIUM: paid per call over x402 (USDC on Base); an unpaid call returns the payment terms, and a not-found is never charged. Same data and price as the HTTP endpoint /api/agent/ipo-sentiment.
Input Schema
{
"type": "object",
"properties": {
"days": {
"type": "integer",
"minimum": 1,
"maximum": 90,
"default": 14,
"description": "Trend window in days, 1-90. Defaults to 14."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"current": {
"anyOf": [
{
"type": "object",
"properties": {
"date": {
"type": [
"string",
"null"
],
"description": "YYYY-MM-DD."
},
"score": {
"type": [
"number",
"null"
],
"description": "-100 (extreme bearish) to +100 (extreme bullish)."
},
"direction": {
"type": [
"string",
"null"
],
"description": "bullish, bearish or neutral."
},
"strength": {
"type": [
"string",
"null"
],
"description": "weak, moderate or strong."
},
"sampleSize": {
"type": [
"number",
"null"
],
"description": "IPOs the score is computed from."
},
"reliable": {
"type": [
"boolean",
"null"
],
"description": "False when the sample is too small to trust."
},
"computedAt": {
"type": [
"string",
"null"
],
"description": "ISO timestamp."
}
},
"additionalProperties": true
},
{
"type": "null"
}
],
"description": "Latest daily reading."
},
"trend": {
"anyOf": [
{
"type": "array",
"items": {
"$ref": "#/properties/current/anyOf/0"
}
},
{
"type": "null"
}
],
"description": "Daily readings, newest first."
},
"summary": {
"type": [
"string",
"null"
],
"description": "One-line reading of level and direction."
}
},
"additionalProperties": true,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_ipo_social_sentiment(companyId, symbol, cik)
Get IPOSignal's X/Twitter social-sentiment reading for a specific IPO — an aggregate of how investors are discussing the stock on X, scored from -1 (bearish) to +1 (bullish) with a label, post tallies, and a one-line summary. The reading is taken once, before listing, and not refreshed: `ageDays` says how old it is and `reliable` is false when too few posts back it. Returns the aggregate signal only, not the underlying posts. Provide exactly one of companyId, symbol, or cik. PREMIUM: paid per call over x402 (USDC on Base); an unpaid call returns the payment terms, and a not-found is never charged. Same data and price as the HTTP endpoint /api/agent/social-sentiment.
Input Schema
{
"type": "object",
"properties": {
"companyId": {
"type": "string",
"description": "IPOSignal company id (24-character hex), as returned by other IPOSignal responses."
},
"symbol": {
"type": "string",
"description": "US ticker symbol, e.g. CRCL. Case-insensitive. Tickers get reassigned, so a response may carry a symbolNote."
},
"cik": {
"type": "string",
"description": "SEC Central Index Key, with or without leading zeros, e.g. 1876042 or 0001876042."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"company": {
"type": [
"string",
"null"
],
"description": "Registrant name."
},
"symbol": {
"type": [
"string",
"null"
],
"description": "Ticker."
},
"score": {
"type": [
"number",
"null"
],
"description": "-1 (bearish) to +1 (bullish)."
},
"label": {
"type": [
"string",
"null"
],
"description": "Bullish, Neutral or Bearish."
},
"postCount": {
"type": [
"number",
"null"
],
"description": "Posts the reading is based on."
},
"positiveHits": {
"type": [
"number",
"null"
],
"description": "Posts scored positive."
},
"negativeHits": {
"type": [
"number",
"null"
],
"description": "Posts scored negative."
},
"summary": {
"type": [
"string",
"null"
],
"description": "One-line summary."
},
"analyzedAt": {
"type": [
"string",
"null"
],
"description": "ISO timestamp of the reading."
},
"ageDays": {
"type": [
"number",
"null"
],
"description": "Days since the reading. Readings are taken before listing and not refreshed."
},
"reliable": {
"type": [
"boolean",
"null"
],
"description": "False when too few posts back the reading."
},
"symbolNote": {
"anyOf": [
{
"type": "object",
"properties": {},
"additionalProperties": true
},
{
"type": "null"
}
],
"description": "Present only when the requested ticker is contested: which registrant it belongs to now vs. the record served."
}
},
"additionalProperties": true,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_ipo_events(from, to, types)
Dated IPO events across all US IPOs in a window: lock-up expiries (with lock-up length), quiet-period expiries, and listings with offer price, first-day open and close, first-day pop and close return versus the offer, and lead managers. Use it to find upcoming lock-up expiries (supply overhang), quiet-period ends (analyst initiations) or how recent deals traded on day one. Arguments: from and to as YYYY-MM-DD (default today to today + 30 days, at most 366 days), types as a subset of lockup_expiry, quiet_period_expiry, listing (default all). PREMIUM: paid per call over x402 (USDC on Base); an unpaid call returns the payment terms, and an empty window is never charged. Same data and price as the HTTP endpoint /api/agent/ipo-events.
Input Schema
{
"type": "object",
"properties": {
"from": {
"type": "string",
"description": "Window start, YYYY-MM-DD (UTC date). Defaults to today."
},
"to": {
"type": "string",
"description": "Window end, YYYY-MM-DD, inclusive and at most 366 days after from. Defaults to from + 30 days."
},
"types": {
"type": "array",
"items": {
"type": "string",
"enum": [
"lockup_expiry",
"quiet_period_expiry",
"listing"
]
},
"description": "Event types to include: lockup_expiry (with lock-up length), quiet_period_expiry, listing (with first-day pop, close return and lead managers). Defaults to all three."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"from": {
"type": [
"string",
"null"
],
"description": "Window start, YYYY-MM-DD."
},
"to": {
"type": [
"string",
"null"
],
"description": "Window end, YYYY-MM-DD, inclusive."
},
"types": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"description": "Event types included."
},
"count": {
"type": [
"number",
"null"
],
"description": "Events returned."
},
"events": {
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"date": {
"type": [
"string",
"null"
],
"description": "YYYY-MM-DD."
},
"type": {
"type": [
"string",
"null"
],
"description": "lockup_expiry, quiet_period_expiry or listing."
},
"company": {
"type": [
"string",
"null"
],
"description": "Registrant name."
},
"symbol": {
"type": [
"string",
"null"
],
"description": "Ticker."
},
"cik": {
"type": [
"string",
"null"
],
"description": "SEC Central Index Key."
},
"exchange": {
"type": [
"string",
"null"
],
"description": "Listing exchange."
},
"lockupDays": {
"type": [
"number",
"null"
],
"description": "Lock-up length in days (lockup_expiry only)."
},
"listing": {
"anyOf": [
{
"type": "object",
"properties": {},
"additionalProperties": true
},
{
"type": "null"
}
],
"description": "Listing events only: offer price, first-day pop, close return, lead managers."
}
},
"additionalProperties": true
}
},
{
"type": "null"
}
],
"description": "Events in date order."
}
},
"additionalProperties": true,
"$schema": "http://json-schema.org/draft-07/schema#"
}Community
Evidence