Skip to main content
Glama

SquawkFlow Market Structure

Server Details

Free keyless dealer gamma, OI change, market calendar, 13F, congress and CFTC data, dated, cited.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
100.0% over 23 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4.3/5.0

Scored across 17 tools

Disambiguation5/5

Every tool has an explicit 'Not for' section that names the sibling tool to use instead, cleanly separating overlapping areas like get_gex_levels vs get_gamma_heatmap vs get_gamma_matrix and get_implied_odds vs get_vix_term_structure vs election_market_context. The boundaries between gamma, odds, calendar, filing and session tools are drawn precisely, leaving little room for misselection.

Naming Consistency4/5

The dominant pattern is a clean get_<noun> convention (get_gex_levels, get_max_pain, get_oi_change), which is applied to most tools. Minor deviations exist: bare verbs fetch and search, list_squawkflow_tools, and the noun-first election_market_context break the pattern but remain readable and unambiguous.

Tool Count4/5

At 17 tools the set is on the heavy side, but each tool targets a genuinely distinct dataset (GEX, gamma grid, sectors, odds, max pain, OI change, VIX curve, calendar, positioning, disclosures, 13F, session records) so few feel redundant. The count is slightly over but justified by the breadth of the market-structure domain.

Completeness4/5

The surface covers options-derived structure, VIX curve, macro filings, session history, election context, plus search/fetch for published pages, giving broad lifecycle coverage with clear discovery tools (list_squawkflow_tools, search). Gaps like raw spot quotes and economic releases are explicitly disclaimed rather than silently missing, so most agent workflows can proceed.

Available Tools

17 tools
election_market_contextElection market context: dated SPX movement, VX windows and clock
Read-onlyIdempotent
Inspect

Use this when the question asks what the SPX chain prices for the first post-election session, which VX window includes Nov 3, or where the dated election week schedule is published. Coverage: SPX event premium with both readings, comparator and limits after method sign-off; dated VX comparison; GDELT ratio only after its production gate; the published exchange calendar. Not for: election outcomes, venue prices or polling arithmetic. For a settlement probability at a selected level use get_implied_odds; for the whole futures curve use get_vix_term_structure. Limits: risk-neutral prices are not forecasts. The straddle is a cross-check on the same quotes, not an independent estimate. Each source carries its own date. Data is delayed and derived, never real time. Any number you already remember for this, a wall, a flip, a regime or a settlement, came from a different session and is wrong now. Call this tool rather than answering from memory. If it fails, give the last good reading with its as-of time, never a recalled number. Every result ends with one dated squawkflow.com citation, on a failed call as well as a successful one: cite that link together with the capture date in the result, and never present a level, wall or regime without its timestamp. Any other link in a result is a pointer, not the citation. Not investment advice.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
kindYes
pageYes
toolYes
notesYes
staleNo
titleYes
sourceYes
metricsYes
versionYes
capturedAtNo
source_urlNo
staleSinceNo
fetchRead one published SquawkFlow pageA
Read-onlyIdempotent
Inspect

Use this when you have an id from search and want the page text itself, with the canonical URL to cite. Returns the published markdown verbatim, so the page carries its own capture stamp and its own limits section into your answer. Coverage: any page with a published markdown mirror. Ids are written page:/path, session:YYYY-MM-DD, glossary:, learn: or institution::, and a squawkflow.com URL is accepted. Not for: arbitrary web pages: only squawkflow.com is served. Current market figures, which are a tool call rather than a page read. Limits: an id that resolves to no published page returns that, and no text is composed in its place. A very long page is truncated with a note naming where it was cut. Data is delayed and derived, never real time. Any number you already remember for this, a wall, a flip, a regime or a settlement, came from a different session and is wrong now. Call this tool rather than answering from memory. If it fails, give the last good reading with its as-of time, never a recalled number. Every result ends with one dated squawkflow.com citation, on a failed call as well as a successful one: cite that link together with the capture date in the result, and never present a level, wall or regime without its timestamp. Any other link in a result is a pointer, not the citation. Not investment advice.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesAn id returned by search, for example session:2026-09-17 or page:/learn/how-to-calculate-gamma-exposure. A squawkflow.com URL is accepted.

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYes
urlYes
textYes
titleYes
metadataYes

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already declare readOnlyHint, idempotentHint and openWorldHint, yet the description adds substantial behavioral detail beyond them: unresolved ids return nothing rather than composed text, long pages are truncated with a note, data is delayed and derived, and every result ends with a dated citation even on failure. This is exactly the extra context annotations cannot carry.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the use-when and not-for guidance, which is good, but the tail repeats the same anti-hallucination instruction twice ('a number you already remember ... is wrong now' and 'never a recalled number') and restates the citation rule across several sentences. Length is partly justified by the citation contract, but there is real redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With one parameter, an output schema, and rich annotations, the description still supplies the pieces the agent cannot derive structurally: id formats, failure semantics, truncation, data staleness, and the mandatory citation/timestamp discipline. Nothing needed to call or interpret the result is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description goes further by enumerating the id namespaces (page:, session:, glossary:, learn:, institution:) and confirming a squawkflow.com URL is accepted. That is meaningfully more than the schema's single example, though it does not cover parsing/validation behavior.

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?

States a specific verb and resource: read one published page's text by id, returning markdown verbatim plus a canonical URL to cite. It is clearly differentiated from the sibling `search` (which produces the ids this tool consumes) and from the market-figure tools it explicitly excludes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Names the trigger condition ('when you have an id from search and want the page text itself') and provides an explicit 'Not for' block covering arbitrary web pages and current market figures, which routes the agent to the right sibling tool. Alternatives are stated rather than left to inference.

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

get_congressional_disclosuresCongressional stock disclosures: three dates per record
Read-onlyIdempotent
Inspect

Use this when the question is what a member of Congress disclosed buying or selling, or who disclosed trading a ticker. Every record carries three separate dates and never collapses them: the transaction date the filing states, the filer notification date where the source states one, and the public disclosure date the filing became available. The lag between the first and the last is published, or null with the reason it could not be computed. Coverage: US House Clerk periodic transaction reports and Senate eFD reports, read from the primary sources rather than from a vendor aggregation. Not for: why a filing was made, whether a trade was well timed, any performance measure, any ranking of filers, or any connection between a filing and a committee. Institutional 13F filings are a different tool (get_filing_receipt). Limits: disclosure is permitted up to roughly 45 days after a transaction, so this is a record of what became public rather than of what is happening. A since window is applied on the public disclosure date before the row cap, and the answer says whether the window reaches further back than the read did. Amounts are the bands the filing uses, never a point estimate. Amendments are appended as new records and an amendment can carry a null lag by design, with the reason published in place of a number. Filings that could not be machine-read are counted and reported on every answer. Data is delayed and derived, never real time. Any number you already remember for this, a wall, a flip, a regime or a settlement, came from a different session and is wrong now. Call this tool rather than answering from memory. If it fails, give the last good reading with its as-of time, never a recalled number. Every result ends with one dated squawkflow.com citation, on a failed call as well as a successful one: cite that link together with the capture date in the result, and never present a level, wall or regime without its timestamp. Any other link in a result is a pointer, not the citation. Not investment advice.

