sec_contracts_search
Pack: sec-contracts · Endpoint: https://gateway.pipeworx.io/sec-contracts/mcp
Find SEC material-contract exhibits by CLAUSE LANGUAGE — credit agreements, merger agreements, indentures, employment and severance agreements, change-of-control agreements, license and supply agreements, warrants — searching the full text of every Exhibit 10 / Exhibit 4 / Exhibit 2 attached to 8-K, 10-K, 10-Q, S-1 and S-4 filings in SEC EDGAR full-text search (2001 to today). The inverted question: “credit agreements filed since 2025 with a change of control clause”, “employment agreements with a 2x severance multiple”, “indentures with a make-whole redemption”, “merger agreements with a reverse termination fee”. Returns one row per exhibit document: company, CIK, ticker, root form, filing date, exhibit type (EX-10.1, EX-4.2…), the filer’s exhibit description (“EX-10.1 CREDIT AGREEMENT”), a text snippet around the matched phrase, the exhibit document URL, accession number and the filing index page — plus the same hits grouped by filing with each filing’s exhibit list. Narrow by exhibit family (EX-10 material contracts, EX-4 debt instruments/indentures/warrants, EX-2 merger and acquisition agreements), root form, filing-date window, one company (name, ticker or CIK) or SIC industry code (7372 software, 2834 pharma, 6022 banks). Feed document_url (or adsh + filename + cik) to sec_contract_text to read the agreement.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
query | string | yes | The clause or phrase to find in exhibit text, e.g. “change of control”, “make-whole”, “reverse termination fee”, “most favored nation”. Multi-word input is matched as an exact phrase by default (see match). Double quotes inside the value are passed through, so ”\“change of control\” severance” searches the phrase AND the word. |
match | string | no | phrase (default): the words must appear together in order. all: every word must appear somewhere in the document. any: at least one word. Use all for concept searches like “severance multiple change control”. |
exhibit_type | string | no | Exhibit family to keep. EX-10 = material contracts (credit, employment, license, supply, leases). EX-4 = instruments defining security-holder rights (indentures, notes, warrants, registration rights). EX-2 = plans of acquisition, reorganization, merger. EX-99 = additional exhibits (press releases, investor decks). any (default) = EX-10 + EX-4 + EX-2, the material-contract set. all_exhibits = every EX-* document. “10”, “ex10” and “EX-10.1” are all read as EX-10. |
form | string | no | Root form the exhibit was attached to, e.g. “8-K”, “10-K”, “10-Q”, “S-1”, “S-4”, “DEF 14A”. Comma-separate several: “8-K,10-K”. Omit for all forms. |
since | string | no | Earliest filing date, YYYY-MM-DD. Full-text coverage starts 2001-01-01; earlier values are clamped. Default: 2 years before today. |
until | string | no | Latest filing date, YYYY-MM-DD. Default: today. |
company | string | no | Restrict to one filer: ticker (“ADBE”), company name (“Adobe”) or CIK (“796343”). Names are resolved against the SEC ticker list first; unlisted names fall back to EDGAR’s entity-name filter. |
sic | string | no | Restrict to an SIC industry code, e.g. “7372” (prepackaged software), “2834” (pharmaceutical preparations), “6022” (state commercial banks), “1311” (crude petroleum and natural gas). Comma-separate several. |
limit | number | no | Max exhibit documents to return (1-50, default 10). Each returned exhibit costs one bounded document read for its snippet when include_snippets is on. |
include_snippets | boolean | no | Fetch each matched exhibit and return a ~440-character window around the first occurrence of the phrase. Default true. Set false for a faster list-only answer. |
Example call
Arguments
{
"query": "change of control",
"exhibit_type": "EX-10",
"since": "2025-01-01",
"limit": 12
}
curl
curl -X POST https://gateway.pipeworx.io/sec-contracts/mcp \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"sec_contracts_search","arguments":{"query":"change of control","exhibit_type":"EX-10","since":"2025-01-01","limit":12}}}'
TypeScript (@pipeworx/sdk)
import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();
const result = await pipeworx.call('sec_contracts_search', {
"query": "change of control",
"exhibit_type": "EX-10",
"since": "2025-01-01",
"limit": 12
});
More examples
{
"query": "\"credit agreement\" \"change of control\"",
"exhibit_type": "EX-10",
"sic": "7372",
"since": "2025-01-01",
"limit": 8
}
Connect
Add this to your MCP client config, or use one-click install buttons:
{
"mcpServers": {
"sec-contracts": {
"url": "https://gateway.pipeworx.io/sec-contracts/mcp"
}
}
}
See Getting Started for client-specific install steps.