@pipeworx/sec-ftd
Connect: https://gateway.pipeworx.io/sec-ftd/mcp · Install: one-click buttons
Tools: 3
SEC fails-to-deliver (CNS) data. Keyless.
Tools
ftd_security(symbol, periods?)— fails history for one ticker across recent half-month files.ftd_largest(period?, limit?)— the biggest fails in one reporting period.ftd_periods()— which periods SEC has published (currently 408, back to 2009).
The semantics are the point of this pack
A fail-to-deliver is a settlement failure — shares not delivered by the settlement date. The SEC says, where it publishes this file, that fails are not evidence of naked short selling. Ordinary causes include processing delays, order-entry mistakes, illiquidity in thinly traded securities, and long sales where the seller’s shares did not arrive in time.
There is a loud audience that wants the opposite inference. So the framing is not a footnote: it is
in every tool description and rides on every response as what_this_is and not_evidence_of.
An agent that reads only the payload still cannot honestly draw the naked-shorting conclusion.
Two more reading traps, both surfaced in the responses themselves:
- The published number is cumulative, not daily-new. It is total shares failing on that
settlement date across all participants. Summing days over-counts a fail that persists, which is
why
ftd_securityreturnspeak_shares_failedalongside the total and says so inreading_note, and whyftd_largestranks by each security’s worst single day rather than a sum. - Absence is not a clean bill of health. SEC lists a security on a date only when its fails
exceed the reporting threshold, so “no rows” means no reportable fails — not that nothing
failed and not that the ticker is unknown. The
found: falsepath says exactly that.
Data source and cadence
https://www.sec.gov/data-research/sec-markets-data/fails-deliver-data — one pipe-delimited file
per half month (a = 1st–15th, b = 16th–month end), zipped. Measured 2026-08-25: the current
file (cnsfails202607b.zip) is 1.65 MB zipped, 4.6 MB raw, 73,340 rows, covering 13,500
securities. SEC posts a period a few weeks after it closes.
Each call reads the periods the question needs straight from SEC, so currency is simply whatever
SEC has published — ftd_periods reports it. A request spanning many periods costs one fetch per
half month, which is why periods is capped at 6.
Two upstream traps worth knowing
- The path is not constructible. Recent files live under
/files/data/fails-deliver-data/, older ones under/files/data/other/fails-deliver-data/— verified 2026-08-25, wherecnsfails202605b.zip404s on the first prefix and 200s on the second. The pack reads SEC’s index page rather than guessing. - These ZIPs set the data-descriptor flag (0x08), so the local file header carries zeroes for both sizes. A reader that trusts the local header extracts nothing. Sizes are taken from the central directory, which always has the real values.
Tools
- ftd_security — Fails-to-deliver history for one US-listed security from the SEC’s CNS fails-to-deliver file, by ticker symbol. Returns each settlement date with the number of shares that failed to deliver, the closi
- ftd_largest — The largest fails-to-deliver in one SEC reporting period, ranked by share count, from the CNS fails-to-deliver file. Returns ticker, security description, settlement date, shares failed and price. A f
- ftd_periods — Which SEC fails-to-deliver reporting periods are currently published, newest first. SEC posts one file per half month (“a” = 1st-15th, “b” = 16th to month end). Use this to pick a valid period argumen
Tools
-
ftd_largest— The largest fails-to-deliver in one SEC reporting period, ranked by share count, from the CNS fails-to-deliver file. Returns ticker, security description, settlement date, shares failed and price. A f -
ftd_periods— Which SEC fails-to-deliver reporting periods are currently published, newest first. SEC posts one file per half month ( a = 1st-15th, b = 16th to month end). Use this to pick a valid period argument, -
ftd_security— Fails-to-deliver history for one US-listed security from the SEC's CNS fails-to-deliver file, by ticker symbol. Returns each settlement date with the number of shares that failed to deliver, the closi