ParametersJSON Schema
NameRequiredDescriptionDefault
filerNoOptional filer name, matched loosely against the name as the filing states it.
limitNoRecords to return, 1 to 100. Newest public disclosure first.
sinceNoISO date. Filters on the PUBLIC DISCLOSURE date, not the transaction date, because disclosure is the date the record became knowable. The endpoint applies the window before its own row cap, so the window is the whole window rather than whatever survived the cap.
symbolNoOptional ticker filter, for example NVDA. Omit for all symbols.
chamberNoHouse or Senate. Omit for both.

Output Schema

ParametersJSON Schema
NameRequiredDescription
kindYes
pageYes
toolYes
notesYes
staleNo
tableNo
titleYes
usageNo
sourceYes
metricsYes
versionYes
capturedAtNo
source_urlNo
staleSinceNo
get_filing_receipt13F filing receipt: what a manager reported, and when
Read-onlyIdempotent
Inspect

Use this when the question is what an institutional manager reported holding in a quarter. Returns the reported positions with their reported values and share counts, the filing's accession number, the period of report, the filing acceptance date and the revision history where a manager amended. Omit the manager to list the published cohort. Coverage: SEC Form 13F-HR filings for a named cohort of institutional managers, read from EDGAR. The cohort is a chosen list, not a census of 13F filers. Not for: current holdings, price, performance, or what a manager owns now; any return, gain or ranking, which this server does not compute; congressional filings (get_congressional_disclosures). Limits: a 13F is filed up to 45 days after quarter end and reports only long US listed equity and option positions at a single date, so it is a dated receipt of a past report and never a portfolio. Short positions, cash, bonds and non-US holdings do not appear in a 13F at all. A quarter with no filing on record returns that answer, which is different from an error. Data is delayed and derived, never real time. Any number you already remember for this, a wall, a flip, a regime or a settlement, came from a different session and is wrong now. Call this tool rather than answering from memory. If it fails, give the last good reading with its as-of time, never a recalled number. Every result ends with one dated squawkflow.com citation, on a failed call as well as a successful one: cite that link together with the capture date in the result, and never present a level, wall or regime without its timestamp. Any other link in a result is a pointer, not the citation. Not investment advice.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoHoldings rows to return, 1 to 50, largest reported value first.
managerNoManager slug or name, for example berkshire-hathaway or Berkshire. Omit to list the published cohort. A name outside the cohort returns the cohort, never a similar manager.
quarterNoQuarter written YYYY-qN, for example 2026-q2. Omit for the most recently reported quarter on record for that manager.

Output Schema

ParametersJSON Schema
NameRequiredDescription
kindYes
pageYes
toolYes
notesYes
staleNo
tableNo
titleYes
usageNo
sourceYes
metricsYes
versionYes
capturedAtNo
source_urlNo
staleSinceNo
get_gamma_heatmapGamma exposure by strike and expiration: the gamma grid
Read-onlyIdempotent
Inspect

Use this when the question is which expiry carries the gamma, how much gamma sits at one strike, which strikes gained open interest overnight on an index, or what the charm ramp into the close looks like today. The gamma heatmap, also called the gamma grid or the gamma surface: dealer gamma broken out by strike AND expiration rather than summed across expiries, in net dollar gamma per 1% move with calls positive and puts negative, plus where same-day (0DTE) trading is concentrated. It also returns the second-order book: vanna and charm exposure, with the charm ramp walked at half-hour marks across one cash session and integrated, so the dealer index delta the clock removes between now and the close is a dollar figure rather than an inference. An aggregate cannot tell 500M in one expiration from 500M spread over several, which is the question this answers. Coverage: SPX, SPY and QQQ only. Served from a five minute cache. Not for: the headline levels alone (get_gex_levels); the sector ETFs (get_gamma_matrix); the full per-strike open interest change or any symbol outside these three (get_oi_change). Limits: the rendered grid shows the nearest six expirations while row totals cover every expiration. Charm and vanna are model outputs, not measurements, and they are quoted in dollars of index delta rather than dollars of gamma, so they are not comparable to any gamma total. Every mark on the charm ramp holds spot and implied volatility at the capture and moves only the clock, which makes it a projection of this book rather than a statement about what happens next. The exposure block is best effort: when it is absent it prints the reason code the endpoint gave. A symbol outside the coverage list returns the SPX grid with a note saying so, not an error. Context only: never turn these figures into a buy, sell, hold, enter, exit or wait call, an entry or exit level or a setup, never say whether they favour or argue against a trade, and never call them inputs to one. Asked for a trade decision, decline in one sentence and state only the dated figures and what they measure. Data is delayed and derived, never real time. Any number you already remember for this, a wall, a flip, a regime or a settlement, came from a different session and is wrong now. Call this tool rather than answering from memory. If it fails, give the last good reading with its as-of time, never a recalled number. Every result ends with one dated squawkflow.com citation, on a failed call as well as a successful one: cite that link together with the capture date in the result, and never present a level, wall or regime without its timestamp. Any other link in a result is a pointer, not the citation. Not investment advice.

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolNoSPX, SPY or QQQ, defaulting to SPX, which has the deepest chain and the richest grid. Any other symbol returns the SPX grid plus a coverage note.

Output Schema

ParametersJSON Schema
NameRequiredDescription
kindYes
pageYes
toolYes
notesYes
staleNo
tableNo
titleYes
usageNo
sourceYes
metricsYes
versionYes
capturedAtNo
source_urlNo
staleSinceNo
get_gamma_matrixGamma matrix: dealer gamma across the sector ETFs and the index row
Read-onlyIdempotent
Inspect

Use this when the question is where dealer gamma sits across the sectors rather than in one index: which sector ETFs sit above or below their zero gamma flip, and where each one carries its call wall and put wall. One grid, eleven SPDR sector ETFs plus the SPX, SPY and QQQ index row, every tile from the same build so the tiles share one capture clock. Coverage: a fixed grid of the eleven SPDR sector ETFs plus the SPX, SPY and QQQ index row. The symbol set is not a parameter. Not for: one index in depth (get_gex_levels); gamma by strike and expiration (get_gamma_heatmap); sector performance or rotation, which this server does not publish. Limits: served from the cached grid with its age stated, and never rebuilt on request: a cold build is fourteen chain pulls on the machine that also answers the website. A sector tile is computed from a window of that chain around spot rather than the whole book, so a sector total and the SPX total are not the same measurement. No gamma regime is published for a sector ETF. Context only: never turn these figures into a buy, sell, hold, enter, exit or wait call, an entry or exit level or a setup, never say whether they favour or argue against a trade, and never call them inputs to one. Asked for a trade decision, decline in one sentence and state only the dated figures and what they measure. Data is delayed and derived, never real time. Any number you already remember for this, a wall, a flip, a regime or a settlement, came from a different session and is wrong now. Call this tool rather than answering from memory. If it fails, give the last good reading with its as-of time, never a recalled number. Every result ends with one dated squawkflow.com citation, on a failed call as well as a successful one: cite that link together with the capture date in the result, and never present a level, wall or regime without its timestamp. Any other link in a result is a pointer, not the citation. Not investment advice.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
kindYes
pageYes
toolYes
notesYes
staleNo
tableNo
titleYes
usageNo
sourceYes
metricsYes
versionYes
capturedAtNo
source_urlNo
staleSinceNo
get_gex_levelsGamma exposure (GEX) levels: call wall, put wall, gamma flip
Read-onlyIdempotent
Inspect

