sec_contract_text

Pack: sec-contracts · Endpoint: https://gateway.pipeworx.io/sec-contracts/mcp

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 document_url from sec_contracts_search or sec_contracts_by_company (or adsh + filename + the registrant’s cik). Returns up to max_chars (default 50,000) from offset with truncated + next_offset for the next window; a very large exhibit (a syndicated credit agreement can run 2-4 MB of HTML) is read up to 4 MB and flagged raw_truncated. Use to quote the actual clause — the definition of “Change of Control”, the severance multiple, the termination-fee amount, the interest-rate grid, the covenants — after sec_contracts_search located the agreement.

Parameters

NameTypeRequiredDescription
urlstringnoThe exhibit’s document URL on www.sec.gov/Archives, exactly as returned in document_url by sec_contracts_search. Preferred over adsh + filename.
adshstringnoAccession number, dashed or not (e.g. “0000712537-25-000088”). Use with filename and cik.
filenamestringnoThe exhibit file name inside the filing, e.g. “fcf-ex103_20250331xchangeo.htm” (the part after the colon in a search hit’s _id, also returned as filename).
cikstringnoThe REGISTRANT’s CIK (returned as cik on every search row). Needed with adsh + filename because the Archives path is keyed by the registrant, and the filing-agent CIK that prefixes many accession numbers does not resolve. Omit only when the accession prefix is the registrant itself.
max_charsnumbernoMax characters in this page (1000-100000, default 50000).
offsetnumbernoCharacter offset to start from (default 0). Pass the prior result’s next_offset to page forward.
findstringnoOptional phrase to jump to: the page starts ~300 characters before its first occurrence instead of at offset. Use to land directly on the “Change of Control” definition or the “Termination Fee” section.

Example call

Arguments

{
  "url": "https://www.sec.gov/Archives/edgar/data/712537/000071253725000088/fcf-ex103_20250331xchangeo.htm",
  "max_chars": 1500
}

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_contract_text","arguments":{"url":"https://www.sec.gov/Archives/edgar/data/712537/000071253725000088/fcf-ex103_20250331xchangeo.htm","max_chars":1500}}}'

TypeScript (@pipeworx/sdk)

import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();

const result = await pipeworx.call('sec_contract_text', {
  "url": "https://www.sec.gov/Archives/edgar/data/712537/000071253725000088/fcf-ex103_20250331xchangeo.htm",
  "max_chars": 1500
});

More examples

{
  "adsh": "0000712537-25-000088",
  "filename": "fcf-ex103_20250331xchangeo.htm",
  "cik": "712537",
  "max_chars": 1000
}

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.

Regenerated from source · build August 29, 2026