Disclosure: I build Equibles, the SEC filings MCP server used below. The outputs are real calls from 18 October 2026, trimmed.
Buried in JPMorgan's 2025 10-K, filed 13 February 2026, is this risk factor bullet:
"replacement or disintermediation of direct customer relationships if AI agents autonomously manage or intermediate financial decisions and product selection or other services for customers."
It's line 1,438 of 16,923. I want an AI agent to be able to find a sentence like that, quote it exactly, and give me the line number, without reading 16,923 lines into its context and without paraphrasing it into something JPMorgan never wrote.
Here's the three-call pattern I use for SEC filings with AI agents.
Call 1: search across filings
SearchDocuments searches filing text, optionally for one ticker and form type:
{"query": "AI agents acting on behalf of customers",
"ticker": "JPM", "documentTypes": ["TenK", "TenQ"], "maxResults": 4}
It returns ranked excerpts grouped by document, each with the document id, filing date and approximate line:
## Jpmorgan Chase & Co (JPM)
Document: 10-K filed on 2026-02-13 (ID: 5bdbf4fd-c262-45e0-a91f-6576a3957ce1)
Excerpt 33 (line ~1,422):
...JPMorganChase's operations, results, and competitive standing could be
adversely affected by the development of advanced technologies such as AI.
The search is hybrid (keyword plus semantic), so the agent doesn't need JPMorgan's exact wording to land in the right section. A phrase mode exists for when you do want an exact phrase across every company.
Call 2: search inside the one filing
Once the agent has the document id, SearchDocument narrows to that filing. This is the step that stops it from wandering into a different year's 10-K.
Call 3: read the exact lines
ReadDocumentLines returns a line range, numbered:
JPM 10-K filed 2026-02-13, lines 1,428 to 1,442 of 16,923:
1430 | •increased exposure to cyber attacks, system manipulation, or data loss if AI
systems, particularly agentic systems, are not designed and implemented with
appropriate safeguards...
1436 | •competitive disadvantage if competitors are able to deploy AI more quickly or
effectively...
1438 | •replacement or disintermediation of direct customer relationships if AI agents
autonomously manage or intermediate financial decisions...
Now the agent can quote the sentence verbatim and cite "10-K filed 2026-02-13, line 1,438". The excerpts also carry a link of the form equibles.com/stocks/jpm/documents/<id>#fromLine=…&toLine=… that opens the filing at that range, so the reader can check it.
Checking the filing against what management says
The fun part is connecting documents. The 10-K lists AI agents as a risk in February. On the Q3 2026 earnings call in October, Jamie Dimon said "we're not going to allow just any agent to come, you know, outside agent to come in inside the company because it's just too risky for clients". Same tool (SearchDocument) on the transcript's document id, same kind of line link. An agent can line up "what they filed" against "what they said" and cite both.
The REST version
The same three steps exist over HTTP for code:
# search a company's filings
curl -G "https://api.equibles.com/v1/stocks/JPM/filings/search" \
--data-urlencode "query=AI agents" -H "Authorization: Bearer eq_YOUR_KEY"
# read exact lines
curl -G "https://api.equibles.com/v1/filings/5bdbf4fd-c262-45e0-a91f-6576a3957ce1/lines" \
--data-urlencode "startLine=1438" --data-urlencode "endLine=1438" \
-H "Authorization: Bearer eq_YOUR_KEY"
{"ticker": "JPM", "documentTypeName": "10-K", "filedDate": "2026-02-13",
"startLine": 1438, "endLine": 1438, "totalLines": 16923,
"lines": [{"number": 1438, "text": "•replacement or disintermediation of direct customer relationships if AI agents autonomously manage or intermediate financial decisions and product selection or other services for customers."}]}
Things that go wrong without this
- Paraphrase drift. Ask a model what a 10-K says without the text and it'll produce something plausible. With line numbers, a wrong quote is easy to catch.
- Wrong year. 10-Ks look alike. The filing date in every header is what keeps "2025 10-K" from becoming "2024 10-K".
- Context blowout. A big bank 10-K is hundreds of pages. Search, then read 15 lines, costs a fraction of loading the document.
Try it
- MCP endpoint:
https://mcp.equibles.com/mcp. In Claude, add it as a custom connector and sign in, no key needed. Setup for ChatGPT, Cursor and others is in the docs. - Prompt: "Using Equibles, find what JPMorgan's latest 10-K says about AI agents. Quote the exact sentences with the filing date and line numbers, and link them."
- Free plan: 100 requests a day, shared between MCP and REST. Filings go back to 2000 and include 10-K, 10-Q, 8-K, 20-F, proxies and more.
More detail on the SEC filings MCP server page. That's the pattern for SEC filings for AI agents: search across, search within, read the lines, cite the line. If you try it on a filing where the line numbers look off, send it my way.
Disclosure: I build Equibles. This post was written by an AI agent working from the tool outputs shown, which were run on 18 October 2026; quotes and figures come from those outputs and the linked sources. Nothing here is investment advice.
Top comments (0)