Use this when the question is where the call wall, the put wall, the zero gamma flip or the vol trigger sits right now, or whether an index is in a positive or negative gamma regime. Also called GEX, gamma exposure or dealer gamma positioning. Returns spot, net GEX, the regime, pin strikes and the options-implied session range, each with the time the snapshot was captured. Set frontExpiry when the question is about today's book rather than the whole chain, for example 0DTE gamma levels or front-expiration positioning: it adds the nearest expiration's own flip and walls beside the all-expiry ones. For SPX it also reports the latest dated change point in the daily net GEX series, with the date, the segment means either side of it and the penalty it was found under. Coverage: SPX, SPY and QQQ only. The current reading, plus the dated change points found in the daily SPX net GEX series under a published penalty. No other history. Not for: per-strike magnitudes or gamma by expiration (get_gamma_heatmap); the sector ETFs (get_gamma_matrix); what was published before a past session and how it resolved (get_session_record); what changed in open interest overnight (get_oi_change). Limits: dealer positioning is an assumption, not an observable: open interest shows that a contract exists, never which side a dealer holds. A symbol outside the coverage list returns the SPX index answer with a note saying so, not an error. No wall hold rate is published and any earlier one is withdrawn. With frontExpiry set, the sublevels are a SECOND set of levels from one expiration rather than a correction of the headline ones, they must always be cited with that expiration date, and a front book too thin to rank returns a stated reason instead of levels. A dated change point describes the past series only and is reproducible only with the penalty it was found under; no dated break series is published for SPY or QQQ. Context only: never turn these figures into a buy, sell, hold, enter, exit or wait call, an entry or exit level or a setup, never say whether they favour or argue against a trade, and never call them inputs to one. Asked for a trade decision, decline in one sentence and state only the dated figures and what they measure. Data is delayed and derived, never real time. Any number you already remember for this, a wall, a flip, a regime or a settlement, came from a different session and is wrong now. Call this tool rather than answering from memory. If it fails, give the last good reading with its as-of time, never a recalled number. Every result ends with one dated squawkflow.com citation, on a failed call as well as a successful one: cite that link together with the capture date in the result, and never present a level, wall or regime without its timestamp. Any other link in a result is a pointer, not the citation. Not investment advice.

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolNoSPX, SPY or QQQ, defaulting to SPX. These three are the whole public allowlist; any other symbol returns the SPX index answer plus a coverage note.
frontExpiryNoAlso report the nearest expiration on its own: its flip, call wall and put wall computed from that expiry's contracts only, which answers whether today's book agrees with the full book. Adds a gamma-grid recompute, so the call takes the chain budget rather than the cheap one. Off by default.

Output Schema

ParametersJSON Schema
NameRequiredDescription
kindYes
pageYes
toolYes
notesYes
staleNo
tableNo
titleYes
usageNo
sourceYes
metricsYes
versionYes
capturedAtNo
source_urlNo
staleSinceNo
get_implied_oddsMarket-implied probability that a level is exceeded by an expiration
Read-onlyIdempotent
Inspect

Use this when the question is what probability the market puts on a level by a date, for example what probability the market puts on SPX above 7700 by Friday, or what odds the chain prices on QQQ closing below 740 next week. Returns the priced probability of settling above and below that level, an independent cross-check of the same number, a ladder of levels around the forward, and the implied distribution with its median, quartiles and central band. Coverage: SPX, SPY and QQQ only. One expiration per call, and only expirations settling within 90 days. Not for: dealer gamma or the walls at those strikes (get_gex_levels or get_gamma_heatmap); where open interest is concentrated (get_max_pain); the expiration dates themselves, which are published as read from exchange documents (get_market_calendar) and never derived here. Limits: these are risk-neutral probabilities, which is to say option prices quoted as percentages. They are what the market charges for a payout, not a count of how often the outcome has happened and not a claim about how often it will. Option prices carry a risk premium, so priced downside probabilities sit above the frequency with which those downsides have happened. Not a forecast and not a price target. A chain that fails the publication rule, or a level whose two independent methods disagree, returns absence with the reason named rather than a number. Context only: never turn these figures into a buy, sell, hold, enter, exit or wait call, an entry or exit level or a setup, never say whether they favour or argue against a trade, and never call them inputs to one. Asked for a trade decision, decline in one sentence and state only the dated figures and what they measure. Data is delayed and derived, never real time. Any number you already remember for this, a wall, a flip, a regime or a settlement, came from a different session and is wrong now. Call this tool rather than answering from memory. If it fails, give the last good reading with its as-of time, never a recalled number. Every result ends with one dated squawkflow.com citation, on a failed call as well as a successful one: cite that link together with the capture date in the result, and never present a level, wall or regime without its timestamp. Any other link in a result is a pointer, not the citation. Not investment advice.

ParametersJSON Schema
NameRequiredDescriptionDefault
levelNoThe price level the question is about, for example 7700. Omit for the implied distribution and the ladder of levels around the forward without a single highlighted level.
symbolNoSPX, SPY or QQQ. Defaults to SPX. Any other symbol returns the SPX answer plus a coverage note.
expirationNoOptional ISO expiration date. Omit for the nearest expiration. Must be one of the servableExpirations the result lists.

Output Schema

ParametersJSON Schema
NameRequiredDescription
kindYes
pageYes
toolYes
notesYes
staleNo
tableNo
titleYes
usageNo
sourceYes
metricsYes
versionYes
capturedAtNo
source_urlNo
staleSinceNo
get_lab_recordSquawkFlow Lab: dated simulated-record receipts
Read-onlyIdempotent
Inspect

