@pipeworx/sec-contracts
Connect: https://gateway.pipeworx.io/sec-contracts/mcp · Install: one-click buttons
Tools: 3
Material-contract exhibits from SEC filings — credit agreements, indentures, merger agreements, employment and severance agreements — found by the clause language inside them, over SEC EDGAR full-text search. The inverted question edgar cannot answer: not “what did Adobe file” but “which credit agreements filed since 2025 contain a change-of-control clause”.
Tools
sec_contracts_search(query, match?, exhibit_type?, form?, since?, until?, company?, sic?, limit?, include_snippets?)— exhibits (EX-10 / EX-4 / EX-2, or any) whose text contains a phrase. One row per exhibit document: company, CIK, ticker, root form, filing date, exhibit type and the filer’s exhibit description, a snippet around the match, the document URL and accession; plus the same rows grouped by filing.sec_contract_text(url | adsh + filename + cik, max_chars?, offset?, find?)— the exhibit as paged plaintext.findjumps to the first occurrence of a phrase (“Change of Control” definition, “Termination Fee”).sec_contracts_by_company(company, exhibit_type?, form?, since?, until?, limit?)— one filer’s material contracts newest first, by ticker, name or CIK.
Auth
Keyless. SEC asks for a descriptive User-Agent on every request; the pack sends one.
Data sources
- https://efts.sec.gov/LATEST/search-index — EDGAR full-text search. Indexes every document in a filing from 2001 onward; each hit carries
file_type(EX-10.1,EX-4.2,10-K…),file_description,adsh,ciks,sics,display_names. - https://www.sec.gov/Archives/edgar/data/{cik}/{accession}/{file} — the exhibit documents themselves.
Things the next person would otherwise rediscover (all measured 2026-08-28):
- efts has no exhibit-type parameter.
forms=EX-10returns zero —formsfilters the root form. Exhibit filtering is client-side onfile_type, over-fetching 100 documents a page (up to 500 per call).EX-10(?!\d)is the prefix test, becauseEX-103exists as a filer typo. - No highlights. The search response carries no snippet. Snippets are produced by reading the first 1.5 MB of each matched exhibit and windowing the first occurrence of the phrase, five documents at a time.
- A one-sided
dateRange=customis ignored.startdtwithoutenddtyields an empty filter and 2008 hits. Both ends are always sent. - Unquoted words are ANDed (one
match_phraseclause each);ORbetween terms works; a double-quoted phrase is exact;q=*matches nothing. The by-company tool therefore queries a broad OR of contract words (agreement OR indenture OR amendment …) with aciksfilter. - Archive URLs need the registrant’s CIK, not the accession prefix. Filing-agent accessions (
0001193125-…= Donnelley) return 503 on the agent-CIK path. Search rows carry the resolvedcikanddocument_urlfor this reason. - efts’s response cache leaks across
sics/ciks/entityName. The endpoint sits behind an API Gateway cache keyed onq, the date window,formsandfrom/page— but not onsics,ciksorentityName. Measured 2026-08-28: asics=7372request returned the unfiltered 10,000-hit result cached seconds earlier for the sameqand dates, and the reverse leak (an unfiltered request served the software-only set) too. The body’s echoedqueryshows which filters actually ran. The pack appends a negated nonsense token toq(-zqfs7372) whenever one of those filters is set — efts compiles it to amust_notthat matches nothing (totals verified identical), and the cache key becomes unique per filter set — and re-checkssic/cikon every row, reporting innoteif anything was dropped. Any other pack passingciks/sicsto efts is exposed to the same leak. - Coverage floor is 2001-01-01; an earlier
sinceis clamped and noted in the response.
Tools
- sec_contracts_search — Find SEC material-contract exhibits by CLAUSE LANGUAGE — credit agreements, merger agreements, indentures, employment and severance agreements, change-of-control agreements, license and supply agreeme
- sec_contract_text — Read the text of ONE SEC exhibit document — a credit agreement, merger agreement, indenture, employment agreement or any other EX-10 / EX-4 / EX-2 attachment — as clean plaintext, paged. Pass the `doc
- sec_contracts_by_company — List ONE company’s material contracts as filed with the SEC — every Exhibit 10 (credit agreements, employment and severance agreements, leases, license and supply agreements, equity plans), Exhibit 4
Tools
-
sec_contract_text— Read the text of ONE SEC exhibit document — a credit agreement, merger agreement, indenture, employment agreement or any other EX-10 / EX-4 / EX-2 attachment — as clean plaintext, paged. Pass the `doc -
sec_contracts_by_company— List ONE company's material contracts as filed with the SEC — every Exhibit 10 (credit agreements, employment and severance agreements, leases, license and supply agreements, equity plans), Exhibit 4 -
sec_contracts_search— Find SEC material-contract exhibits by CLAUSE LANGUAGE — credit agreements, merger agreements, indentures, employment and severance agreements, change-of-control agreements, license and supply agreeme