@cyanheads/secedgar-mcp-server 0.15.13 → 0.15.15

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.
Files changed (109) hide show
  1. package/AGENTS.md +8 -6
  2. package/CLAUDE.md +8 -6
  3. package/Dockerfile +3 -3
  4. package/README.md +8 -5
  5. package/changelog/0.15.x/0.15.14.md +31 -0
  6. package/changelog/0.15.x/0.15.15.md +24 -0
  7. package/dist/index.js +7 -5
  8. package/dist/index.js.map +1 -1
  9. package/dist/mcp-server/tools/definitions/company-search.tool.d.ts +2 -2
  10. package/dist/mcp-server/tools/definitions/company-search.tool.d.ts.map +1 -1
  11. package/dist/mcp-server/tools/definitions/company-search.tool.js +8 -10
  12. package/dist/mcp-server/tools/definitions/company-search.tool.js.map +1 -1
  13. package/dist/mcp-server/tools/definitions/compare-companies.tool.d.ts +2 -2
  14. package/dist/mcp-server/tools/definitions/compare-companies.tool.d.ts.map +1 -1
  15. package/dist/mcp-server/tools/definitions/compare-companies.tool.js +6 -4
  16. package/dist/mcp-server/tools/definitions/compare-companies.tool.js.map +1 -1
  17. package/dist/mcp-server/tools/definitions/dataframe-describe.tool.d.ts +1 -1
  18. package/dist/mcp-server/tools/definitions/dataframe-describe.tool.d.ts.map +1 -1
  19. package/dist/mcp-server/tools/definitions/dataframe-describe.tool.js +1 -1
  20. package/dist/mcp-server/tools/definitions/dataframe-describe.tool.js.map +1 -1
  21. package/dist/mcp-server/tools/definitions/dataframe-drop.tool.d.ts +1 -1
  22. package/dist/mcp-server/tools/definitions/dataframe-drop.tool.d.ts.map +1 -1
  23. package/dist/mcp-server/tools/definitions/dataframe-drop.tool.js +1 -1
  24. package/dist/mcp-server/tools/definitions/dataframe-drop.tool.js.map +1 -1
  25. package/dist/mcp-server/tools/definitions/dataframe-query.tool.d.ts +1 -1
  26. package/dist/mcp-server/tools/definitions/dataframe-query.tool.d.ts.map +1 -1
  27. package/dist/mcp-server/tools/definitions/dataframe-query.tool.js +1 -1
  28. package/dist/mcp-server/tools/definitions/dataframe-query.tool.js.map +1 -1
  29. package/dist/mcp-server/tools/definitions/fetch-frames.tool.d.ts +2 -2
  30. package/dist/mcp-server/tools/definitions/fetch-frames.tool.d.ts.map +1 -1
  31. package/dist/mcp-server/tools/definitions/fetch-frames.tool.js +6 -4
  32. package/dist/mcp-server/tools/definitions/fetch-frames.tool.js.map +1 -1
  33. package/dist/mcp-server/tools/definitions/find-holders.tool.d.ts +2 -2
  34. package/dist/mcp-server/tools/definitions/find-holders.tool.d.ts.map +1 -1
  35. package/dist/mcp-server/tools/definitions/find-holders.tool.js +35 -23
  36. package/dist/mcp-server/tools/definitions/find-holders.tool.js.map +1 -1
  37. package/dist/mcp-server/tools/definitions/get-beneficial-owners.tool.d.ts +15 -5
  38. package/dist/mcp-server/tools/definitions/get-beneficial-owners.tool.d.ts.map +1 -1
  39. package/dist/mcp-server/tools/definitions/get-beneficial-owners.tool.js +92 -35
  40. package/dist/mcp-server/tools/definitions/get-beneficial-owners.tool.js.map +1 -1
  41. package/dist/mcp-server/tools/definitions/get-filing.tool.d.ts +2 -2
  42. package/dist/mcp-server/tools/definitions/get-filing.tool.d.ts.map +1 -1
  43. package/dist/mcp-server/tools/definitions/get-filing.tool.js +59 -33
  44. package/dist/mcp-server/tools/definitions/get-filing.tool.js.map +1 -1
  45. package/dist/mcp-server/tools/definitions/get-financials.tool.d.ts +2 -2
  46. package/dist/mcp-server/tools/definitions/get-financials.tool.d.ts.map +1 -1
  47. package/dist/mcp-server/tools/definitions/get-financials.tool.js +11 -8
  48. package/dist/mcp-server/tools/definitions/get-financials.tool.js.map +1 -1
  49. package/dist/mcp-server/tools/definitions/get-fund-holdings.tool.d.ts +2 -2
  50. package/dist/mcp-server/tools/definitions/get-fund-holdings.tool.d.ts.map +1 -1
  51. package/dist/mcp-server/tools/definitions/get-fund-holdings.tool.js +27 -27
  52. package/dist/mcp-server/tools/definitions/get-fund-holdings.tool.js.map +1 -1
  53. package/dist/mcp-server/tools/definitions/get-insider-transactions.tool.d.ts +2 -2
  54. package/dist/mcp-server/tools/definitions/get-insider-transactions.tool.d.ts.map +1 -1
  55. package/dist/mcp-server/tools/definitions/get-insider-transactions.tool.js +12 -16
  56. package/dist/mcp-server/tools/definitions/get-insider-transactions.tool.js.map +1 -1
  57. package/dist/mcp-server/tools/definitions/get-institutional-holdings.tool.d.ts +21 -2
  58. package/dist/mcp-server/tools/definitions/get-institutional-holdings.tool.d.ts.map +1 -1
  59. package/dist/mcp-server/tools/definitions/get-institutional-holdings.tool.js +153 -37
  60. package/dist/mcp-server/tools/definitions/get-institutional-holdings.tool.js.map +1 -1
  61. package/dist/mcp-server/tools/definitions/get-material-events.tool.d.ts +2 -2
  62. package/dist/mcp-server/tools/definitions/get-material-events.tool.d.ts.map +1 -1
  63. package/dist/mcp-server/tools/definitions/get-material-events.tool.js +8 -10
  64. package/dist/mcp-server/tools/definitions/get-material-events.tool.js.map +1 -1
  65. package/dist/mcp-server/tools/definitions/get-snapshot.tool.d.ts +2 -2
  66. package/dist/mcp-server/tools/definitions/get-snapshot.tool.d.ts.map +1 -1
  67. package/dist/mcp-server/tools/definitions/get-snapshot.tool.js +6 -4
  68. package/dist/mcp-server/tools/definitions/get-snapshot.tool.js.map +1 -1
  69. package/dist/mcp-server/tools/definitions/index.d.ts +597 -572
  70. package/dist/mcp-server/tools/definitions/index.d.ts.map +1 -1
  71. package/dist/mcp-server/tools/definitions/search-filings.tool.d.ts +3 -8
  72. package/dist/mcp-server/tools/definitions/search-filings.tool.d.ts.map +1 -1
  73. package/dist/mcp-server/tools/definitions/search-filings.tool.js +117 -59
  74. package/dist/mcp-server/tools/definitions/search-filings.tool.js.map +1 -1
  75. package/dist/mcp-server/tools/fixed-point.d.ts +7 -0
  76. package/dist/mcp-server/tools/fixed-point.d.ts.map +1 -0
  77. package/dist/mcp-server/tools/fixed-point.js +28 -0
  78. package/dist/mcp-server/tools/fixed-point.js.map +1 -0
  79. package/dist/services/edgar/call-scope.d.ts +41 -0
  80. package/dist/services/edgar/call-scope.d.ts.map +1 -0
  81. package/dist/services/edgar/call-scope.js +53 -0
  82. package/dist/services/edgar/call-scope.js.map +1 -0
  83. package/dist/services/edgar/concept-series.d.ts.map +1 -1
  84. package/dist/services/edgar/concept-series.js +5 -1
  85. package/dist/services/edgar/concept-series.js.map +1 -1
  86. package/dist/services/edgar/edgar-api-service.d.ts +80 -50
  87. package/dist/services/edgar/edgar-api-service.d.ts.map +1 -1
  88. package/dist/services/edgar/edgar-api-service.js +483 -211
  89. package/dist/services/edgar/edgar-api-service.js.map +1 -1
  90. package/dist/services/edgar/filing-to-text.d.ts +53 -14
  91. package/dist/services/edgar/filing-to-text.d.ts.map +1 -1
  92. package/dist/services/edgar/filing-to-text.js +181 -33
  93. package/dist/services/edgar/filing-to-text.js.map +1 -1
  94. package/dist/services/edgar/nport-parser.js +1 -1
  95. package/dist/services/edgar/nport-parser.js.map +1 -1
  96. package/dist/services/edgar/ownership-parser.d.ts +2 -0
  97. package/dist/services/edgar/ownership-parser.d.ts.map +1 -1
  98. package/dist/services/edgar/ownership-parser.js +4 -0
  99. package/dist/services/edgar/ownership-parser.js.map +1 -1
  100. package/dist/services/edgar/same-cik.d.ts +7 -0
  101. package/dist/services/edgar/same-cik.d.ts.map +1 -0
  102. package/dist/services/edgar/same-cik.js +9 -0
  103. package/dist/services/edgar/same-cik.js.map +1 -0
  104. package/dist/services/edgar/submissions-archive.d.ts +6 -3
  105. package/dist/services/edgar/submissions-archive.d.ts.map +1 -1
  106. package/dist/services/edgar/submissions-archive.js +6 -3
  107. package/dist/services/edgar/submissions-archive.js.map +1 -1
  108. package/package.json +6 -6
  109. package/server.json +3 -3