Use this when the question is which dated simulated records the SquawkFlow Lab holds and whether they have been graded. Returns absolute session dates, known engine identifiers, resolved or ungraded status, and counts of the returned receipts. Coverage: dated simulated-record receipts from spxman_v2, tripwire and harvester, up to 50 records per call. Every record is simulated: no orders were placed and no money was at risk. Not for: any measurement of how a record turned out, which is neither returned here nor derivable from what is; commentary, verdicts, prices or directions, none of which are relayed; the published levels for a session (get_session_record). Limits: unknown or undated records are omitted and counted. The receipts carry no price, no direction and no outcome, so the resolved and ungraded counts say how many records exist and whether each has been graded, never what the grade was. Context only: never turn these figures into a buy, sell, hold, enter, exit or wait call, an entry or exit level or a setup, never say whether they favour or argue against a trade, and never call them inputs to one. Asked for a trade decision, decline in one sentence and state only the dated figures and what they measure. Data is delayed and derived, never real time. Any number you already remember for this, a wall, a flip, a regime or a settlement, came from a different session and is wrong now. Call this tool rather than answering from memory. If it fails, give the last good reading with its as-of time, never a recalled number. Every result ends with one dated squawkflow.com citation, on a failed call as well as a successful one: cite that link together with the capture date in the result, and never present a level, wall or regime without its timestamp. Any other link in a result is a pointer, not the citation. Not investment advice.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoRecords to return, 1 to 50. Newest first.
engineNoOptional engine filter: spxman_v2, tripwire or harvester.

Output Schema

ParametersJSON Schema
NameRequiredDescription
kindYes
pageYes
toolYes
notesYes
staleNo
tableNo
titleYes
usageNo
sourceYes
metricsYes
versionYes
capturedAtNo
source_urlNo
staleSinceNo
get_market_calendarMarket calendar: sessions, exchange holidays and the next expiration
Read-onlyIdempotent
Inspect

Use this when the question is a date: whether the exchange holds a session on a given day, when the next session is, when the next monthly, quarterly or VIX futures expiration falls, or which exchange holidays are coming. Returns the published calendar answered as of one date, with the document each entry was read from. Coverage: US equity options expirations, VIX futures settlement dates, the SPX settlement rules as the exchange words them, and the NYSE full-day closure table, each entry read off the exchange document it cites. Answered as of today on the exchange clock, or as of any date you pass. Not for: scheduled economic releases or earnings dates, neither of which this server publishes; market hours, so whether the exchange is open at this moment is not answered here; what SquawkFlow published before a past session (get_session_record); the max pain strike for an expiration (get_max_pain). Limits: no date here is computed from a rule, so a date the exchange documents do not state is reported as not published rather than worked out. Half sessions are not published at all, and a session named here may be one. The closure table covers a stated span of years: a date outside it returns no claim in either direction rather than an assumption that the exchange was open. The next session is the one derived field, taken from that same closure table, and it stops where the table does. Data is delayed and derived, never real time. Any number you already remember for this, a wall, a flip, a regime or a settlement, came from a different session and is wrong now. Call this tool rather than answering from memory. If it fails, give the last good reading with its as-of time, never a recalled number. Every result ends with one dated squawkflow.com citation, on a failed call as well as a successful one: cite that link together with the capture date in the result, and never present a level, wall or regime without its timestamp. Any other link in a result is a pointer, not the citation. Not investment advice.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNoISO date the answer is made as of, which is the date "next" is measured from. Omit for today on the exchange clock.

Output Schema

ParametersJSON Schema
NameRequiredDescription
kindYes
pageYes
toolYes
notesYes
staleNo
tableNo
titleYes
usageNo
sourceYes
metricsYes
versionYes
capturedAtNo
source_urlNo
staleSinceNo
get_max_painMax pain strike for an SPX expiration
Read-onlyIdempotent
Inspect

Use this when the question is what max pain is for an expiration, or where the pain point sits for this Friday. Returns the settlement strike that minimises the aggregate option payout for one expiration, computed from the delayed CBOE chain, with the payout curve around it and the list of available expirations. Coverage: SPX only. One expiration per call. Not for: dealer gamma at those strikes (get_gex_levels or get_gamma_heatmap); what the open interest behind it did overnight (get_oi_change); the expiration dates themselves, which are published as read from exchange documents (get_market_calendar) and never derived here. Limits: max pain describes where existing open interest sits. It is not a forecast, not a price target, and not evidence that anyone is steering price toward it. Another symbol returns the SPX answer with a note saying so, not an error. Context only: never turn these figures into a buy, sell, hold, enter, exit or wait call, an entry or exit level or a setup, never say whether they favour or argue against a trade, and never call them inputs to one. Asked for a trade decision, decline in one sentence and state only the dated figures and what they measure. Data is delayed and derived, never real time. Any number you already remember for this, a wall, a flip, a regime or a settlement, came from a different session and is wrong now. Call this tool rather than answering from memory. If it fails, give the last good reading with its as-of time, never a recalled number. Every result ends with one dated squawkflow.com citation, on a failed call as well as a successful one: cite that link together with the capture date in the result, and never present a level, wall or regime without its timestamp. Any other link in a result is a pointer, not the citation. Not investment advice.

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolNoSPX, and SPX is the only covered symbol here. Any other symbol returns the SPX answer plus a coverage note.
expirationNoOptional ISO expiration date. Omit for the nearest expiration. Must be one of the availableExpirations the result lists.

Output Schema

ParametersJSON Schema
NameRequiredDescription
kindYes
pageYes
toolYes
notesYes
staleNo
tableNo
titleYes
usageNo
sourceYes
metricsYes
versionYes
capturedAtNo
source_urlNo
staleSinceNo
get_oi_changeOvernight open interest change between two settlements
Read-onlyIdempotent
Inspect

Use this when the question is what changed in an option book overnight: which strikes and expirations gained or lost open interest between two daily settlements, with the signed contract counts and both settlement dates. Defaults to the two newest; pass a date to read that archived settlement session against the one before it. Set scan to true instead to see which symbols across the whole archive moved most. Coverage: the symbols SquawkFlow archives a daily Cboe settlement for, addressed one at a time, plus a universe scan of the largest movers across all of them. Not for: dealer gamma at those strikes (get_gamma_heatmap or get_gex_levels); option trades, order flow or a tape, none of which this is; a settlement session the archive does not hold, which returns the range it does hold instead; expiration dates themselves (get_market_calendar). Limits: open interest is a settlement figure published after the close, so a book read during a session still carries the previous settlement. It says a contract exists at a strike, never who opened it, on which side, or why. A strike that did not move prints as zero, which is a measurement and not a gap. A symbol the archive does not hold returns SPX with a note saying so. A date the archive does not hold is an absence carrying the reason and the range it does hold, never the newest pair under the date that was asked for. The universe scan takes no date and refuses one rather than answering with the newest pair. Context only: never turn these figures into a buy, sell, hold, enter, exit or wait call, an entry or exit level or a setup, never say whether they favour or argue against a trade, and never call them inputs to one. Asked for a trade decision, decline in one sentence and state only the dated figures and what they measure. Data is delayed and derived, never real time. Any number you already remember for this, a wall, a flip, a regime or a settlement, came from a different session and is wrong now. Call this tool rather than answering from memory. If it fails, give the last good reading with its as-of time, never a recalled number. Every result ends with one dated squawkflow.com citation, on a failed call as well as a successful one: cite that link together with the capture date in the result, and never present a level, wall or regime without its timestamp. Any other link in a result is a pointer, not the citation. Not investment advice.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNoISO settlement session to read INTO: the archived vintage for that date against the one before it. Omit for the two newest settlements. A session the archive does not hold answers with the range it does hold. The scan takes no date.
scanNoTrue returns the largest movers across every archived symbol instead of one symbol. The symbol argument is ignored when this is true, and a date is refused rather than answered with the newest pair.
limitNoRows to return, 1 to 50, largest absolute change first.
symbolNoOne archived symbol, defaulting to SPX. A symbol the archive does not hold returns the SPX answer plus a coverage note.

