@cyanheads/secedgar-mcp-server 0.15.6 → 0.15.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +35 -23
- package/CLAUDE.md +35 -23
- package/README.md +112 -159
- package/changelog/0.15.x/0.15.7.md +36 -0
- package/changelog/0.15.x/0.15.8.md +29 -0
- package/changelog/template.md +7 -7
- package/dist/config/server-config.d.ts +1 -0
- package/dist/config/server-config.d.ts.map +1 -1
- package/dist/config/server-config.js +8 -1
- package/dist/config/server-config.js.map +1 -1
- package/dist/index.js +5 -3
- package/dist/index.js.map +1 -1
- package/dist/mcp-server/resources/definitions/filing-types.resource.js +2 -2
- package/dist/mcp-server/resources/definitions/filing-types.resource.js.map +1 -1
- package/dist/mcp-server/tools/definitions/company-search.tool.d.ts +8 -1
- package/dist/mcp-server/tools/definitions/company-search.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/company-search.tool.js +39 -34
- package/dist/mcp-server/tools/definitions/company-search.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/compare-companies.tool.d.ts +7 -0
- package/dist/mcp-server/tools/definitions/compare-companies.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/compare-companies.tool.js +8 -0
- package/dist/mcp-server/tools/definitions/compare-companies.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/dataframe-query.tool.d.ts +31 -2
- package/dist/mcp-server/tools/definitions/dataframe-query.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/dataframe-query.tool.js +53 -5
- package/dist/mcp-server/tools/definitions/dataframe-query.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/fetch-frames.tool.d.ts +7 -0
- package/dist/mcp-server/tools/definitions/fetch-frames.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/fetch-frames.tool.js +8 -0
- package/dist/mcp-server/tools/definitions/fetch-frames.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/find-holders.tool.d.ts +7 -0
- package/dist/mcp-server/tools/definitions/find-holders.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/find-holders.tool.js +9 -1
- package/dist/mcp-server/tools/definitions/find-holders.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/get-beneficial-owners.tool.d.ts +7 -0
- package/dist/mcp-server/tools/definitions/get-beneficial-owners.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/get-beneficial-owners.tool.js +9 -1
- package/dist/mcp-server/tools/definitions/get-beneficial-owners.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/get-filing.tool.d.ts +7 -0
- package/dist/mcp-server/tools/definitions/get-filing.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/get-filing.tool.js +24 -11
- package/dist/mcp-server/tools/definitions/get-filing.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/get-financials.tool.d.ts +7 -0
- package/dist/mcp-server/tools/definitions/get-financials.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/get-financials.tool.js +10 -0
- package/dist/mcp-server/tools/definitions/get-financials.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/get-fund-holdings.tool.d.ts +8 -1
- package/dist/mcp-server/tools/definitions/get-fund-holdings.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/get-fund-holdings.tool.js +9 -1
- package/dist/mcp-server/tools/definitions/get-fund-holdings.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/get-insider-transactions.tool.d.ts +14 -4
- package/dist/mcp-server/tools/definitions/get-insider-transactions.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/get-insider-transactions.tool.js +167 -34
- package/dist/mcp-server/tools/definitions/get-insider-transactions.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/get-institutional-holdings.tool.d.ts +11 -4
- package/dist/mcp-server/tools/definitions/get-institutional-holdings.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/get-institutional-holdings.tool.js +113 -55
- package/dist/mcp-server/tools/definitions/get-institutional-holdings.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/get-material-events.tool.d.ts +7 -0
- package/dist/mcp-server/tools/definitions/get-material-events.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/get-material-events.tool.js +47 -33
- package/dist/mcp-server/tools/definitions/get-material-events.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/get-snapshot.tool.d.ts +7 -0
- package/dist/mcp-server/tools/definitions/get-snapshot.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/get-snapshot.tool.js +10 -0
- package/dist/mcp-server/tools/definitions/get-snapshot.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/index.d.ts +141 -15
- package/dist/mcp-server/tools/definitions/index.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/search-filings.tool.d.ts +14 -4
- package/dist/mcp-server/tools/definitions/search-filings.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/search-filings.tool.js +49 -38
- package/dist/mcp-server/tools/definitions/search-filings.tool.js.map +1 -1
- package/dist/services/canvas-bridge/canvas-bridge.d.ts +4 -1
- package/dist/services/canvas-bridge/canvas-bridge.d.ts.map +1 -1
- package/dist/services/canvas-bridge/canvas-bridge.js +4 -1
- package/dist/services/canvas-bridge/canvas-bridge.js.map +1 -1
- package/dist/services/edgar/edgar-api-service.d.ts +82 -51
- package/dist/services/edgar/edgar-api-service.d.ts.map +1 -1
- package/dist/services/edgar/edgar-api-service.js +332 -167
- package/dist/services/edgar/edgar-api-service.js.map +1 -1
- package/dist/services/edgar/filing-headers.d.ts +37 -9
- package/dist/services/edgar/filing-headers.d.ts.map +1 -1
- package/dist/services/edgar/filing-headers.js +40 -11
- package/dist/services/edgar/filing-headers.js.map +1 -1
- package/dist/services/edgar/filing-to-text.d.ts.map +1 -1
- package/dist/services/edgar/filing-to-text.js +24 -2
- package/dist/services/edgar/filing-to-text.js.map +1 -1
- package/dist/services/edgar/mirror/tickers-sync.d.ts +4 -2
- package/dist/services/edgar/mirror/tickers-sync.d.ts.map +1 -1
- package/dist/services/edgar/mirror/tickers-sync.js +4 -2
- package/dist/services/edgar/mirror/tickers-sync.js.map +1 -1
- package/dist/services/edgar/mirror/types.d.ts +6 -2
- package/dist/services/edgar/mirror/types.d.ts.map +1 -1
- package/dist/services/edgar/ownership-parser.d.ts +16 -0
- package/dist/services/edgar/ownership-parser.d.ts.map +1 -1
- package/dist/services/edgar/ownership-parser.js +19 -0
- package/dist/services/edgar/ownership-parser.js.map +1 -1
- package/dist/services/edgar/submissions-archive.d.ts +78 -0
- package/dist/services/edgar/submissions-archive.d.ts.map +1 -0
- package/dist/services/edgar/submissions-archive.js +87 -0
- package/dist/services/edgar/submissions-archive.js.map +1 -0
- package/package.json +7 -7
- package/server.json +17 -3
|
@@ -8,6 +8,7 @@ import { JsonRpcErrorCode, McpError } from '@cyanheads/mcp-ts-core/errors';
|
|
|
8
8
|
import { dataframeGuidance, getCanvasBridge, toDatasetField, } from '../../../services/canvas-bridge/canvas-bridge.js';
|
|
9
9
|
import { getEdgarApiService } from '../../../services/edgar/edgar-api-service.js';
|
|
10
10
|
import { parseForm4Xml, } from '../../../services/edgar/ownership-parser.js';
|
|
11
|
+
import { SubmissionsArchiveWalk } from '../../../services/edgar/submissions-archive.js';
|
|
11
12
|
/** Transaction type filter → SEC transaction codes. */
|
|
12
13
|
const PURCHASE_CODES = new Set(['P']);
|
|
13
14
|
const SALE_CODES = new Set(['S']);
|
|
@@ -19,6 +20,36 @@ const SALE_CODES = new Set(['S']);
|
|
|
19
20
|
* is met — no extra latency.
|
|
20
21
|
*/
|
|
21
22
|
const INSIDER_CANVAS_FILING_SCAN = 40;
|
|
23
|
+
/** Most Form 4 filings one call parses — one rate-limited document request each. */
|
|
24
|
+
const INSIDER_FILING_SCAN_CAP = 100;
|
|
25
|
+
/** Structured Form 4 XML became mandatory for filings on and after this date. */
|
|
26
|
+
const STRUCTURED_FORM4_START = '2003-06-30';
|
|
27
|
+
/**
|
|
28
|
+
* The Form 4 / 4-A rows of a submissions block filed inside the window, in block order
|
|
29
|
+
* (newest first). Only rows whose primary document is ownership XML — EDGAR's
|
|
30
|
+
* structured Form 4 began in mid-2003, and an earlier HTML or text filing has nothing
|
|
31
|
+
* this tool can parse, so fetching it would spend a request on an empty result.
|
|
32
|
+
*/
|
|
33
|
+
function windowForm4Rows(block, inWindow) {
|
|
34
|
+
const rows = [];
|
|
35
|
+
for (let i = 0; i < block.form.length; i++) {
|
|
36
|
+
const form = block.form[i];
|
|
37
|
+
const filingDate = block.filingDate[i] ?? '';
|
|
38
|
+
const primaryDocument = block.primaryDocument[i] ?? '';
|
|
39
|
+
if ((form !== '4' && form !== '4/A') || !inWindow(filingDate))
|
|
40
|
+
continue;
|
|
41
|
+
if (!/\.xml$/i.test(primaryDocument))
|
|
42
|
+
continue;
|
|
43
|
+
rows.push({ accessionNumber: block.accessionNumber[i] ?? '', filingDate, primaryDocument });
|
|
44
|
+
}
|
|
45
|
+
return rows;
|
|
46
|
+
}
|
|
47
|
+
/** "between A and B" / "on or after A" / "on or before B" for notices. */
|
|
48
|
+
function describeWindow(filedAfter, filedBefore) {
|
|
49
|
+
if (filedAfter && filedBefore)
|
|
50
|
+
return `between ${filedAfter} and ${filedBefore}`;
|
|
51
|
+
return filedAfter ? `on or after ${filedAfter}` : `on or before ${filedBefore}`;
|
|
52
|
+
}
|
|
22
53
|
function matchesFilter(tx, filter) {
|
|
23
54
|
if (filter === 'all')
|
|
24
55
|
return true;
|
|
@@ -44,27 +75,35 @@ function ownerRelationship(owner) {
|
|
|
44
75
|
}
|
|
45
76
|
export const getInsiderTransactionsTool = tool('secedgar_get_insider_transactions', {
|
|
46
77
|
title: 'Get Insider Transactions',
|
|
47
|
-
description: 'Fetch Form 4 insider transactions (purchases, sales, grants, exercises) for a company by parsing SEC EDGAR ownership XML. Returns the reporting person, their relationship to the issuer, transaction date, type, shares traded (absolute magnitude), direction (acquire/dispose), price per share, and shares owned after the transaction. Covers nonDerivative transactions (open-market buys/sells, gifts) and derivative transactions (option exercises, RSU vests). When a canvas is available, the full set of transactions parsed from the scanned
|
|
78
|
+
description: 'Fetch Form 4 insider transactions (purchases, sales, grants, exercises) for a company by parsing SEC EDGAR ownership XML. Returns the reporting person, their relationship to the issuer, transaction date, type, shares traded (absolute magnitude), direction (acquire/dispose), price per share, and shares owned after the transaction. Covers nonDerivative transactions (open-market buys/sells, gifts) and derivative transactions (option exercises, RSU vests). Without a date window it reads the newest Form 4 filings; filed_after / filed_before read any period since mid-2003, reaching past the recent submissions window into the archive (e.g. insider trades in the quarter before an earnings miss). When a canvas is available, the full set of transactions parsed from the scanned filings is materialized as df_<id> (the inline list is a preview capped at limit) — inspect it with secedgar_dataframe_describe, then query it with secedgar_dataframe_query to aggregate net buy/sell by insider: SUM(CASE WHEN direction=\'dispose\' THEN -shares_traded ELSE shares_traded END). Use secedgar_search_filings with forms=["4"] to search Form 4 filings across all companies.',
|
|
48
79
|
annotations: { readOnlyHint: true, idempotentHint: true, openWorldHint: true },
|
|
49
80
|
errors: [
|
|
50
81
|
{
|
|
51
82
|
reason: 'company_not_found',
|
|
52
83
|
code: JsonRpcErrorCode.NotFound,
|
|
53
|
-
when: 'The
|
|
84
|
+
when: 'The company input does not resolve to a known company',
|
|
54
85
|
recovery: 'Use secedgar_company_search to find the correct ticker or CIK.',
|
|
55
86
|
},
|
|
56
87
|
{
|
|
57
88
|
reason: 'no_filings_found',
|
|
58
89
|
code: JsonRpcErrorCode.NotFound,
|
|
59
|
-
when: '
|
|
60
|
-
recovery: '
|
|
90
|
+
when: 'A call without a date window finds no Form 4 filings in the recent submissions window',
|
|
91
|
+
recovery: 'Pass filed_after / filed_before to read an older period, or use secedgar_search_filings with forms=["4"] to find the filings.',
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
reason: 'rate_limited',
|
|
95
|
+
code: JsonRpcErrorCode.RateLimited,
|
|
96
|
+
when: "SEC is rate-limiting this server's IP — SEC answered 429, or the call was refused without being sent while the cool-down after one runs",
|
|
97
|
+
recovery: 'Wait the retryAfter seconds the error carries, then retry — SEC lifts the block only once requests stop for ten minutes.',
|
|
98
|
+
retryable: true,
|
|
99
|
+
thrownBy: 'service',
|
|
61
100
|
},
|
|
62
101
|
],
|
|
63
102
|
input: z.object({
|
|
64
|
-
|
|
103
|
+
company: z
|
|
65
104
|
.string()
|
|
66
105
|
.min(1)
|
|
67
|
-
.describe('
|
|
106
|
+
.describe('The issuer whose Form 4 filings to read — the company, not the reporting person. A ticker symbol (e.g., "AAPL"), a CIK with or without zero-padding (e.g., "320193" or "0000320193"), or a company name (current or former). A name matching several companies resolves to the top-ranked one — exact name first, then prefix, then substring — so pass a ticker or CIK when the issuer must be exact.'),
|
|
68
107
|
transaction_type: z
|
|
69
108
|
.enum(['purchase', 'sale', 'all'])
|
|
70
109
|
.default('all')
|
|
@@ -76,7 +115,38 @@ export const getInsiderTransactionsTool = tool('secedgar_get_insider_transaction
|
|
|
76
115
|
.max(100)
|
|
77
116
|
.default(20)
|
|
78
117
|
.describe('Maximum number of transactions to return across all Form 4 filings fetched. Filings are scanned newest-first. Default 20.'),
|
|
118
|
+
filed_after: z
|
|
119
|
+
.union([
|
|
120
|
+
z.literal(''),
|
|
121
|
+
z
|
|
122
|
+
.string()
|
|
123
|
+
.regex(/^\d{4}-\d{2}-\d{2}$/, 'Expected YYYY-MM-DD')
|
|
124
|
+
.describe('YYYY-MM-DD'),
|
|
125
|
+
])
|
|
126
|
+
.optional()
|
|
127
|
+
.describe('Only read Form 4 filings filed on or after this date (YYYY-MM-DD). A date window reaches filings older than the recent submissions window by paging into the archive, and with a canvas every Form 4 filed inside it is parsed, up to 100. Structured Form 4 XML begins in mid-2003, so an earlier window finds nothing.'),
|
|
128
|
+
filed_before: z
|
|
129
|
+
.union([
|
|
130
|
+
z.literal(''),
|
|
131
|
+
z
|
|
132
|
+
.string()
|
|
133
|
+
.regex(/^\d{4}-\d{2}-\d{2}$/, 'Expected YYYY-MM-DD')
|
|
134
|
+
.describe('YYYY-MM-DD'),
|
|
135
|
+
])
|
|
136
|
+
.optional()
|
|
137
|
+
.describe('Only read Form 4 filings filed on or before this date (YYYY-MM-DD). Use alone or with filed_after. Without either bound the tool reads the newest Form 4 filings.'),
|
|
79
138
|
}),
|
|
139
|
+
// Other tools' spellings of the company and filing-date parameters, and this tool's
|
|
140
|
+
// former company name (#115).
|
|
141
|
+
inputAliases: {
|
|
142
|
+
ticker: 'company',
|
|
143
|
+
cik: 'company',
|
|
144
|
+
ticker_or_cik: 'company',
|
|
145
|
+
start_date: 'filed_after',
|
|
146
|
+
date_from: 'filed_after',
|
|
147
|
+
end_date: 'filed_before',
|
|
148
|
+
date_to: 'filed_before',
|
|
149
|
+
},
|
|
80
150
|
output: z.object({
|
|
81
151
|
issuer_name: z.string().describe('Issuer entity name (SEC-conformed).'),
|
|
82
152
|
issuer_cik: z.string().describe('Issuer CIK, zero-padded to 10 digits.'),
|
|
@@ -138,6 +208,10 @@ export const getInsiderTransactionsTool = tool('secedgar_get_insider_transaction
|
|
|
138
208
|
.describe('One insider transaction parsed from a Form 4 filing.'))
|
|
139
209
|
.describe('Insider transactions, newest filing first. Preview capped at `limit` — the full scanned set lives on the canvas dataframe (see `dataset`).'),
|
|
140
210
|
filings_scanned: z.number().describe('Number of Form 4 filings scanned to produce the result.'),
|
|
211
|
+
history_scanned_through: z
|
|
212
|
+
.string()
|
|
213
|
+
.optional()
|
|
214
|
+
.describe('Filing date of the oldest Form 4 parsed (YYYY-MM-DD). Present only when a date window was given; absent when the window held no Form 4 filing.'),
|
|
141
215
|
dataset: z
|
|
142
216
|
.object({
|
|
143
217
|
name: z
|
|
@@ -147,7 +221,7 @@ export const getInsiderTransactionsTool = tool('secedgar_get_insider_transaction
|
|
|
147
221
|
expires_at: z.string().describe('ISO 8601 expiry timestamp.'),
|
|
148
222
|
truncated: z
|
|
149
223
|
.boolean()
|
|
150
|
-
.describe('True when
|
|
224
|
+
.describe('True when Form 4 filings exist beyond those parsed — past the newest-filings sample, or, with a date window, inside the window beyond the 100-filing cap or past the 10 archive pages read. Narrow the window to reach the rest.'),
|
|
151
225
|
})
|
|
152
226
|
.optional()
|
|
153
227
|
.describe('Canvas dataframe holding the full parsed transaction set from the scanned filings (the inline transactions[] is a preview capped at limit). Each row carries the issuer (issuer_cik, issuer_ticker) plus the transaction fields, so it aggregates net buy/sell by insider and joins across issuers. Query with secedgar_dataframe_query. Absent when canvas is unavailable or no transactions were parsed.'),
|
|
@@ -167,25 +241,32 @@ export const getInsiderTransactionsTool = tool('secedgar_get_insider_transaction
|
|
|
167
241
|
async handler(input, ctx) {
|
|
168
242
|
const api = getEdgarApiService();
|
|
169
243
|
// Resolve company to CIK
|
|
170
|
-
const resolved = await api.resolveCik(input.
|
|
244
|
+
const resolved = await api.resolveCik(input.company);
|
|
171
245
|
const match = Array.isArray(resolved) ? resolved[0] : resolved;
|
|
172
246
|
if (!match || (Array.isArray(resolved) && resolved.length === 0)) {
|
|
173
|
-
throw ctx.fail('company_not_found', `Company '${input.
|
|
247
|
+
throw ctx.fail('company_not_found', `Company '${input.company}' not found.`, {
|
|
174
248
|
...ctx.recoveryFor('company_not_found'),
|
|
175
249
|
});
|
|
176
250
|
}
|
|
251
|
+
const filedAfter = input.filed_after || undefined;
|
|
252
|
+
const filedBefore = input.filed_before || undefined;
|
|
253
|
+
const dateWindow = filedAfter || filedBefore ? { filedAfter, filedBefore } : undefined;
|
|
177
254
|
// With a canvas available, scan deeper than the inline `limit` so the dataframe
|
|
178
255
|
// holds a useful window for aggregation; without one, stop as soon as the inline
|
|
179
|
-
// limit is met (preserves the fast, low-fetch path).
|
|
256
|
+
// limit is met (preserves the fast, low-fetch path). A date window already bounds
|
|
257
|
+
// the set, so with a canvas every filing inside it is parsed, up to the cap (#127).
|
|
180
258
|
const bridge = getCanvasBridge();
|
|
181
|
-
const scanFloor = bridge
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
//
|
|
259
|
+
const scanFloor = bridge
|
|
260
|
+
? dateWindow
|
|
261
|
+
? INSIDER_FILING_SCAN_CAP
|
|
262
|
+
: INSIDER_CANVAS_FILING_SCAN
|
|
263
|
+
: 0;
|
|
264
|
+
// Over-fetch Form 4 metadata by 5x to account for multi-transaction filings and
|
|
265
|
+
// filter losses; with a canvas, also fetch at least the scan floor so a small inline
|
|
266
|
+
// `limit` doesn't under-scan the dataframe window (#63). Capped at 100; the +1
|
|
267
|
+
// sentinel row (metadata only) detects Form 4 filings beyond the scan window so
|
|
187
268
|
// `dataset.truncated` is truthful.
|
|
188
|
-
const scanCap = Math.min(bridge ? Math.max(input.limit * 5, scanFloor) : input.limit * 5,
|
|
269
|
+
const scanCap = Math.min(bridge ? Math.max(input.limit * 5, scanFloor) : input.limit * 5, INSIDER_FILING_SCAN_CAP);
|
|
189
270
|
// Bare-CIK fallback: a numeric CIK absent from the ticker cache resolves to { cik }
|
|
190
271
|
// with no name/ticker. The submissions feed 404s for such a CIK — it's a
|
|
191
272
|
// filer/transmitter (e.g. an accession-number prefix), not a registrant. Convert
|
|
@@ -193,26 +274,58 @@ export const getInsiderTransactionsTool = tool('secedgar_get_insider_transaction
|
|
|
193
274
|
// A cache-hit or ticker-resolved match that 404s signals an EDGAR-side problem,
|
|
194
275
|
// not a bad query — propagate unchanged, same reasoning as #55 and #76.
|
|
195
276
|
const isBareCikFallback = !match.name && !match.ticker;
|
|
277
|
+
const readSubmissionsFeed = async (read) => {
|
|
278
|
+
try {
|
|
279
|
+
return await read;
|
|
280
|
+
}
|
|
281
|
+
catch (err) {
|
|
282
|
+
if (isBareCikFallback &&
|
|
283
|
+
err instanceof McpError &&
|
|
284
|
+
err.code === JsonRpcErrorCode.NotFound) {
|
|
285
|
+
ctx.log.debug('CIK has no submissions feed', { cik: match.cik });
|
|
286
|
+
throw ctx.fail('company_not_found', `No issuer found for CIK ${match.cik}. If this looks like an accession-number prefix, it's the filing agent, not the issuer — use secedgar_company_search to find the company.`, { ...ctx.recoveryFor('company_not_found') });
|
|
287
|
+
}
|
|
288
|
+
throw err;
|
|
289
|
+
}
|
|
290
|
+
};
|
|
196
291
|
let filingBatch;
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
292
|
+
let walk;
|
|
293
|
+
if (dateWindow) {
|
|
294
|
+
// In-window Form 4 rows, newest first: the recent window, then the archive pages
|
|
295
|
+
// overlapping the window, read until the scan budget plus one sentinel row is in
|
|
296
|
+
// hand or the shared page cap ends the walk.
|
|
297
|
+
const submissions = await readSubmissionsFeed(api.getSubmissions(match.cik));
|
|
298
|
+
const inWindow = (date) => (!filedAfter || date >= filedAfter) && (!filedBefore || date <= filedBefore);
|
|
299
|
+
filingBatch = windowForm4Rows(submissions.filings.recent, inWindow);
|
|
300
|
+
walk = new SubmissionsArchiveWalk(api, submissions, {
|
|
301
|
+
filedAfter,
|
|
302
|
+
filedBefore,
|
|
303
|
+
order: 'newest-first',
|
|
304
|
+
});
|
|
305
|
+
if (filingBatch.length <= scanCap) {
|
|
306
|
+
for await (const { block } of walk) {
|
|
307
|
+
filingBatch.push(...windowForm4Rows(block, inWindow));
|
|
308
|
+
if (filingBatch.length > scanCap)
|
|
309
|
+
break;
|
|
310
|
+
}
|
|
204
311
|
}
|
|
205
|
-
throw err;
|
|
206
312
|
}
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
313
|
+
else {
|
|
314
|
+
filingBatch = await readSubmissionsFeed(api.getRecentFilingsByForm(match.cik, ['4', '4/A'], scanCap + 1));
|
|
315
|
+
}
|
|
316
|
+
// Form 4 filings exist past the scan: the sentinel row turned up, or — in a date
|
|
317
|
+
// window — archive pages overlapping it went unread.
|
|
318
|
+
const moreBeyondWindow = filingBatch.length > scanCap || Boolean(walk?.truncated);
|
|
319
|
+
const filingsToScan = filingBatch.slice(0, scanCap);
|
|
320
|
+
if (filingBatch.length === 0 && !dateWindow) {
|
|
321
|
+
throw ctx.fail('no_filings_found', `No Form 4 filings found for '${input.company}'.`, {
|
|
211
322
|
...ctx.recoveryFor('no_filings_found'),
|
|
212
323
|
});
|
|
213
324
|
}
|
|
214
325
|
const transactions = [];
|
|
215
326
|
let filingsScanned = 0;
|
|
327
|
+
/** Filing date of the last filing parsed — the oldest, since filings run newest first. */
|
|
328
|
+
let oldestParsed;
|
|
216
329
|
let scannedWholeWindow = true;
|
|
217
330
|
for (const filing of filingsToScan) {
|
|
218
331
|
if (transactions.length >= input.limit && filingsScanned >= scanFloor) {
|
|
@@ -225,6 +338,7 @@ export const getInsiderTransactionsTool = tool('secedgar_get_insider_transaction
|
|
|
225
338
|
if (!xmlText)
|
|
226
339
|
continue;
|
|
227
340
|
filingsScanned++;
|
|
341
|
+
oldestParsed = filing.filingDate;
|
|
228
342
|
let parsed;
|
|
229
343
|
try {
|
|
230
344
|
parsed = parseForm4Xml(xmlText);
|
|
@@ -269,11 +383,24 @@ export const getInsiderTransactionsTool = tool('secedgar_get_insider_transaction
|
|
|
269
383
|
});
|
|
270
384
|
}
|
|
271
385
|
}
|
|
272
|
-
|
|
386
|
+
const windowText = dateWindow && describeWindow(filedAfter, filedBefore);
|
|
387
|
+
if (windowText && filingBatch.length === 0) {
|
|
388
|
+
const walkNote = walk?.truncated
|
|
389
|
+
? ` The archive scan stopped after ${walk.pagesRead} pages, at filings from ${walk.scannedThrough}; narrow the window to reach older ones.`
|
|
390
|
+
: '';
|
|
391
|
+
const eraNote = filedBefore && filedBefore < STRUCTURED_FORM4_START
|
|
392
|
+
? ' Structured Form 4 filings begin in mid-2003, so an earlier window finds none.'
|
|
393
|
+
: '';
|
|
394
|
+
ctx.enrich.notice(`No Form 4 filings filed ${windowText} for '${input.company}'.${walkNote}${eraNote}`);
|
|
395
|
+
}
|
|
396
|
+
else if (transactions.length === 0) {
|
|
273
397
|
const filterNote = input.transaction_type !== 'all'
|
|
274
398
|
? ` with transaction_type="${input.transaction_type}"`
|
|
275
399
|
: '';
|
|
276
|
-
|
|
400
|
+
const scope = windowText
|
|
401
|
+
? `the ${filingsScanned} Form 4 filings filed ${windowText}`
|
|
402
|
+
: `the ${filingsScanned} most recent Form 4 filings`;
|
|
403
|
+
ctx.enrich.notice(`No insider transactions found for '${input.company}'${filterNote} in ${scope}. ` +
|
|
277
404
|
`Try transaction_type="all" or use secedgar_search_filings with forms=["4"] for broader coverage.`);
|
|
278
405
|
}
|
|
279
406
|
// Use issuer data from the resolved entity (the submissions API may not always
|
|
@@ -311,9 +438,11 @@ export const getInsiderTransactionsTool = tool('secedgar_get_insider_transaction
|
|
|
311
438
|
})),
|
|
312
439
|
sourceTool: 'secedgar_get_insider_transactions',
|
|
313
440
|
queryParams: {
|
|
314
|
-
|
|
441
|
+
company: input.company,
|
|
315
442
|
cik: match.cik,
|
|
316
443
|
transaction_type: input.transaction_type,
|
|
444
|
+
filed_after: filedAfter,
|
|
445
|
+
filed_before: filedBefore,
|
|
317
446
|
},
|
|
318
447
|
truncated,
|
|
319
448
|
});
|
|
@@ -340,11 +469,12 @@ export const getInsiderTransactionsTool = tool('secedgar_get_insider_transaction
|
|
|
340
469
|
datasetName: dataset?.name,
|
|
341
470
|
});
|
|
342
471
|
return {
|
|
343
|
-
issuer_name: match.name ?? input.
|
|
472
|
+
issuer_name: match.name ?? input.company,
|
|
344
473
|
issuer_cik: match.cik,
|
|
345
474
|
issuer_ticker: issuerTicker,
|
|
346
475
|
transactions: inlineTransactions,
|
|
347
476
|
filings_scanned: filingsScanned,
|
|
477
|
+
...(dateWindow && { history_scanned_through: oldestParsed }),
|
|
348
478
|
dataset,
|
|
349
479
|
};
|
|
350
480
|
},
|
|
@@ -382,9 +512,12 @@ export const getInsiderTransactionsTool = tool('secedgar_get_insider_transaction
|
|
|
382
512
|
lines.push(`${txDate} | ${tx.security_title} | ${sharesStr} ${priceStr}${ownedStr}${ownershipStr}${periodStr}`);
|
|
383
513
|
lines.push(`Code: ${tx.transaction_code} | Filed: ${tx.filing_date} [${tx.accession_number}]`);
|
|
384
514
|
}
|
|
515
|
+
if (result.history_scanned_through) {
|
|
516
|
+
lines.push(`\nHistory scanned through: ${result.history_scanned_through}`);
|
|
517
|
+
}
|
|
385
518
|
if (result.dataset) {
|
|
386
519
|
const truncatedNote = result.dataset.truncated
|
|
387
|
-
? ' (truncated — more
|
|
520
|
+
? ' (truncated — more Form 4 filings exist beyond those scanned)'
|
|
388
521
|
: '';
|
|
389
522
|
lines.push(`\nDataset: ${result.dataset.name} (${result.dataset.row_count} rows, expires ${result.dataset.expires_at})${truncatedNote} — query with secedgar_dataframe_query.`);
|
|
390
523
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-insider-transactions.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-insider-transactions.tool.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"get-insider-transactions.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-insider-transactions.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fileoverview Fetch 13F-HR quarterly institutional holdings by parsing the SEC EDGAR
|
|
3
|
-
* information table XML. Institution lookup only — `
|
|
3
|
+
* information table XML. Institution lookup only — `company` is the 13F filer.
|
|
4
4
|
* The reverse direction (which institutions hold an issuer) is secedgar_find_holders,
|
|
5
5
|
* which searches the information tables by CUSIP and returns filer CIKs to feed back
|
|
6
6
|
* into this tool (#81).
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
import { z } from '@cyanheads/mcp-ts-core';
|
|
10
10
|
import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
|
|
11
11
|
export declare const getInstitutionalHoldingsTool: import("@cyanheads/mcp-ts-core").ToolDefinition<z.ZodObject<{
|
|
12
|
-
|
|
12
|
+
company: z.ZodString;
|
|
13
13
|
quarter: z.ZodOptional<z.ZodString>;
|
|
14
14
|
limit: z.ZodDefault<z.ZodNumber>;
|
|
15
15
|
offset: z.ZodDefault<z.ZodNumber>;
|
|
@@ -52,7 +52,7 @@ export declare const getInstitutionalHoldingsTool: import("@cyanheads/mcp-ts-cor
|
|
|
52
52
|
}, z.core.$strip>, readonly [{
|
|
53
53
|
readonly reason: "company_not_found";
|
|
54
54
|
readonly code: JsonRpcErrorCode.NotFound;
|
|
55
|
-
readonly when: "The
|
|
55
|
+
readonly when: "The company input does not resolve to a known company or institution";
|
|
56
56
|
readonly recovery: "Use secedgar_company_search to find the correct CIK or full entity name.";
|
|
57
57
|
}, {
|
|
58
58
|
readonly reason: "ambiguous_entity";
|
|
@@ -62,13 +62,20 @@ export declare const getInstitutionalHoldingsTool: import("@cyanheads/mcp-ts-cor
|
|
|
62
62
|
}, {
|
|
63
63
|
readonly reason: "no_filings_found";
|
|
64
64
|
readonly code: JsonRpcErrorCode.NotFound;
|
|
65
|
-
readonly when: "No 13F-HR
|
|
65
|
+
readonly when: "No 13F-HR matches — the entity files none, none exists for the requested quarter in the recent submissions window or the archive pages searched, or the manager filed a 13F-NT notice instead (for the requested quarter, or as its only recent 13F filing when no quarter is given)";
|
|
66
66
|
readonly recovery: "Use secedgar_search_filings with forms=[\"13F-HR\"] for broader search, or check that the entity is an institutional investment manager.";
|
|
67
67
|
}, {
|
|
68
68
|
readonly reason: "no_info_table";
|
|
69
69
|
readonly code: JsonRpcErrorCode.NotFound;
|
|
70
70
|
readonly when: "The 13F-HR filing was found but the information table XML document could not be located";
|
|
71
71
|
readonly recovery: "Use secedgar_get_filing with the accession number to inspect the filing documents directly.";
|
|
72
|
+
}, {
|
|
73
|
+
readonly reason: "rate_limited";
|
|
74
|
+
readonly code: JsonRpcErrorCode.RateLimited;
|
|
75
|
+
readonly when: "SEC is rate-limiting this server's IP — SEC answered 429, or the call was refused without being sent while the cool-down after one runs";
|
|
76
|
+
readonly recovery: "Wait the retryAfter seconds the error carries, then retry — SEC lifts the block only once requests stop for ten minutes.";
|
|
77
|
+
readonly retryable: true;
|
|
78
|
+
readonly thrownBy: "service";
|
|
72
79
|
}], {
|
|
73
80
|
readonly notice: z.ZodOptional<z.ZodString>;
|
|
74
81
|
readonly truncated: z.ZodOptional<z.ZodBoolean>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-institutional-holdings.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-institutional-holdings.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAA6B,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"get-institutional-holdings.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-institutional-holdings.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAA6B,MAAM,+BAA+B,CAAC;AAoJ5F,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+lBvC,CAAC"}
|