@@ -9,6 +9,7 @@
9
9
  import { tool, z } from '@cyanheads/mcp-ts-core';
10
10
  import { JsonRpcErrorCode, McpError, validationError } from '@cyanheads/mcp-ts-core/errors';
11
11
  import { dataframeGuidance, getCanvasBridge, toDatasetField, } from '../../../services/canvas-bridge/canvas-bridge.js';
12
+ import { CallScope } from '../../../services/edgar/call-scope.js';
12
13
  import { getEdgarApiService } from '../../../services/edgar/edgar-api-service.js';
13
14
  import { parseInfoTableXml, parseThirteenFCoverPage } from '../../../services/edgar/ownership-parser.js';
14
15
  import { ARCHIVE_PAGE_SCAN_CAP, SubmissionsArchiveWalk, } from '../../../services/edgar/submissions-archive.js';
@@ -87,8 +88,8 @@ const OPERATING_COMPANY_FORMS = ['10-K', '10-K/A', '10-Q', '10-Q/A', '8-K', '8-K
87
88
  const HOLDINGS_REPORT_FORM = '13F-HR';
88
89
  const NOTICE_FORMS = new Set(['13F-NT', '13F-NT/A']);
89
90
  /**
90
- * Zip a submissions block (the recent window or an archive page) into its 13F-HR and
91
- * 13F-NT rows, in block order — newest filed first. Read off the submissions fetch the
91
+ * Zip a submissions block (the recent window or an archive page) into its 13F-HR,
92
+ * 13F-HR/A and 13F-NT notice rows, newest filed first. Read off the submissions fetch the
92
93
  * tool already holds, which also feeds the 404 handling (#76) and the operating-company
93
94
  * classification (#86).
94
95
  */
@@ -96,7 +97,7 @@ function thirteenFRows(block) {
96
97
  const out = [];
97
98
  for (let i = 0; i < block.form.length; i++) {
98
99
  const form = block.form[i] ?? '';
99
- if (form !== HOLDINGS_REPORT_FORM && !NOTICE_FORMS.has(form))
100
+ if (form !== HOLDINGS_REPORT_FORM && form !== '13F-HR/A' && !NOTICE_FORMS.has(form))
100
101
  continue;
101
102
  out.push({
102
103
  accessionNumber: block.accessionNumber[i] ?? '',
@@ -115,9 +116,39 @@ function forPeriod(rows, periodEnd) {
115
116
  notice: inPeriod.find((r) => NOTICE_FORMS.has(r.form)),
116
117
  };
117
118
  }
119
+ /** SEC lookup failures that can leave optional disclosure unavailable. */
120
+ function optionalLookupFailure(err) {
121
+ return (err instanceof McpError &&
122
+ [
123
+ JsonRpcErrorCode.ServiceUnavailable,
124
+ JsonRpcErrorCode.Timeout,
125
+ JsonRpcErrorCode.Forbidden,
126
+ JsonRpcErrorCode.RateLimited,
127
+ JsonRpcErrorCode.NotFound,
128
+ ].includes(err.code));
129
+ }
130
+ const amendmentIdentity = z.object({
131
+ accession_number: z.string().describe('Amendment accession for secedgar_get_filing.'),
132
+ filing_date: z.string().describe('Amendment filing date (YYYY-MM-DD).'),
133
+ });
134
+ const amendmentSchema = z.discriminatedUnion('amendment_type', [
135
+ amendmentIdentity
136
+ .extend({
137
+ amendment_type: z.enum(['RESTATEMENT', 'NEW HOLDINGS']).describe('Cover-page type.'),
138
+ })
139
+ .describe('Readable amendment.'),
140
+ amendmentIdentity
141
+ .extend({
142
+ amendment_type: z.literal('UNAVAILABLE').describe('Type could not be read.'),
143
+ unavailable_reason: z
144
+ .enum(['missing_header', 'unreadable_header', 'lookup_failed', 'lookup_stopped'])
145
+ .describe('Why the type is unavailable; inspect with secedgar_get_filing.'),
146
+ })
147
+ .describe('Amendment with unavailable type.'),
148
+ ]);
118
149
  export const getInstitutionalHoldingsTool = tool('secedgar_get_institutional_holdings', {
119
150
  title: 'Get Institutional Holdings',
120
- description: 'Fetch 13F-HR quarterly institutional holdings by parsing the SEC EDGAR information table XML. company is the institutional filer — its 10-digit CIK (e.g. 0000102909), a ticker, or an entity name (names outside EDGAR\'s ticker file resolve through EDGAR entity search) — and the tool returns what that institution holds. A name that matches several EDGAR filers (some legal names are shared across entities) returns those candidates so you can retry with the exact CIK, rather than guessing. For the reverse direction — which institutions hold a given portfolio company — use secedgar_find_holders, whose filer_cik results feed straight back into this tool. The 13F information table lists each position: issuer name, CUSIP, shares held, market value (in whole USD), and put/call designation for options. Sub-lines for the same security are consolidated into distinct positions sorted by value by default (set consolidate=false for raw filing rows). The inline holdings list is one page of limit rows starting at offset — pass the returned next_offset to walk further down a large information table. The full parsed holdings set is also materialized as df_<id> when a canvas is available — inspect it with secedgar_dataframe_describe, then query it with secedgar_dataframe_query to aggregate the whole filing or self-join across quarters on cusip + reporting_period. Institutions with less than $100M in 13(f) securities are exempt and may not file. Use secedgar_search_filings with forms=["13F-HR"] for broader search.',
151
+ description: 'Read an institutional manager\'s original 13F-HR information table. company is the filer: a 10-digit CIK, ticker, or name; names outside the ticker file use EDGAR entity search, and ambiguous names return candidates. For managers holding an issuer, use secedgar_find_holders and pass its filer_cik here. Positions carry issuer, CUSIP, shares, whole-USD market value, and option designation. Same-period amendments are disclosed separately, never merged; read them with secedgar_get_filing. By default, sub-lines consolidate into positions sorted by value; consolidate=false preserves raw filing order. Page with limit, offset and returned next_offset. When canvas is available, the original report\'s full parsed positions are staged as df_<id>: inspect with secedgar_dataframe_describe, then aggregate or join on cusip + reporting_period with secedgar_dataframe_query. Managers below $100M in 13(f) securities may not file. Use secedgar_search_filings with forms=["13F-HR"] for broader search.',
121
152
  annotations: { readOnlyHint: true, idempotentHint: true, openWorldHint: true },
122
153
  errors: [
123
154
  {
@@ -155,8 +186,8 @@ export const getInstitutionalHoldingsTool = tool('secedgar_get_institutional_hol
155
186
  {
156
187
  reason: 'sec_unreachable',
157
188
  code: JsonRpcErrorCode.ServiceUnavailable,
158
- when: 'The last of three attempts to reach SEC EDGAR got no HTTP response — the connection failed, or no response headers arrived within 15 seconds',
159
- recovery: 'Retry the same call in a minute — SEC EDGAR could not be reached, and nothing in the request needs to change.',
189
+ when: "SEC EDGAR gave no complete, readable response — on the last attempt made (the third, or an earlier one once this call's 40-second budget for SEC failures ran out) the connection failed, no response headers arrived within 15 seconds, or the body broke off or stalled for 15 seconds, each wait capped at what was left of that budget; a 200 body was not the JSON SEC serves; or earlier SEC failures had spent that budget, so the request was never sent",
190
+ recovery: 'Retry the same call in a minute — SEC EDGAR did not deliver a complete, readable response, and nothing in the request needs to change.',
160
191
  retryable: true,
161
192
  thrownBy: 'service',
162
193
  },
@@ -196,18 +227,26 @@ export const getInstitutionalHoldingsTool = tool('secedgar_get_institutional_hol
196
227
  reporting_period: z
197
228
  .string()
198
229
  .optional()
199
- .describe('Calendar-quarter end this 13F covers (YYYY-MM-DD), from the cover page. Absent when the filing omits it.'),
230
+ .describe('Cover-page quarter end (YYYY-MM-DD). Absent if omitted.'),
200
231
  filing_date: z.string().describe('Date the 13F was submitted (YYYY-MM-DD).'),
201
232
  accession_number: z
202
233
  .string()
203
234
  .describe('Accession number of this 13F-HR — pass to secedgar_get_filing.'),
235
+ amendments: z
236
+ .array(amendmentSchema.describe('Same-period amendment; its holdings are not merged.'))
237
+ .optional()
238
+ .describe('Known amendments to the original report. Absent when none were found.'),
239
+ amendment_search_complete: z
240
+ .boolean()
241
+ .optional()
242
+ .describe('False if archive discovery was bounded or unavailable.'),
204
243
  total_holdings_in_filing: z
205
244
  .number()
206
- .describe('Raw information-table rows in this filing, before consolidation and limit.'),
245
+ .describe('Original raw row count before consolidation or paging.'),
207
246
  total_positions: z
208
247
  .number()
209
248
  .optional()
210
- .describe('Distinct positions after consolidating sub-lines, before limit. Present only when consolidate=true.'),
249
+ .describe('Distinct positions before paging. Only with consolidate=true.'),
211
250
  offset: z.number().describe('Row the returned page starts at, 0-based.'),
212
251
  next_offset: z
213
252
  .number()
@@ -220,23 +259,20 @@ export const getInstitutionalHoldingsTool = tool('secedgar_get_institutional_hol
220
259
  title_of_class: z
221
260
  .string()
222
261
  .optional()
223
- .describe('Security class (e.g., "COM", "CL A", "ETF"). Absent when not reported.'),
224
- cusip: z
225
- .string()
226
- .optional()
227
- .describe('9-digit CUSIP identifier. Absent when omitted by the filer.'),
262
+ .describe('Security class (COM, CL A, ETF). Absent if unreported.'),
263
+ cusip: z.string().optional().describe('CUSIP. Absent if unreported.'),
228
264
  market_value_usd: z
229
265
  .number()
230
266
  .optional()
231
- .describe('Market value in whole USD at the reporting date; values from filings before 2023-01-03, reported in thousands, are scaled to whole USD. Absent when not reported.'),
267
+ .describe('Whole USD at report date; pre-2023-01-03 filing values scaled from thousands. Absent if unreported.'),
232
268
  shares_or_principal_amount: z
233
269
  .number()
234
270
  .optional()
235
- .describe('Shares (equities) or principal amount (debt). Absent when not reported.'),
271
+ .describe('Shares or debt principal. Absent if unreported.'),
236
272
  shares_or_principal_type: z
237
273
  .enum(['SH', 'PRN'])
238
274
  .optional()
239
- .describe('SH shares, PRN principal amount (bonds, notes). Absent when not reported.'),
275
+ .describe('SH shares; PRN debt principal. Absent if unreported.'),
240
276
  put_call: z
241
277
  .enum(['Put', 'Call'])
242
278
  .optional()
@@ -244,7 +280,7 @@ export const getInstitutionalHoldingsTool = tool('secedgar_get_institutional_hol
244
280
  investment_discretion: z
245
281
  .enum(['SOLE', 'DFND', 'OTR'])
246
282
  .optional()
247
- .describe('SOLE sole discretion, DFND defined (shared or advised), OTR other. Absent when not reported, and on consolidated positions.'),
283
+ .describe('SOLE sole, DFND shared/advised, OTR other. Absent if unreported or consolidated.'),
248
284
  })
249
285
  .describe('One row from the 13F information table.'))
250
286
  .describe('`limit` rows from `offset`: positions by market value when consolidate=true, else raw rows in filing order.'),
@@ -257,13 +293,13 @@ export const getInstitutionalHoldingsTool = tool('secedgar_get_institutional_hol
257
293
  expires_at: z.string().describe('ISO 8601 expiry timestamp.'),
258
294
  })
259
295
  .optional()
260
- .describe('Dataframe of every position, shaped by consolidate; rows carry the filer keys and join across quarters on cusip + reporting_period. Absent when canvas is unavailable or there are no holdings.'),
296
+ .describe('Original-report positions, shaped by consolidate; join on cusip + reporting_period. Amendment positions are excluded. Absent without canvas or holdings.'),
261
297
  }),
262
298
  enrichment: {
263
299
  notice: z
264
300
  .string()
265
301
  .optional()
266
- .describe('Guidance when no filing was found or the result is empty, with alternatives.'),
302
+ .describe('Amendment disclosure, incomplete discovery, paging, and dataframe guidance.'),
267
303
  truncated: z
268
304
  .boolean()
269
305
  .optional()
@@ -273,15 +309,16 @@ export const getInstitutionalHoldingsTool = tool('secedgar_get_institutional_hol
273
309
  },
274
310
  async handler(input, ctx) {
275
311
  const api = getEdgarApiService();
312
+ const callScope = new CallScope(ctx.signal);
276
313
  // Resolve entity to CIK. Ticker/CIK/name go through the ticker cache first; on a
277
314
  // name miss, fall back to EFTS entity-autocomplete, which resolves any EDGAR filer —
278
315
  // institutional managers, trusts, individuals — that company_tickers.json can never
279
316
  // contain (#73). Both paths normalize to a candidate list so ambiguity is handled
280
317
  // uniformly and index 0 is never taken silently.
281
- const resolved = await api.resolveCik(input.company);
318
+ const resolved = await api.resolveCik(input.company, callScope);
282
319
  const candidates = Array.isArray(resolved)
283
320
  ? resolved.length === 0
284
- ? (await api.resolveEntityByName(input.company)).map((m) => ({
321
+ ? (await api.resolveEntityByName(input.company, callScope)).map((m) => ({
285
322
  cik: m.cik,
286
323
  name: m.name,
287
324
  ticker: undefined,
@@ -316,7 +353,7 @@ export const getInstitutionalHoldingsTool = tool('secedgar_get_institutional_hol
316
353
  // both the bare-CIK 404 recovery (#76) and operating-company classification (#86).
317
354
  let submissions;
318
355
  try {
319
- submissions = await api.getSubmissions(match.cik);
356
+ submissions = await api.getSubmissions(match.cik, callScope);
320
357
  }
321
358
  catch (err) {
322
359
  if (isBareCikFallback && err instanceof McpError && err.code === JsonRpcErrorCode.NotFound) {
@@ -331,6 +368,7 @@ export const getInstitutionalHoldingsTool = tool('secedgar_get_institutional_hol
331
368
  // matched exactly. No quarter → most-recent; with a quarter, a miss is reported,
332
369
  // never silently the latest filing.
333
370
  const recentRows = thirteenFRows(submissions.filings.recent);
371
+ const discoveredRows = [...recentRows];
334
372
  // A 13F-HR or a notice either one marks a 13F manager; only an entity whose rows
335
373
  // read hold neither gets the #86 classification below.
336
374
  let filesThirteenF = recentRows.length > 0;
@@ -351,12 +389,10 @@ export const getInstitutionalHoldingsTool = tool('secedgar_get_institutional_hol
351
389
  // end and stop on the first page holding a report or notice for it (#117, #133).
352
390
  // A quarter ending on or after the window's oldest filing selects no page.
353
391
  if (!filingMeta && !notice) {
354
- walk = new SubmissionsArchiveWalk(api, submissions, {
355
- filedAfter: periodEnd,
356
- order: 'oldest-first',
357
- });
392
+ walk = new SubmissionsArchiveWalk(api, submissions, { filedAfter: periodEnd, order: 'oldest-first' }, callScope);
358
393
  for await (const { block } of walk) {
359
394
  const rows = thirteenFRows(block);
395
+ discoveredRows.push(...rows);
360
396
  filesThirteenF ||= rows.length > 0;
361
397
  ({ report: filingMeta, notice } = forPeriod(rows, periodEnd));
362
398
  if (filingMeta || notice)
@@ -423,7 +459,7 @@ export const getInstitutionalHoldingsTool = tool('secedgar_get_institutional_hol
423
459
  throw ctx.fail('no_filings_found', `No 13F-HR filings found for '${input.company}' for quarter "${input.quarter}".${searched}`);
424
460
  }
425
461
  // Get the filing index to find the information table document
426
- const filingIndex = await api.tryGetFilingIndex(match.cik, filingMeta.accessionNumber);
462
+ const filingIndex = await api.tryGetFilingIndex(match.cik, filingMeta.accessionNumber, callScope);
427
463
  if (!filingIndex) {
428
464
  throw ctx.fail('no_info_table', `Filing ${filingMeta.accessionNumber} index could not be fetched.`);
429
465
  }
@@ -434,14 +470,14 @@ export const getInstitutionalHoldingsTool = tool('secedgar_get_institutional_hol
434
470
  available_documents: filingIndex.directory.item.map((i) => i.name),
435
471
  });
436
472
  }
437
- const xmlText = await api.tryGetFilingDocument(match.cik, filingMeta.accessionNumber, infoTableDoc);
473
+ const xmlText = await api.tryGetFilingDocument(match.cik, filingMeta.accessionNumber, infoTableDoc, callScope);
438
474
  if (!xmlText) {
439
475
  throw ctx.fail('no_info_table', `Information table document '${infoTableDoc}' could not be fetched.`);
440
476
  }
441
477
  // Pull reporting period and filing-manager name from the primary_doc.xml cover page.
442
478
  // The CIK resolver only knows names for ticker-listed entities, but most 13F filers
443
479
  // are investment managers that aren't listed — the cover page is the reliable source.
444
- const primaryXml = await api.tryGetFilingDocument(match.cik, filingMeta.accessionNumber, 'primary_doc.xml');
480
+ const primaryXml = await api.tryGetFilingDocument(match.cik, filingMeta.accessionNumber, 'primary_doc.xml', callScope);
445
481
  const { filerName, reportingPeriod } = primaryXml
446
482
  ? parseThirteenFCoverPage(primaryXml)
447
483
  : { filerName: undefined, reportingPeriod: undefined };
@@ -469,6 +505,74 @@ export const getInstitutionalHoldingsTool = tool('secedgar_get_institutional_hol
469
505
  investment_discretion: h.investment_discretion,
470
506
  }));
471
507
  const positions = input.consolidate ? consolidatePositions(rows) : rows;
508
+ /** Discovery is optional enrichment after the original is readable. Resume an
509
+ * archive walk that found the original so later-filed amendments are included.
510
+ * Every request shares the primary operation's failure budget and cancellation.
511
+ */
512
+ const amendmentPeriod = filingMeta.reportDate || reportingPeriod;
513
+ let amendmentSearchComplete = Boolean(amendmentPeriod);
514
+ let disclosureBlocked = false;
515
+ if (amendmentPeriod) {
516
+ walk ??= new SubmissionsArchiveWalk(api, submissions, { filedAfter: amendmentPeriod, order: 'oldest-first' }, callScope);
517
+ try {
518
+ for await (const { block } of walk)
519
+ discoveredRows.push(...thirteenFRows(block));
520
+ amendmentSearchComplete = !walk.truncated;
521
+ }
522
+ catch (err) {
523
+ callScope.signal.throwIfAborted();
524
+ if (!optionalLookupFailure(err))
525
+ throw err;
526
+ amendmentSearchComplete = false;
527
+ disclosureBlocked =
528
+ err.code === JsonRpcErrorCode.RateLimited || callScope.remainingMs === 0;
529
+ }
530
+ }
531
+ const samePeriod = [
532
+ ...new Map(discoveredRows
533
+ .filter((r) => r.form === '13F-HR/A' && amendmentPeriod && r.reportDate === amendmentPeriod)
534
+ .map((r) => [r.accessionNumber, r])).values(),
535
+ ].sort((a, b) => b.filingDate.localeCompare(a.filingDate));
536
+ const amendments = [];
537
+ for (const amendment of samePeriod) {
538
+ let amendmentType;
539
+ let unavailableReason = 'lookup_stopped';
540
+ if (!disclosureBlocked) {
541
+ try {
542
+ const header = await api.tryGetFilingDocument(match.cik, amendment.accessionNumber, 'primary_doc.xml', callScope);
543
+ if (header)
544
+ amendmentType = parseThirteenFCoverPage(header).amendmentType;
545
+ unavailableReason = header ? 'unreadable_header' : 'missing_header';
546
+ }
547
+ catch (err) {
548
+ callScope.signal.throwIfAborted();
549
+ if (!optionalLookupFailure(err))
550
+ throw err;
551
+ unavailableReason = 'lookup_failed';
552
+ disclosureBlocked =
553
+ err.code === JsonRpcErrorCode.RateLimited || callScope.remainingMs === 0;
554
+ }
555
+ }
556
+ amendments.push({
557
+ accession_number: amendment.accessionNumber,
558
+ filing_date: amendment.filingDate,
559
+ ...(amendmentType
560
+ ? { amendment_type: amendmentType }
561
+ : { amendment_type: 'UNAVAILABLE', unavailable_reason: unavailableReason }),
562
+ });
563
+ }
564
+ const amendmentNotice = [
565
+ ...(amendments.length > 0
566
+ ? [
567
+ `Holdings and dataframe contain the original report only; ${amendments.length} same-period amendment(s) are not merged. Read each with secedgar_get_filing: ${amendments.map((a) => `${a.accession_number} (filed ${a.filing_date}, ${a.amendment_type}${a.amendment_type === 'UNAVAILABLE' ? `: ${a.unavailable_reason}` : ''})`).join('; ')}.`,
568
+ ]
569
+ : []),
570
+ ...(!amendmentSearchComplete
571
+ ? [
572
+ `Amendment discovery is incomplete: the submissions archive search was bounded at ${ARCHIVE_PAGE_SCAN_CAP} pages or unavailable, or the report period is missing. Additional amendments may exist.`,
573
+ ]
574
+ : []),
575
+ ].join(' ');
472
576
  // Register the full parsed position set to the canvas (the inline holdings list
473
577
  // is a preview capped at `limit`). Denormalize the filer/period metadata onto
474
578
  // every row so the dataframe self-joins across quarters and filers on cusip +
@@ -514,26 +618,29 @@ export const getInstitutionalHoldingsTool = tool('secedgar_get_institutional_hol
514
618
  // One chain, because `notice` is last-wins across notice/truncated: each arm
515
619
  // composes the staged-dataframe pointer into its own string rather than
516
620
  // emitting a second notice that would clobber the first (#104).
621
+ const notices = amendmentNotice ? [amendmentNotice] : [];
517
622
  if (holdings.length === 0 && input.offset > 0) {
518
- ctx.enrich.notice(`Offset (${input.offset}) is at or past the ${positions.length} positions in this filing. ` +
623
+ notices.push(`Offset (${input.offset}) is at or past the ${positions.length} positions in this filing. ` +
519
624
  `Lower the offset to page back into the holdings.` +
520
625
  (dataset ? ` ${dataframeGuidance(dataset)}` : ''));
521
626
  }
522
627
  else if (holdings.length === 0) {
523
- ctx.enrich.notice(`The information table for this filing contained no holdings rows. ` +
628
+ notices.push(`The information table for this filing contained no holdings rows. ` +
524
629
  `This may be a 13F-NT (notice-only) filing or an amendment. ` +
525
630
  `Use secedgar_search_filings with forms=["13F-HR"] to find the correct filing.`);
526
631
  }
527
- else if (nextOffset !== undefined) {
632
+ else if (dataset) {
633
+ notices.push(dataframeGuidance(dataset));
634
+ }
635
+ if (holdings.length > 0 && nextOffset !== undefined) {
528
636
  ctx.enrich.truncated({
529
637
  shown: holdings.length,
530
638
  cap: input.limit,
531
- ...(dataset && { guidance: dataframeGuidance(dataset) }),
639
+ ...(notices.length > 0 && { guidance: notices.join(' ') }),
532
640
  });
533
641
  }
534
- else if (dataset) {
535
- ctx.enrich.notice(dataframeGuidance(dataset));
536
- }
642
+ else if (notices.length > 0)
643
+ ctx.enrich.notice(notices.join(' '));
537
644
  ctx.log.info('Institutional holdings retrieved', {
538
645
  cik: match.cik,
539
646
  accessionNumber: filingMeta.accessionNumber,
@@ -548,6 +655,8 @@ export const getInstitutionalHoldingsTool = tool('secedgar_get_institutional_hol
548
655
  reporting_period: reportingPeriod,
549
656
  filing_date: filingMeta.filingDate,
550
657
  accession_number: filingMeta.accessionNumber,
658
+ amendments: amendments.length > 0 ? amendments : undefined,
659
+ amendment_search_complete: amendmentSearchComplete,
551
660
  total_holdings_in_filing: parsed.holdings.length,
552
661
  total_positions: input.consolidate ? positions.length : undefined,
553
662
  offset: input.offset,
@@ -567,6 +676,13 @@ export const getInstitutionalHoldingsTool = tool('secedgar_get_institutional_hol
567
676
  countLine,
568
677
  ];
569
678
  lines.push(`Page offset: ${result.offset} (${result.holdings.length} shown)`);
679
+ for (const amendment of result.amendments ?? []) {
680
+ lines.push(`Amendment: ${amendment.accession_number}, filed ${amendment.filing_date}, ${amendment.amendment_type}${amendment.amendment_type === 'UNAVAILABLE' ? ` (${amendment.unavailable_reason})` : ''} — read with secedgar_get_filing; holdings remain from the original report.`);
681
+ }
682
+ if (result.amendment_search_complete !== undefined)
683
+ lines.push(result.amendment_search_complete
684
+ ? 'Amendment discovery complete within submissions coverage.'
685
+ : 'Amendment discovery incomplete; additional amendments may exist.');
570
686
  if (result.next_offset !== undefined) {
571
687
  lines.push(`Next offset: ${result.next_offset} — pass as offset to read the next page.`);
572
688
  }
@@ -1 +1 @@
1
- {"version":3,"file":"get-institutional-holdings.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-institutional-holdings.tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get-institutional-holdings.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-institutional-holdings.tool.ts"],"names":[],"mappings":"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"}
@@ -64,8 +64,8 @@ export declare const getMaterialEventsTool: import("@cyanheads/mcp-ts-core").Too
64
64
  }, {
65
65
  readonly reason: "sec_unreachable";
66
66
  readonly code: JsonRpcErrorCode.ServiceUnavailable;
67
- readonly when: "The last of three attempts to reach SEC EDGAR got no HTTP response — the connection failed, or no response headers arrived within 15 seconds";
68
- readonly recovery: "Retry the same call in a minute — SEC EDGAR could not be reached, and nothing in the request needs to change.";
67
+ readonly when: "SEC EDGAR gave no complete, readable response — on the last attempt made (the third, or an earlier one once this call's 40-second budget for SEC failures ran out) the connection failed, no response headers arrived within 15 seconds, or the body broke off or stalled for 15 seconds, each wait capped at what was left of that budget; a 200 body was not the JSON SEC serves; or earlier SEC failures had spent that budget, so the request was never sent";
68
+ readonly recovery: "Retry the same call in a minute — SEC EDGAR did not deliver a complete, readable response, and nothing in the request needs to change.";
69
69
  readonly retryable: true;
70
70
  readonly thrownBy: "service";
71
71
  }], {
@@ -1 +1 @@
1
- {"version":3,"file":"get-material-events.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-material-events.tool.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAY,MAAM,+BAA+B,CAAC;AAwD3E,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqchC,CAAC"}
1
+ {"version":3,"file":"get-material-events.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-material-events.tool.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAY,MAAM,+BAA+B,CAAC;AAyD3E,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuchC,CAAC"}
@@ -7,6 +7,7 @@
7
7
  import { tool, z } from '@cyanheads/mcp-ts-core';
8
8
  import { JsonRpcErrorCode, McpError } from '@cyanheads/mcp-ts-core/errors';
9
9
  import { dataframeGuidance, getCanvasBridge, toDatasetField, } from '../../../services/canvas-bridge/canvas-bridge.js';
10
+ import { CallScope } from '../../../services/edgar/call-scope.js';
10
11
  import { getEdgarApiService, suggestCompanies } from '../../../services/edgar/edgar-api-service.js';
11
12
  import { decodeEightKItem, EIGHT_K_ITEM_CODES, EIGHT_K_RENUMBERING_DATE, parseEightKItems, } from '../../../services/edgar/eight-k-items.js';
12
13
  import { SubmissionsArchiveWalk } from '../../../services/edgar/submissions-archive.js';
@@ -64,8 +65,8 @@ export const getMaterialEventsTool = tool('secedgar_get_material_events', {
64
65
  {
65
66
  reason: 'sec_unreachable',
66
67
  code: JsonRpcErrorCode.ServiceUnavailable,
67
- when: 'The last of three attempts to reach SEC EDGAR got no HTTP response — the connection failed, or no response headers arrived within 15 seconds',
68
- recovery: 'Retry the same call in a minute — SEC EDGAR could not be reached, and nothing in the request needs to change.',
68
+ when: "SEC EDGAR gave no complete, readable response — on the last attempt made (the third, or an earlier one once this call's 40-second budget for SEC failures ran out) the connection failed, no response headers arrived within 15 seconds, or the body broke off or stalled for 15 seconds, each wait capped at what was left of that budget; a 200 body was not the JSON SEC serves; or earlier SEC failures had spent that budget, so the request was never sent",
69
+ recovery: 'Retry the same call in a minute — SEC EDGAR did not deliver a complete, readable response, and nothing in the request needs to change.',
69
70
  retryable: true,
70
71
  thrownBy: 'service',
71
72
  },
@@ -202,10 +203,11 @@ export const getMaterialEventsTool = tool('secedgar_get_material_events', {
202
203
  },
203
204
  async handler(input, ctx) {
204
205
  const api = getEdgarApiService();
205
- const resolved = await api.resolveCik(input.company);
206
+ const scope = new CallScope(ctx.signal);
207
+ const resolved = await api.resolveCik(input.company, scope);
206
208
  if (Array.isArray(resolved)) {
207
209
  if (resolved.length === 0) {
208
- const suggestions = suggestCompanies(input.company, await api.getAllEntries());
210
+ const suggestions = suggestCompanies(input.company, await api.getAllEntries(scope));
209
211
  const suggestionNote = suggestions.length > 0
210
212
  ? ` Near matches: ${suggestions.map((s) => `${s.name ?? s.cik}${s.ticker ? ` (${s.ticker})` : ''}`).join(', ')}.`
211
213
  : '';
@@ -230,7 +232,7 @@ export const getMaterialEventsTool = tool('secedgar_get_material_events', {
230
232
  const isBareCikFallback = !match.name && !match.ticker;
231
233
  let submissions;
232
234
  try {
233
- submissions = await api.getSubmissions(match.cik);
235
+ submissions = await api.getSubmissions(match.cik, scope);
234
236
  }
235
237
  catch (err) {
236
238
  if (isBareCikFallback && err instanceof McpError && err.code === JsonRpcErrorCode.NotFound) {
@@ -254,11 +256,7 @@ export const getMaterialEventsTool = tool('secedgar_get_material_events', {
254
256
  // since an undated call asks for the newest `limit` and nothing older (#134).
255
257
  // Entry counts the same filtered rows as the stop test, so recent 8-Ks the
256
258
  // filter rejects never stand in for matches (#139).
257
- const walk = new SubmissionsArchiveWalk(api, submissions, {
258
- filedAfter,
259
- filedBefore,
260
- order: 'newest-first',
261
- });
259
+ const walk = new SubmissionsArchiveWalk(api, submissions, { filedAfter, filedBefore, order: 'newest-first' }, scope);
262
260
  let matchedSoFar = scanned.filter(passesItems).length;
263
261
  if (hasDateFilter || matchedSoFar < input.limit) {
264
262
  for await (const { block } of walk) {