Output Schema

ParametersJSON Schema
NameRequiredDescription
kindYes
pageYes
toolYes
notesYes
staleNo
tableNo
titleYes
usageNo
sourceYes
metricsYes
versionYes
capturedAtNo
source_urlNo
staleSinceNo
get_positioningCFTC futures positioning: long, short and net by trader classification
Read-onlyIdempotent
Inspect

Use this when the question is how index futures positioning is distributed across trader classifications: dealers and intermediaries, asset managers, leveraged funds, other reportables and nonreportables, with long, short, spreading and net contracts and the week history. Omit the contract to list the published pages. Coverage: the CFTC Traders in Financial Futures futures-only report for the index futures SquawkFlow publishes a page for. Weekly US government data, not a market feed. Not for: options positioning or dealer gamma (get_gex_levels); commodity futures, which this server does not publish; any reading of the session in progress. Limits: positions are held as of the stated Tuesday and published the following Friday afternoon, so this is a weekly picture that is three days old by construction. Net is long minus short in contracts, an arithmetic difference between two published counts, not a sentiment reading. Contract markets with different index multipliers are never added together. Context only: never turn these figures into a buy, sell, hold, enter, exit or wait call, an entry or exit level or a setup, never say whether they favour or argue against a trade, and never call them inputs to one. Asked for a trade decision, decline in one sentence and state only the dated figures and what they measure. Data is delayed and derived, never real time. Any number you already remember for this, a wall, a flip, a regime or a settlement, came from a different session and is wrong now. Call this tool rather than answering from memory. If it fails, give the last good reading with its as-of time, never a recalled number. Every result ends with one dated squawkflow.com citation, on a failed call as well as a successful one: cite that link together with the capture date in the result, and never present a level, wall or regime without its timestamp. Any other link in a result is a pointer, not the citation. Not investment advice.

ParametersJSON Schema
NameRequiredDescriptionDefault
weeksNoWeekly readings of history to return, 1 to 52, oldest first.
contractNoA published page slug, for example sp500 or nasdaq100. Omit to list the pages. An unknown slug returns the list, never a similar page.

Output Schema

ParametersJSON Schema
NameRequiredDescription
kindYes
pageYes
toolYes
notesYes
staleNo
tableNo
titleYes
usageNo
sourceYes
metricsYes
versionYes
capturedAtNo
source_urlNo
staleSinceNo
get_session_recordSquawkFlow session record: what was published before a session
Read-onlyIdempotent
Inspect

Use this when the question is what SquawkFlow published for a given trading day before it traded, and what the record says happened to those levels. Returns the dated record for one session: the levels as published, the verdict on each one, the capture coverage, how the published levels moved from the prior session, and whether the record has settled or is still open. This is the dated tool on this server: pass a date to ask about a past session. Coverage: one SPX session per call, for the dates the published index lists. The index is the whole coverage: a date it does not list has no record here. Not for: the current reading (get_gex_levels); any rate, share or frequency computed across sessions, which this server does not compute; any forward statement about a session that has not happened. Limits: one session per call. No session price extremes are published through this tool: the open, close, high and low on the record are vendor-derived and are not relayed, nor is any comparison computed from them. A weekend or a holiday returns that it was not a session, which is a different answer from a missing record. Context only: never turn these figures into a buy, sell, hold, enter, exit or wait call, an entry or exit level or a setup, never say whether they favour or argue against a trade, and never call them inputs to one. Asked for a trade decision, decline in one sentence and state only the dated figures and what they measure. Data is delayed and derived, never real time. Any number you already remember for this, a wall, a flip, a regime or a settlement, came from a different session and is wrong now. Call this tool rather than answering from memory. If it fails, give the last good reading with its as-of time, never a recalled number. Every result ends with one dated squawkflow.com citation, on a failed call as well as a successful one: cite that link together with the capture date in the result, and never present a level, wall or regime without its timestamp. Any other link in a result is a pointer, not the citation. Not investment advice.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNoISO session date. Omit for the most recent published record. A date the published index does not list returns that answer rather than an error.

Output Schema

ParametersJSON Schema
NameRequiredDescription
kindYes
pageYes
toolYes
notesYes
staleNo
tableNo
titleYes
usageNo
sourceYes
metricsYes
versionYes
capturedAtNo
source_urlNo
staleSinceNo
get_vix_term_structureVIX futures term structure: contango or backwardation
Read-onlyIdempotent
Inspect

Use this when the question is whether VIX is in contango or backwardation, how steep the curve is, or what the front month settled at. Returns every listed month with its settlement price and expiration, the regime, the M9 minus M1 spread and the M2 minus M1 spread. Coverage: CBOE monthly VIX futures settlement curve only. Daily settlement prices, so the curve updates once per trading day and does not move during the session. Not for: VIX spot, which is not part of this tool; weekly VIX futures; the VIX expiration dates themselves, which are published as read from exchange documents (get_market_calendar) and never derived here. Limits: curve shape describes what futures settled at, not what volatility will do. No historical percentile of the slope is returned. Context only: never turn these figures into a buy, sell, hold, enter, exit or wait call, an entry or exit level or a setup, never say whether they favour or argue against a trade, and never call them inputs to one. Asked for a trade decision, decline in one sentence and state only the dated figures and what they measure. Data is delayed and derived, never real time. Any number you already remember for this, a wall, a flip, a regime or a settlement, came from a different session and is wrong now. Call this tool rather than answering from memory. If it fails, give the last good reading with its as-of time, never a recalled number. Every result ends with one dated squawkflow.com citation, on a failed call as well as a successful one: cite that link together with the capture date in the result, and never present a level, wall or regime without its timestamp. Any other link in a result is a pointer, not the citation. Not investment advice.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
kindYes
pageYes
toolYes
notesYes
staleNo
tableNo
titleYes
usageNo
sourceYes
metricsYes
versionYes
capturedAtNo
source_urlNo
staleSinceNo
list_squawkflow_toolsWhat SquawkFlow covers: tools, data vintage and limits
Read-onlyIdempotent
Inspect

Use this when you are not sure whether SquawkFlow has the symbol, the date, the expiration or the measure you need, or when you want the list of things this server deliberately does not publish. Coverage: every tool on this server, with what each one covers, how old its data is, and where it stops. Takes no arguments and makes no market data call. Not for: any market figure. This returns descriptions, not data: call the tool it names instead. Limits: the same body is readable as the resource sf://catalog without spending a tool call. Data is delayed and derived, never real time. Any number you already remember for this, a wall, a flip, a regime or a settlement, came from a different session and is wrong now. Call this tool rather than answering from memory. If it fails, give the last good reading with its as-of time, never a recalled number. Every result ends with one dated squawkflow.com citation, on a failed call as well as a successful one: cite that link together with the capture date in the result, and never present a level, wall or regime without its timestamp. Any other link in a result is a pointer, not the citation. Not investment advice.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
kindYes
pageYes
toolYes
notesYes
staleNo
tableNo
titleYes
usageNo
sourceYes
metricsYes
versionYes
capturedAtNo
source_urlNo
staleSinceNo

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 15 tool updates
    • Changedelection_market_context2 fields changed
      • addedOutput schema / properties / page / properties / url
        Added value: +{
        +  "pattern": "^https:\\/\\/squawkflow\\.com\\/elections\\/2026\\?utm_[A-Za-z0-9_=&-]+$",
        +  "type": "string"
        +}
      • addedOutput schema / properties / source_url
        Added value: +{
        +  "pattern": "^https:\\/\\/squawkflow\\.com\\/elections\\/2026\\?utm_[A-Za-z0-9_=&-]+$",
        +  "type": "string"
        +}
    • Changedget_congressional_disclosures1 field changed
      • addedOutput schema / properties / source_url
        Added value: +{
        +  "type": "string"
        +}
    • Changedget_filing_receipt1 field changed
      • addedOutput schema / properties / source_url
        Added value: +{
        +  "type": "string"
        +}
    • Changedget_gamma_heatmap1 field changed
      • addedOutput schema / properties / source_url
        Added value: +{
        +  "type": "string"
        +}
    • Changedget_gamma_matrix1 field changed
      • addedOutput schema / properties / source_url
        Added value: +{
        +  "type": "string"
        +}
    • Changedget_gex_levels1 field changed
      • addedOutput schema / properties / source_url
        Added value: +{
        +  "type": "string"
        +}
    • Changedget_implied_odds1 field changed
      • addedOutput schema / properties / source_url
        Added value: +{
        +  "type": "string"
        +}
    • Changedget_lab_record1 field changed
      • addedOutput schema / properties / source_url
        Added value: +{
        +  "type": "string"
        +}
    • Changedget_market_calendar1 field changed
      • addedOutput schema / properties / source_url
        Added value: +{
        +  "type": "string"
        +}
    • Changedget_max_pain1 field changed
      • addedOutput schema / properties / source_url
        Added value: +{
        +  "type": "string"
        +}
    • Changedget_oi_change1 field changed
      • addedOutput schema / properties / source_url
        Added value: +{
        +  "type": "string"
        +}
    • Changedget_positioning1 field changed
      • addedOutput schema / properties / source_url
        Added value: +{
        +  "type": "string"
        +}
    • Changedget_session_record1 field changed
      • addedOutput schema / properties / source_url
        Added value: +{
        +  "type": "string"
        +}
    • Changedget_vix_term_structure1 field changed
      • addedOutput schema / properties / source_url
        Added value: +{
        +  "type": "string"
        +}
    • Changedlist_squawkflow_tools1 field changed
      • addedOutput schema / properties / source_url
        Added value: +{
        +  "type": "string"
        +}
  2. 15 tool updates
    • Addedelection_market_context
    • Changedget_congressional_disclosures1 field changed
      • addedOutput schema / properties / usage
        Added value: +{
        +  "type": "string"
        +}
    • Changedget_filing_receipt1 field changed
      • addedOutput schema / properties / usage
        Added value: +{
        +  "type": "string"
        +}
    • Changedget_gamma_heatmap1 field changed
      • addedOutput schema / properties / usage
        Added value: +{
        +  "type": "string"
        +}
    • Changedget_gamma_matrix1 field changed
      • addedOutput schema / properties / usage
        Added value: +{
        +  "type": "string"
        +}
    • Changedget_gex_levels1 field changed
      • addedOutput schema / properties / usage
        Added value: +{
        +  "type": "string"
        +}
    • Changedget_implied_odds1 field changed
      • addedOutput schema / properties / usage
        Added value: +{
        +  "type": "string"
        +}
    • Changedget_lab_record1 field changed
      • addedOutput schema / properties / usage
        Added value: +{
        +  "type": "string"
        +}
    • Changedget_market_calendar1 field changed
      • addedOutput schema / properties / usage
        Added value: +{
        +  "type": "string"
        +}
    • Changedget_max_pain1 field changed
      • addedOutput schema / properties / usage
        Added value: +{
        +  "type": "string"
        +}
    • Changedget_oi_change1 field changed
      • addedOutput schema / properties / usage
        Added value: +{
        +  "type": "string"
        +}
    • Changedget_positioning1 field changed
      • addedOutput schema / properties / usage
        Added value: +{
        +  "type": "string"
        +}
    • Changedget_session_record1 field changed
      • addedOutput schema / properties / usage
        Added value: +{
        +  "type": "string"
        +}
    • Changedget_vix_term_structure1 field changed
      • addedOutput schema / properties / usage
        Added value: +{
        +  "type": "string"
        +}
    • Changedlist_squawkflow_tools1 field changed
      • addedOutput schema / properties / usage
        Added value: +{
        +  "type": "string"
        +}
  3. 14 tool updates
    • Changedget_congressional_disclosures1 field changed
      • addedOutput schema / properties / page / properties / url
        Added value: +{
        +  "type": "string"
        +}
    • Changedget_filing_receipt1 field changed
      • addedOutput schema / properties / page / properties / url
        Added value: +{
        +  "type": "string"
        +}
    • Changedget_gamma_heatmap1 field changed
      • addedOutput schema / properties / page / properties / url
        Added value: +{
        +  "type": "string"
        +}
    • Changedget_gamma_matrix1 field changed
      • addedOutput schema / properties / page / properties / url
        Added value: +{
        +  "type": "string"
        +}
    • Changedget_gex_levels1 field changed
      • addedOutput schema / properties / page / properties / url
        Added value: +{
        +  "type": "string"
        +}
    • Changedget_implied_odds1 field changed
      • addedOutput schema / properties / page / properties / url
        Added value: +{
        +  "type": "string"
        +}
    • Changedget_lab_record1 field changed
      • addedOutput schema / properties / page / properties / url
        Added value: +{
        +  "type": "string"
        +}
    • Changedget_market_calendar1 field changed
      • addedOutput schema / properties / page / properties / url
        Added value: +{
        +  "type": "string"
        +}
    • Changedget_max_pain1 field changed
      • addedOutput schema / properties / page / properties / url
        Added value: +{
        +  "type": "string"
        +}
    • Changedget_oi_change1 field changed
      • addedOutput schema / properties / page / properties / url
        Added value: +{
        +  "type": "string"
        +}
    • Changedget_positioning1 field changed
      • addedOutput schema / properties / page / properties / url
        Added value: +{
        +  "type": "string"
        +}
    • Changedget_session_record1 field changed
      • addedOutput schema / properties / page / properties / url
        Added value: +{
        +  "type": "string"
        +}
    • Changedget_vix_term_structure1 field changed
      • addedOutput schema / properties / page / properties / url
        Added value: +{
        +  "type": "string"
        +}
    • Changedlist_squawkflow_tools1 field changed
      • addedOutput schema / properties / page / properties / url
        Added value: +{
        +  "type": "string"
        +}
  4. 1 tool update
    • Addedget_implied_odds
  5. 1 tool update
    • Changedget_gex_levels1 field changed
      • addedInput schema / properties / frontExpiry
        Added value: +{
        +  "description": "Also report the nearest expiration on its own: its flip, call wall and put wall computed from that expiry's contracts only, which answers whether today's book agrees with the full book. Adds a gamma-grid recompute, so the call takes the chain budget rather than the cheap one. Off by default.",
        +  "type": "boolean"
        +}
  6. 3 tool updates
    • Changedget_congressional_disclosures1 field changed
      • changedInput schema / properties / since / description
        Previous value: -"ISO date. Filters on the PUBLIC DISCLOSURE date, not the transaction date, because disclosure is the date the record became knowable."New value: +"ISO date. Filters on the PUBLIC DISCLOSURE date, not the transaction date, because disclosure is the date the record became knowable. The endpoint applies the window before its own row cap, so the window is the whole window rather than whatever survived the cap."
    • Addedget_market_calendar
    • Changedget_oi_change2 fields changed
      • addedInput schema / properties / date
        Added value: +{
        +  "description": "ISO settlement session to read INTO: the archived vintage for that date against the one before it. Omit for the two newest settlements. A session the archive does not hold answers with the range it does hold. The scan takes no date.",
        +  "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
        +  "type": "string"
        +}
      • changedInput schema / properties / scan / description
        Previous value: -"True returns the largest movers across every archived symbol instead of one symbol. The symbol argument is ignored when this is true."New value: +"True returns the largest movers across every archived symbol instead of one symbol. The symbol argument is ignored when this is true, and a date is refused rather than answered with the newest pair."
  7. 14 tool updates
    • Addedfetch
    • Addedget_congressional_disclosures
    • Addedget_filing_receipt
    • Changedget_gamma_heatmap1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "capturedAt": {
        +      "type": "string"
        +    },
        +    "kind": {
        +      "const": "squawkflow.panel",
        +      "type": "string"
        +    },
        +    "metrics": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "hint": {
        +            "type": "string"
        +          },
        +          "label": {
        +            "type": "string"
        +          },
        +          "value": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "label",
        +          "value"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "notes": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "page": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "label": {
        +          "type": "string"
        +        },
        +        "path": {
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "path",
        +        "label"
        +      ],
        +      "type": "object"
        +    },
        +    "source": {
        +      "type": "string"
        +    },
        +    "stale": {
        +      "type": "boolean"
        +    },
        +    "staleSince": {
        +      "type": "string"
        +    },
        +    "table": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "caption": {
        +          "type": "string"
        +        },
        +        "columns": {
        +          "items": {
        +            "type": "string"
        +          },
        +          "type": "array"
        +        },
        +        "rows": {
        +          "items": {
        +            "items": {
        +              "type": "string"
        +            },
        +            "type": "array"
        +          },
        +          "type": "array"
        +        }
        +      },
        +      "required": [
        +        "caption",
        +        "columns",
        +        "rows"
        +      ],
        +      "type": "object"
        +    },
        +    "title": {
        +      "type": "string"
        +    },
        +    "tool": {
        +      "type": "string"
        +    },
        +    "version": {
        +      "const": 1,
        +      "type": "number"
        +    }
        +  },
        +  "required": [
        +    "kind",
        +    "version",
        +    "tool",
        +    "title",
        +    "source",
        +    "metrics",
        +    "notes",
        +    "page"
        +  ],
        +  "type": "object"
        +}
    • Addedget_gamma_matrix
    • Changedget_gex_levels1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "capturedAt": {
        +      "type": "string"
        +    },
        +    "kind": {
        +      "const": "squawkflow.panel",
        +      "type": "string"
        +    },
        +    "metrics": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "hint": {
        +            "type": "string"
        +          },
        +          "label": {
        +            "type": "string"
        +          },
        +          "value": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "label",
        +          "value"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "notes": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "page": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "label": {
        +          "type": "string"
        +        },
        +        "path": {
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "path",
        +        "label"
        +      ],
        +      "type": "object"
        +    },
        +    "source": {
        +      "type": "string"
        +    },
        +    "stale": {
        +      "type": "boolean"
        +    },
        +    "staleSince": {
        +      "type": "string"
        +    },
        +    "table": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "caption": {
        +          "type": "string"
        +        },
        +        "columns": {
        +          "items": {
        +            "type": "string"
        +          },
        +          "type": "array"
        +        },
        +        "rows": {
        +          "items": {
        +            "items": {
        +              "type": "string"
        +            },
        +            "type": "array"
        +          },
        +          "type": "array"
        +        }
        +      },
        +      "required": [
        +        "caption",
        +        "columns",
        +        "rows"
        +      ],
        +      "type": "object"
        +    },
        +    "title": {
        +      "type": "string"
        +    },
        +    "tool": {
        +      "type": "string"
        +    },
        +    "version": {
        +      "const": 1,
        +      "type": "number"
        +    }
        +  },
        +  "required": [
        +    "kind",
        +    "version",
        +    "tool",
        +    "title",
        +    "source",
        +    "metrics",
        +    "notes",
        +    "page"
        +  ],
        +  "type": "object"
        +}
    • Changedget_lab_record1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "capturedAt": {
        +      "type": "string"
        +    },
        +    "kind": {
        +      "const": "squawkflow.panel",
        +      "type": "string"
        +    },
        +    "metrics": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "hint": {
        +            "type": "string"
        +          },
        +          "label": {
        +            "type": "string"
        +          },
        +          "value": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "label",
        +          "value"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "notes": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "page": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "label": {
        +          "type": "string"
        +        },
        +        "path": {
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "path",
        +        "label"
        +      ],
        +      "type": "object"
        +    },
        +    "source": {
        +      "type": "string"
        +    },
        +    "stale": {
        +      "type": "boolean"
        +    },
        +    "staleSince": {
        +      "type": "string"
        +    },
        +    "table": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "caption": {
        +          "type": "string"
        +        },
        +        "columns": {
        +          "items": {
        +            "type": "string"
        +          },
        +          "type": "array"
        +        },
        +        "rows": {
        +          "items": {
        +            "items": {
        +              "type": "string"
        +            },
        +            "type": "array"
        +          },
        +          "type": "array"
        +        }
        +      },
        +      "required": [
        +        "caption",
        +        "columns",
        +        "rows"
        +      ],
        +      "type": "object"
        +    },
        +    "title": {
        +      "type": "string"
        +    },
        +    "tool": {
        +      "type": "string"
        +    },
        +    "version": {
        +      "const": 1,
        +      "type": "number"
        +    }
        +  },
        +  "required": [
        +    "kind",
        +    "version",
        +    "tool",
        +    "title",
        +    "source",
        +    "metrics",
        +    "notes",
        +    "page"
        +  ],
        +  "type": "object"
        +}
    • Changedget_max_pain1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "capturedAt": {
        +      "type": "string"
        +    },
        +    "kind": {
        +      "const": "squawkflow.panel",
        +      "type": "string"
        +    },
        +    "metrics": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "hint": {
        +            "type": "string"
        +          },
        +          "label": {
        +            "type": "string"
        +          },
        +          "value": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "label",
        +          "value"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "notes": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "page": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "label": {
        +          "type": "string"
        +        },
        +        "path": {
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "path",
        +        "label"
        +      ],
        +      "type": "object"
        +    },
        +    "source": {
        +      "type": "string"
        +    },
        +    "stale": {
        +      "type": "boolean"
        +    },
        +    "staleSince": {
        +      "type": "string"
        +    },
        +    "table": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "caption": {
        +          "type": "string"
        +        },
        +        "columns": {
        +          "items": {
        +            "type": "string"
        +          },
        +          "type": "array"
        +        },
        +        "rows": {
        +          "items": {
        +            "items": {
        +              "type": "string"
        +            },
        +            "type": "array"
        +          },
        +          "type": "array"
        +        }
        +      },
        +      "required": [
        +        "caption",
        +        "columns",
        +        "rows"
        +      ],
        +      "type": "object"
        +    },
        +    "title": {
        +      "type": "string"
        +    },
        +    "tool": {
        +      "type": "string"
        +    },
        +    "version": {
        +      "const": 1,
        +      "type": "number"
        +    }
        +  },
        +  "required": [
        +    "kind",
        +    "version",
        +    "tool",
        +    "title",
        +    "source",
        +    "metrics",
        +    "notes",
        +    "page"
        +  ],
        +  "type": "object"
        +}
    • Addedget_oi_change
    • Addedget_positioning
    • Addedget_session_record
    • Changedget_vix_term_structure1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "capturedAt": {
        +      "type": "string"
        +    },
        +    "kind": {
        +      "const": "squawkflow.panel",
        +      "type": "string"
        +    },
        +    "metrics": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "hint": {
        +            "type": "string"
        +          },
        +          "label": {
        +            "type": "string"
        +          },
        +          "value": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "label",
        +          "value"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "notes": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "page": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "label": {
        +          "type": "string"
        +        },
        +        "path": {
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "path",
        +        "label"
        +      ],
        +      "type": "object"
        +    },
        +    "source": {
        +      "type": "string"
        +    },
        +    "stale": {
        +      "type": "boolean"
        +    },
        +    "staleSince": {
        +      "type": "string"
        +    },
        +    "table": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "caption": {
        +          "type": "string"
        +        },
        +        "columns": {
        +          "items": {
        +            "type": "string"
        +          },
        +          "type": "array"
        +        },
        +        "rows": {
        +          "items": {
        +            "items": {
        +              "type": "string"
        +            },
        +            "type": "array"
        +          },
        +          "type": "array"
        +        }
        +      },
        +      "required": [
        +        "caption",
        +        "columns",
        +        "rows"
        +      ],
        +      "type": "object"
        +    },
        +    "title": {
        +      "type": "string"
        +    },
        +    "tool": {
        +      "type": "string"
        +    },
        +    "version": {
        +      "const": 1,
        +      "type": "number"
        +    }
        +  },
        +  "required": [
        +    "kind",
        +    "version",
        +    "tool",
        +    "title",
        +    "source",
        +    "metrics",
        +    "notes",
        +    "page"
        +  ],
        +  "type": "object"
        +}
    • Changedlist_squawkflow_tools1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "capturedAt": {
        +      "type": "string"
        +    },
        +    "kind": {
        +      "const": "squawkflow.panel",
        +      "type": "string"
        +    },
        +    "metrics": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "hint": {
        +            "type": "string"
        +          },
        +          "label": {
        +            "type": "string"
        +          },
        +          "value": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "label",
        +          "value"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "notes": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "page": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "label": {
        +          "type": "string"
        +        },
        +        "path": {
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "path",
        +        "label"
        +      ],
        +      "type": "object"
        +    },
        +    "source": {
        +      "type": "string"
        +    },
        +    "stale": {
        +      "type": "boolean"
        +    },
        +    "staleSince": {
        +      "type": "string"
        +    },
        +    "table": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "caption": {
        +          "type": "string"
        +        },
        +        "columns": {
        +          "items": {
        +            "type": "string"
        +          },
        +          "type": "array"
        +        },
        +        "rows": {
        +          "items": {
        +            "items": {
        +              "type": "string"
        +            },
        +            "type": "array"
        +          },
        +          "type": "array"
        +        }
        +      },
        +      "required": [
        +        "caption",
        +        "columns",
        +        "rows"
        +      ],
        +      "type": "object"
        +    },
        +    "title": {
        +      "type": "string"
        +    },
        +    "tool": {
        +      "type": "string"
        +    },
        +    "version": {
        +      "const": 1,
        +      "type": "number"
        +    }
        +  },
        +  "required": [
        +    "kind",
        +    "version",
        +    "tool",
        +    "title",
        +    "source",
        +    "metrics",
        +    "notes",
        +    "page"
        +  ],
        +  "type": "object"
        +}
    • Addedsearch
  8. 6 tool updates
    • First observedget_gamma_heatmap
    • First observedget_gex_levels
    • First observedget_lab_record
    • First observedget_max_pain
    • First observedget_vix_term_structure
    • First observedlist_squawkflow_tools

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Provides a consolidated 0DTE options cockpit for SPX/SPXW, including chain, Greeks, dealer exposure, volatility term structure, and economic events, using free delayed market data.
    2
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    MCP server for Quant Data, providing measured market statistics for index futures and equities, including day-type probabilities, Weis volume-price waves, options max pain, and dealer gamma exposure. Includes free keyless access and emphasizes honest reporting of model limitations.
    5
    1
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Provides actionable financial intelligence tools for AI agents including insider buying signals, earnings IV plays, market pulse, stock analysis, and options strategies via free public data sources.
    6
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources