@cyanheads/secedgar-mcp-server 0.15.7 → 0.15.9

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 (106) hide show
  1. package/AGENTS.md +25 -14
  2. package/CLAUDE.md +25 -14
  3. package/README.md +117 -162
  4. package/changelog/0.15.x/0.15.8.md +29 -0
  5. package/changelog/0.15.x/0.15.9.md +32 -0
  6. package/dist/config/server-config.d.ts.map +1 -1
  7. package/dist/config/server-config.js +1 -1
  8. package/dist/config/server-config.js.map +1 -1
  9. package/dist/mcp-server/prompts/definitions/company-analysis.prompt.js +2 -2
  10. package/dist/mcp-server/prompts/definitions/company-analysis.prompt.js.map +1 -1
  11. package/dist/mcp-server/resources/definitions/concepts.resource.d.ts +2 -1
  12. package/dist/mcp-server/resources/definitions/concepts.resource.d.ts.map +1 -1
  13. package/dist/mcp-server/resources/definitions/concepts.resource.js +5 -4
  14. package/dist/mcp-server/resources/definitions/concepts.resource.js.map +1 -1
  15. package/dist/mcp-server/tools/definitions/company-search.tool.d.ts.map +1 -1
  16. package/dist/mcp-server/tools/definitions/company-search.tool.js +15 -26
  17. package/dist/mcp-server/tools/definitions/company-search.tool.js.map +1 -1
  18. package/dist/mcp-server/tools/definitions/compare-companies.tool.d.ts +10 -0
  19. package/dist/mcp-server/tools/definitions/compare-companies.tool.d.ts.map +1 -1
  20. package/dist/mcp-server/tools/definitions/compare-companies.tool.js +143 -14
  21. package/dist/mcp-server/tools/definitions/compare-companies.tool.js.map +1 -1
  22. package/dist/mcp-server/tools/definitions/dataframe-query.tool.d.ts.map +1 -1
  23. package/dist/mcp-server/tools/definitions/dataframe-query.tool.js +7 -1
  24. package/dist/mcp-server/tools/definitions/dataframe-query.tool.js.map +1 -1
  25. package/dist/mcp-server/tools/definitions/fetch-frames.tool.d.ts +6 -1
  26. package/dist/mcp-server/tools/definitions/fetch-frames.tool.d.ts.map +1 -1
  27. package/dist/mcp-server/tools/definitions/fetch-frames.tool.js +93 -32
  28. package/dist/mcp-server/tools/definitions/fetch-frames.tool.js.map +1 -1
  29. package/dist/mcp-server/tools/definitions/get-beneficial-owners.tool.js +1 -1
  30. package/dist/mcp-server/tools/definitions/get-beneficial-owners.tool.js.map +1 -1
  31. package/dist/mcp-server/tools/definitions/get-filing.tool.d.ts.map +1 -1
  32. package/dist/mcp-server/tools/definitions/get-filing.tool.js +16 -11
  33. package/dist/mcp-server/tools/definitions/get-filing.tool.js.map +1 -1
  34. package/dist/mcp-server/tools/definitions/get-financials.tool.d.ts +6 -0
  35. package/dist/mcp-server/tools/definitions/get-financials.tool.d.ts.map +1 -1
  36. package/dist/mcp-server/tools/definitions/get-financials.tool.js +130 -60
  37. package/dist/mcp-server/tools/definitions/get-financials.tool.js.map +1 -1
  38. package/dist/mcp-server/tools/definitions/get-insider-transactions.tool.d.ts +5 -2
  39. package/dist/mcp-server/tools/definitions/get-insider-transactions.tool.d.ts.map +1 -1
  40. package/dist/mcp-server/tools/definitions/get-insider-transactions.tool.js +151 -28
  41. package/dist/mcp-server/tools/definitions/get-insider-transactions.tool.js.map +1 -1
  42. package/dist/mcp-server/tools/definitions/get-institutional-holdings.tool.d.ts +1 -1
  43. package/dist/mcp-server/tools/definitions/get-institutional-holdings.tool.d.ts.map +1 -1
  44. package/dist/mcp-server/tools/definitions/get-institutional-holdings.tool.js +89 -41
  45. package/dist/mcp-server/tools/definitions/get-institutional-holdings.tool.js.map +1 -1
  46. package/dist/mcp-server/tools/definitions/get-material-events.tool.d.ts.map +1 -1
  47. package/dist/mcp-server/tools/definitions/get-material-events.tool.js +29 -33
  48. package/dist/mcp-server/tools/definitions/get-material-events.tool.js.map +1 -1
  49. package/dist/mcp-server/tools/definitions/get-snapshot.tool.d.ts +3 -0
  50. package/dist/mcp-server/tools/definitions/get-snapshot.tool.d.ts.map +1 -1
  51. package/dist/mcp-server/tools/definitions/get-snapshot.tool.js +16 -7
  52. package/dist/mcp-server/tools/definitions/get-snapshot.tool.js.map +1 -1
  53. package/dist/mcp-server/tools/definitions/index.d.ts +87 -60
  54. package/dist/mcp-server/tools/definitions/index.d.ts.map +1 -1
  55. package/dist/mcp-server/tools/definitions/search-concepts.tool.d.ts +2 -1
  56. package/dist/mcp-server/tools/definitions/search-concepts.tool.d.ts.map +1 -1
  57. package/dist/mcp-server/tools/definitions/search-concepts.tool.js +5 -4
  58. package/dist/mcp-server/tools/definitions/search-concepts.tool.js.map +1 -1
  59. package/dist/mcp-server/tools/definitions/search-filings.tool.d.ts.map +1 -1
  60. package/dist/mcp-server/tools/definitions/search-filings.tool.js +12 -20
  61. package/dist/mcp-server/tools/definitions/search-filings.tool.js.map +1 -1
  62. package/dist/services/edgar/concept-map.d.ts +38 -4
  63. package/dist/services/edgar/concept-map.d.ts.map +1 -1
  64. package/dist/services/edgar/concept-map.js +196 -9
  65. package/dist/services/edgar/concept-map.js.map +1 -1
  66. package/dist/services/edgar/concept-series.d.ts +79 -18
  67. package/dist/services/edgar/concept-series.d.ts.map +1 -1
  68. package/dist/services/edgar/concept-series.js +175 -25
  69. package/dist/services/edgar/concept-series.js.map +1 -1
  70. package/dist/services/edgar/edgar-api-service.d.ts +57 -47
  71. package/dist/services/edgar/edgar-api-service.d.ts.map +1 -1
  72. package/dist/services/edgar/edgar-api-service.js +247 -182
  73. package/dist/services/edgar/edgar-api-service.js.map +1 -1
  74. package/dist/services/edgar/filing-headers.d.ts +37 -9
  75. package/dist/services/edgar/filing-headers.d.ts.map +1 -1
  76. package/dist/services/edgar/filing-headers.js +40 -11
  77. package/dist/services/edgar/filing-headers.js.map +1 -1
  78. package/dist/services/edgar/filing-to-text.d.ts.map +1 -1
  79. package/dist/services/edgar/filing-to-text.js +24 -2
  80. package/dist/services/edgar/filing-to-text.js.map +1 -1
  81. package/dist/services/edgar/mirror/edgar-mirror.d.ts +10 -1
  82. package/dist/services/edgar/mirror/edgar-mirror.d.ts.map +1 -1
  83. package/dist/services/edgar/mirror/edgar-mirror.js +52 -13
  84. package/dist/services/edgar/mirror/edgar-mirror.js.map +1 -1
  85. package/dist/services/edgar/mirror/tickers-sync.d.ts +4 -2
  86. package/dist/services/edgar/mirror/tickers-sync.d.ts.map +1 -1
  87. package/dist/services/edgar/mirror/tickers-sync.js +4 -2
  88. package/dist/services/edgar/mirror/tickers-sync.js.map +1 -1
  89. package/dist/services/edgar/mirror/types.d.ts +6 -2
  90. package/dist/services/edgar/mirror/types.d.ts.map +1 -1
  91. package/dist/services/edgar/ownership-parser.d.ts +16 -0
  92. package/dist/services/edgar/ownership-parser.d.ts.map +1 -1
  93. package/dist/services/edgar/ownership-parser.js +19 -0
  94. package/dist/services/edgar/ownership-parser.js.map +1 -1
  95. package/dist/services/edgar/submissions-archive.d.ts +78 -0
  96. package/dist/services/edgar/submissions-archive.d.ts.map +1 -0
  97. package/dist/services/edgar/submissions-archive.js +87 -0
  98. package/dist/services/edgar/submissions-archive.js.map +1 -0
  99. package/dist/services/edgar/trigram-similarity.d.ts +13 -0
  100. package/dist/services/edgar/trigram-similarity.d.ts.map +1 -0
  101. package/dist/services/edgar/trigram-similarity.js +40 -0
  102. package/dist/services/edgar/trigram-similarity.js.map +1 -0
  103. package/dist/services/edgar/types.d.ts +12 -2
  104. package/dist/services/edgar/types.d.ts.map +1 -1
  105. package/package.json +2 -2
  106. package/server.json +3 -3
@@ -0,0 +1,29 @@
1
+ ---
2
+ summary: "secedgar_get_insider_transactions takes a filed_after / filed_before window reading Form 4 history back to mid-2003, and secedgar_get_institutional_holdings finds quarters older than the recent submissions window. Fixes fund-ticker resolution after a failed or mirror-served load, deeply nested filings overflowing the stack, and archive paging."
3
+ security: false
4
+ ---
5
+
6
+ # 0.15.8 — 2026-09-24
7
+
8
+ ## Added
9
+
10
+ - **`secedgar_get_insider_transactions` `filed_after` / `filed_before`** ([#127](https://github.com/cyanheads/secedgar-mcp-server/issues/127)) — inclusive, either alone, with the `start_date` / `date_from` / `end_date` / `date_to` aliases. A window reads the in-window Form 4 / 4-A filings from the recent window and the archive pages it overlaps, parsing up to 100 with a canvas. Only filings whose primary document is ownership XML are read, so the reachable history starts in mid-2003, when structured Form 4 filing began. `history_scanned_through` names the oldest filing parsed, and a window holding none returns a notice rather than `no_filings_found`.
11
+
12
+ ## Changed
13
+
14
+ - **`secedgar_get_filing` fills `form`, `filing_date`, and `period_ending` for filings outside the recent submissions window** ([#126](https://github.com/cyanheads/secedgar-mcp-server/issues/126)) — read from the filing's own SEC header: the `index-headers.html` page the tool already fetches, or `<accession>.hdr.sgml` when that page is missing (one extra request, only then).
15
+ - **One archive-page walk for every tool that reads past the recent window** — `SubmissionsArchiveWalk` (`src/services/edgar/submissions-archive.ts`) serves `secedgar_company_search`, `secedgar_search_filings`' pre-2001 arm, `secedgar_get_material_events`, `secedgar_get_insider_transactions`, and `secedgar_get_institutional_holdings`, with one 10-page cap.
16
+ - Tool descriptions state the recent window as SEC sizes it — the last year or 1,000 filings, whichever holds more — instead of "~1,000 filings".
17
+
18
+ ## Fixed
19
+
20
+ - **`secedgar_get_institutional_holdings` finds a `quarter` older than the recent window** ([#117](https://github.com/cyanheads/secedgar-mcp-server/issues/117)) — the archive is read forward from the quarter end, up to 10 pages, instead of failing as `no_filings_found`.
21
+ - **A quarter covered by a 13F-NT notice fails naming that notice** ([#133](https://github.com/cyanheads/secedgar-mcp-server/issues/133)) — the error carries its accession number, form, and period (`notice_accession_number`, `notice_form`, `notice_period`); a manager with no `quarter` whose recent 13F filings are all notices gets the same message instead of the not-a-13F-filer routing.
22
+ - **`filer_name` decodes XML entities** ([#132](https://github.com/cyanheads/secedgar-mcp-server/issues/132)) — `JPMORGAN CHASE &amp; CO` is now `JPMORGAN CHASE & CO` on every surface.
23
+ - **A failed load of `company_tickers_mf.json` no longer stands for the whole ticker-cache TTL** ([#119](https://github.com/cyanheads/secedgar-mcp-server/issues/119)) — the fund slice is refetched once, single-flight, after 60 s (or the rate-limit cool-down, if longer), without refetching the equity index; each failed load logs a warning.
24
+ - **Fund tickers keep `seriesId` / `classId` on the mirror path** ([#135](https://github.com/cyanheads/secedgar-mcp-server/issues/135)) — a live fund entry supersedes the mirror's bare fund row for the same symbol, and mirror fund rows never enter the CIK index, so `secedgar_get_fund_holdings` routes a multi-series trust's ticker through its series.
25
+ - **`rate_limited` errors carry `data.retryable: true`** ([#122](https://github.com/cyanheads/secedgar-mcp-server/issues/122)) — both the upstream 429 and the local cool-down refusal, matching the declared contract, so the text ends `(reason rate_limited · retryable)`.
26
+ - **Deeply nested markup no longer overflows the stack in filing text conversion** ([#118](https://github.com/cyanheads/secedgar-mcp-server/issues/118)) — `html-to-text` stops at 512 levels and prints `[…]` there, and legacy SGML `<PAGE>` markers are replaced with line breaks before parsing; one such document no longer fails `secedgar_search_filings`' pre-2001 text scan.
27
+ - **`secedgar_get_material_events` stops the undated archive walk once `limit` is filled** ([#134](https://github.com/cyanheads/secedgar-mcp-server/issues/134)) — when the recent window under-filled `limit`, an undated call previously read every archive page up to the cap; a date window still reads every page it overlaps. `dataset.truncated` is true whenever selected pages went unread, including when the recent window alone fills `limit`.
28
+ - **Archive page selection tolerates a one-day drift in the manifest's `filingFrom` / `filingTo`** ([#137](https://github.com/cyanheads/secedgar-mcp-server/issues/137)) — a window whose bound falls on a page's first or last filing day no longer skips that page.
29
+ - **`secedgar_dataframe_query` renders a line break inside a table cell or column name as `<br>`** ([#121](https://github.com/cyanheads/secedgar-mcp-server/issues/121)) — it previously split the Markdown row.
@@ -0,0 +1,32 @@
1
+ ---
2
+ summary: "Annual XBRL values no longer come from a proxy statement's pay-versus-performance figure or a 10-Q's trailing-twelve-month total. Adds ppe_net, pretax_income, and shares_diluted, successor tags for capex and interest_expense, early unknown_concept errors with suggestions, and a taxonomy input on secedgar_fetch_frames."
3
+ breaking: false
4
+ security: false
5
+ ---
6
+
7
+ # 0.15.9 — 2026-09-25
8
+
9
+ ## Added
10
+
11
+ - **Catalog concepts `ppe_net`, `pretax_income`, and `shares_diluted`** ([#130](https://github.com/cyanheads/secedgar-mcp-server/issues/130)) — each with a confirmed IFRS tag; `ppe_net` lists the finance-lease-inclusive total as a related tag, not a fallback.
12
+ - **`unknown_concept` before any SEC request** ([#128](https://github.com/cyanheads/secedgar-mcp-server/issues/128)) — `secedgar_get_financials`, `secedgar_compare_companies`, and `secedgar_fetch_frames` reject a `concept` that is neither a friendly name nor an UpperCamelCase tag, with a formula (`free_cash_flow`, `ebitda`, `working_capital`) or up to three closest names. `secedgar_compare_companies` fails only when every concept is unknown and otherwise lists them in `unknown_concepts`.
13
+ - **`secedgar_fetch_frames` `taxonomy` input, `us-gaap` or `dei`** ([#143](https://github.com/cyanheads/secedgar-mcp-server/issues/143)) — a raw dei tag such as `EntityCommonStockSharesOutstanding` now reads the dei frames; the response echoes `taxonomy`.
14
+ - **Per-value `tag`** on `secedgar_get_financials` rows, `secedgar_get_snapshot` points, and `secedgar_compare_companies` cells ([#125](https://github.com/cyanheads/secedgar-mcp-server/issues/125)).
15
+
16
+ ## Changed
17
+
18
+ - **`capex` walks `PaymentsToAcquireProductiveAssets` and `interest_expense` walks `InterestExpenseNonoperating`** ([#125](https://github.com/cyanheads/secedgar-mcp-server/issues/125)) — both behind the existing tags, so they fill only frames those leave empty. A line's `concept` / `tag`, `label`, and `unit` now describe the tag behind its newest value.
19
+ - **`secedgar_company_analysis` routes the financial profile through `secedgar_get_snapshot` and the peer step through `secedgar_compare_companies`** ([#129](https://github.com/cyanheads/secedgar-mcp-server/issues/129)); `secedgar://concepts` and `secedgar_search_concepts` name all three tools that take a friendly name.
20
+ - **`secedgar_compare_companies` compares inputs naming the same concept once** ([#145](https://github.com/cyanheads/secedgar-mcp-server/issues/145)) — `revenue` and `Revenue` merge under the first spelling with a caveat; a friendly name and a raw tag it maps to stay separate.
21
+
22
+ ## Fixed
23
+
24
+ - **A frame held by a Schedule 14A/14C proxy statement resolves to the filer's own report of the period** ([#123](https://github.com/cyanheads/secedgar-mcp-server/issues/123)) — the pay-versus-performance `NetIncomeLoss` no longer replaces the 10-K value. Live `secedgar_fetch_frames` responses carry a caveat on annual `NetIncomeLoss`; mirror-served frames apply the rule.
25
+ - **An annual frame held by a 10-Q's trailing-twelve-month figure leaves the annual series** ([#142](https://github.com/cyanheads/secedgar-mcp-server/issues/142)) — replaced by the 10-K fact when one exists, else kept only when the series marks it a closed fiscal year. Live `secedgar_fetch_frames` caveats annual frames through April of the following year.
26
+ - **A companyconcept unit served as an empty object no longer fails `secedgar_get_financials`** ([#141](https://github.com/cyanheads/secedgar-mcp-server/issues/141)) — non-array units are dropped at the service edge and the tag is answered from companyfacts.
27
+ - **`secedgar_compare_companies` names a company whose values all predate the inline window** ([#144](https://github.com/cyanheads/secedgar-mcp-server/issues/144)) — one caveat per concept with each company's newest period; `gaps` still means no value in any period.
28
+ - **Mirror reads no longer print a raw tag as its label** when SEC served none (`InterestExpenseNonoperating`), and `secedgar_fetch_frames` treats SEC's bare `-` `loc` as no location.
29
+
30
+ ## Dependencies
31
+
32
+ - `@socketsecurity/bun-security-scanner` ^1.1.2 → ^1.1.3 (dev)
@@ -1 +1 @@
1
- {"version":3,"file":"server-config.d.ts","sourceRoot":"","sources":["../../src/config/server-config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAG3C,QAAA,MAAM,kBAAkB;;;;;;;;;;;iBA+DtB,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAI9D,wBAAgB,eAAe,IAAI,YAAY,CAc9C"}
1
+ {"version":3,"file":"server-config.d.ts","sourceRoot":"","sources":["../../src/config/server-config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAG3C,QAAA,MAAM,kBAAkB;;;;;;;;;;;iBAiEtB,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAI9D,wBAAgB,eAAe,IAAI,YAAY,CAc9C"}
@@ -26,7 +26,7 @@ const ServerConfigSchema = z.object({
26
26
  .int()
27
27
  .min(60)
28
28
  .default(3600)
29
- .describe('Seconds to cache company_tickers.json'),
29
+ .describe('Seconds to cache the ticker index (company_tickers.json + company_tickers_mf.json). A failed fund-file load is retried after 60 seconds, or the rate-limit cool-down, instead of standing for this long.'),
30
30
  datasetTtlSeconds: z.coerce
31
31
  .number()
32
32
  .int()
@@ -1 +1 @@
1
- {"version":3,"file":"server-config.js","sourceRoot":"","sources":["../../src/config/server-config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAE/D,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,QAAQ,CAAC,2EAA2E,CAAC;IACxF,YAAY,EAAE,CAAC,CAAC,MAAM;SACnB,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,EAAE,CAAC;SACP,OAAO,CAAC,EAAE,CAAC;SACX,QAAQ,CAAC,iCAAiC,CAAC;IAC9C,wBAAwB,EAAE,CAAC,CAAC,MAAM;SAC/B,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CAAC,CAAC,CAAC;SACN,OAAO,CAAC,GAAG,CAAC;SACZ,QAAQ,CACP,wRAAwR,CACzR;IACH,cAAc,EAAE,CAAC,CAAC,MAAM;SACrB,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CAAC,EAAE,CAAC;SACP,OAAO,CAAC,IAAI,CAAC;SACb,QAAQ,CAAC,uCAAuC,CAAC;IACpD,iBAAiB,EAAE,CAAC,CAAC,MAAM;SACxB,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CAAC,EAAE,CAAC;SACP,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CACP,mMAAmM,CACpM;IACH,oBAAoB,EAAE,CAAC;SACpB,UAAU,EAAE;SACZ,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CACP,oNAAoN,CACrN;IACH,aAAa,EAAE,CAAC;SACb,UAAU,EAAE;SACZ,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CACP,4PAA4P,CAC7P;IACH,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,OAAO,CAAC,qBAAqB,CAAC;SAC9B,QAAQ,CACP,0GAA0G,CAC3G;IACH,iBAAiB,EAAE,CAAC;SACjB,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,2PAA2P,CAC5P;IACH,kBAAkB,EAAE,CAAC;SAClB,UAAU,EAAE;SACZ,OAAO,CAAC,IAAI,CAAC;SACb,QAAQ,CACP,kNAAkN,CACnN;CACJ,CAAC,CAAC;AAIH,IAAI,OAAiC,CAAC;AAEtC,MAAM,UAAU,eAAe;IAC7B,OAAO,KAAK,cAAc,CAAC,kBAAkB,EAAE;QAC7C,SAAS,EAAE,kBAAkB;QAC7B,YAAY,EAAE,sBAAsB;QACpC,wBAAwB,EAAE,mCAAmC;QAC7D,cAAc,EAAE,wBAAwB;QACxC,iBAAiB,EAAE,2BAA2B;QAC9C,oBAAoB,EAAE,8BAA8B;QACpD,aAAa,EAAE,sBAAsB;QACrC,UAAU,EAAE,mBAAmB;QAC/B,iBAAiB,EAAE,2BAA2B;QAC9C,kBAAkB,EAAE,4BAA4B;KACjD,CAAC,CAAC;IACH,OAAO,OAAO,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"server-config.js","sourceRoot":"","sources":["../../src/config/server-config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAE/D,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,QAAQ,CAAC,2EAA2E,CAAC;IACxF,YAAY,EAAE,CAAC,CAAC,MAAM;SACnB,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,EAAE,CAAC;SACP,OAAO,CAAC,EAAE,CAAC;SACX,QAAQ,CAAC,iCAAiC,CAAC;IAC9C,wBAAwB,EAAE,CAAC,CAAC,MAAM;SAC/B,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CAAC,CAAC,CAAC;SACN,OAAO,CAAC,GAAG,CAAC;SACZ,QAAQ,CACP,wRAAwR,CACzR;IACH,cAAc,EAAE,CAAC,CAAC,MAAM;SACrB,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CAAC,EAAE,CAAC;SACP,OAAO,CAAC,IAAI,CAAC;SACb,QAAQ,CACP,0MAA0M,CAC3M;IACH,iBAAiB,EAAE,CAAC,CAAC,MAAM;SACxB,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CAAC,EAAE,CAAC;SACP,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CACP,mMAAmM,CACpM;IACH,oBAAoB,EAAE,CAAC;SACpB,UAAU,EAAE;SACZ,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CACP,oNAAoN,CACrN;IACH,aAAa,EAAE,CAAC;SACb,UAAU,EAAE;SACZ,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CACP,4PAA4P,CAC7P;IACH,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,OAAO,CAAC,qBAAqB,CAAC;SAC9B,QAAQ,CACP,0GAA0G,CAC3G;IACH,iBAAiB,EAAE,CAAC;SACjB,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,2PAA2P,CAC5P;IACH,kBAAkB,EAAE,CAAC;SAClB,UAAU,EAAE;SACZ,OAAO,CAAC,IAAI,CAAC;SACb,QAAQ,CACP,kNAAkN,CACnN;CACJ,CAAC,CAAC;AAIH,IAAI,OAAiC,CAAC;AAEtC,MAAM,UAAU,eAAe;IAC7B,OAAO,KAAK,cAAc,CAAC,kBAAkB,EAAE;QAC7C,SAAS,EAAE,kBAAkB;QAC7B,YAAY,EAAE,sBAAsB;QACpC,wBAAwB,EAAE,mCAAmC;QAC7D,cAAc,EAAE,wBAAwB;QACxC,iBAAiB,EAAE,2BAA2B;QAC9C,oBAAoB,EAAE,8BAA8B;QACpD,aAAa,EAAE,sBAAsB;QACrC,UAAU,EAAE,mBAAmB;QAC/B,iBAAiB,EAAE,2BAA2B;QAC9C,kBAAkB,EAAE,4BAA4B;KACjD,CAAC,CAAC;IACH,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -23,7 +23,7 @@ export const companyAnalysisPrompt = prompt('secedgar_company_analysis', {
23
23
  const wantsBlockholders = /blockholder|activist|beneficial|13[\s-]?[dg]|stake|ownership/.test(focus);
24
24
  const steps = [
25
25
  '**Company Identification** — Use `secedgar_company_search` to resolve the company and review recent filings.',
26
- '**Financial Trends** — Use `secedgar_get_financials` to pull key metrics (revenue, net_income, eps_diluted, assets, debt, operating_cash_flow) and identify trends over the last 3-5 years.',
26
+ '**Financial Trends** — Use `secedgar_get_snapshot` for the latest value of every supported concept in one call, then `secedgar_get_financials` for the 3-5 year trend of the lines that matter most (for example revenue, net_income, eps_diluted, debt, operating_cash_flow).',
27
27
  '**Recent Filings Review** — Use `secedgar_get_filing` to read the most recent 10-K or 10-Q for qualitative insights (risk factors, MD&A, business overview).',
28
28
  '**Material Events** — Use `secedgar_get_material_events` to surface recent 8-K filings with their item codes decoded, narrowing to the events that matter (`items: ["1.01"]` for material agreements, `["2.02"]` for results, `["5.02"]` for officer changes, `["4.02"]` for non-reliance).',
29
29
  ];
@@ -36,7 +36,7 @@ export const companyAnalysisPrompt = prompt('secedgar_company_analysis', {
36
36
  if (wantsBlockholders) {
37
37
  steps.push("**Blockholders** — Use `secedgar_get_beneficial_owners` for the 5%-and-over stakes, reading each reporting person separately (percent of class is per person, so joint filers do not sum). A 13D carries the holder's stated purpose of the transaction; a 13G is the passive form and has none. Structured coverage starts 2024-12-18 — the response counts the earlier text filings, which `secedgar_search_filings` finds and `secedgar_get_filing` reads.");
38
38
  }
39
- steps.push('**Industry Context** — Use `secedgar_fetch_frames` to compare key metrics against peers.');
39
+ steps.push('**Industry Context** — Choose a few comparable companies and use `secedgar_compare_companies` with this company and those peers as `companies` (2-10 in all) and the key metrics as `concepts` (up to 8), aligned on calendar periods. To see where one metric ranks across every reporting company in a single period, use `secedgar_fetch_frames`.');
40
40
  const findings = [
41
41
  '- **Company Overview** — entity details, industry, fiscal year',
42
42
  '- **Financial Summary** — key metrics table with trends',
@@ -1 +1 @@
1
- {"version":3,"file":"company-analysis.prompt.js","sourceRoot":"","sources":["../../../../src/mcp-server/prompts/definitions/company-analysis.prompt.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAEnD,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAC,2BAA2B,EAAE;IACvE,WAAW,EAAE,mKAAmK;IAEhL,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;QACb,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wDAAwD,CAAC;QACtF,WAAW,EAAE,CAAC;aACX,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,8HAA8H,CAC/H;KACJ,CAAC;IAEF,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE;QACjB,oFAAoF;QACpF,qFAAqF;QACrF,sFAAsF;QACtF,kEAAkE;QAClE,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QACrD,MAAM,YAAY,GAAG,0CAA0C,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5E,MAAM,kBAAkB,GAAG,mCAAmC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3E,MAAM,iBAAiB,GAAG,8DAA8D,CAAC,IAAI,CAC3F,KAAK,CACN,CAAC;QAEF,MAAM,KAAK,GAAa;YACtB,8GAA8G;YAC9G,6LAA6L;YAC7L,8JAA8J;YAC9J,6RAA6R;SAC9R,CAAC;QACF,IAAI,YAAY,EAAE,CAAC;YACjB,KAAK,CAAC,IAAI,CACR,oVAAoV,CACrV,CAAC;QACJ,CAAC;QACD,IAAI,kBAAkB,EAAE,CAAC;YACvB,KAAK,CAAC,IAAI,CACR,kTAAkT,CACnT,CAAC;QACJ,CAAC;QACD,IAAI,iBAAiB,EAAE,CAAC;YACtB,KAAK,CAAC,IAAI,CACR,+bAA+b,CAChc,CAAC;QACJ,CAAC;QACD,KAAK,CAAC,IAAI,CACR,0FAA0F,CAC3F,CAAC;QAEF,MAAM,QAAQ,GAAa;YACzB,gEAAgE;YAChE,yDAAyD;YACzD,yDAAyD;YACzD,kEAAkE;SACnE,CAAC;QACF,IAAI,YAAY,IAAI,kBAAkB,IAAI,iBAAiB,EAAE,CAAC;YAC5D,QAAQ,CAAC,IAAI,CACX,gHAAgH,CACjH,CAAC;QACJ,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAC;QAClF,QAAQ,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAC;QAElF,OAAO;YACL;gBACE,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE;oBACP,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE;wBACJ,iCAAiC,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,qBAAqB,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG;wBACpH,EAAE;wBACF,kCAAkC;wBAClC,EAAE;wBACF,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;wBAC9C,EAAE;wBACF,sBAAsB;wBACtB,GAAG,QAAQ;qBACZ,CAAC,IAAI,CAAC,IAAI,CAAC;iBACb;aACF;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"company-analysis.prompt.js","sourceRoot":"","sources":["../../../../src/mcp-server/prompts/definitions/company-analysis.prompt.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAEnD,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAC,2BAA2B,EAAE;IACvE,WAAW,EAAE,mKAAmK;IAEhL,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;QACb,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wDAAwD,CAAC;QACtF,WAAW,EAAE,CAAC;aACX,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,8HAA8H,CAC/H;KACJ,CAAC;IAEF,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE;QACjB,oFAAoF;QACpF,qFAAqF;QACrF,sFAAsF;QACtF,kEAAkE;QAClE,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QACrD,MAAM,YAAY,GAAG,0CAA0C,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5E,MAAM,kBAAkB,GAAG,mCAAmC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3E,MAAM,iBAAiB,GAAG,8DAA8D,CAAC,IAAI,CAC3F,KAAK,CACN,CAAC;QAEF,MAAM,KAAK,GAAa;YACtB,8GAA8G;YAC9G,gRAAgR;YAChR,8JAA8J;YAC9J,6RAA6R;SAC9R,CAAC;QACF,IAAI,YAAY,EAAE,CAAC;YACjB,KAAK,CAAC,IAAI,CACR,oVAAoV,CACrV,CAAC;QACJ,CAAC;QACD,IAAI,kBAAkB,EAAE,CAAC;YACvB,KAAK,CAAC,IAAI,CACR,kTAAkT,CACnT,CAAC;QACJ,CAAC;QACD,IAAI,iBAAiB,EAAE,CAAC;YACtB,KAAK,CAAC,IAAI,CACR,+bAA+b,CAChc,CAAC;QACJ,CAAC;QACD,KAAK,CAAC,IAAI,CACR,sVAAsV,CACvV,CAAC;QAEF,MAAM,QAAQ,GAAa;YACzB,gEAAgE;YAChE,yDAAyD;YACzD,yDAAyD;YACzD,kEAAkE;SACnE,CAAC;QACF,IAAI,YAAY,IAAI,kBAAkB,IAAI,iBAAiB,EAAE,CAAC;YAC5D,QAAQ,CAAC,IAAI,CACX,gHAAgH,CACjH,CAAC;QACJ,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAC;QAClF,QAAQ,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAC;QAElF,OAAO;YACL;gBACE,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE;oBACP,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE;wBACJ,iCAAiC,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,qBAAqB,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG;wBACpH,EAAE;wBACF,kCAAkC;wBAClC,EAAE;wBACF,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;wBAC9C,EAAE;wBACF,sBAAsB;wBACtB,GAAG,QAAQ;qBACZ,CAAC,IAAI,CAAC,IAAI,CAAC;iBACb;aACF;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
@@ -1,6 +1,7 @@
1
1
  /**
2
2
  * @fileoverview Reference list of common XBRL financial concepts grouped by financial statement.
3
- * The "menu" an agent reads before calling secedgar_get_financials.
3
+ * The "menu" an agent reads before calling secedgar_get_financials, secedgar_compare_companies,
4
+ * or secedgar_fetch_frames — the three tools that take a friendly name as concept input.
4
5
  * @module mcp-server/resources/definitions/concepts
5
6
  */
6
7
  export declare const conceptsResource: import("@cyanheads/mcp-ts-core").ResourceDefinition<import("zod").ZodObject<Readonly<{
@@ -1 +1 @@
1
- {"version":3,"file":"concepts.resource.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/resources/definitions/concepts.resource.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAeH,eAAO,MAAM,gBAAgB;;wDA6D3B,CAAC"}
1
+ {"version":3,"file":"concepts.resource.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/resources/definitions/concepts.resource.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAeH,eAAO,MAAM,gBAAgB;;wDA6D3B,CAAC"}
@@ -1,6 +1,7 @@
1
1
  /**
2
2
  * @fileoverview Reference list of common XBRL financial concepts grouped by financial statement.
3
- * The "menu" an agent reads before calling secedgar_get_financials.
3
+ * The "menu" an agent reads before calling secedgar_get_financials, secedgar_compare_companies,
4
+ * or secedgar_fetch_frames — the three tools that take a friendly name as concept input.
4
5
  * @module mcp-server/resources/definitions/concepts
5
6
  */
6
7
  import { resource } from '@cyanheads/mcp-ts-core';
@@ -14,7 +15,7 @@ const GROUP_LABELS = {
14
15
  };
15
16
  export const conceptsResource = resource('secedgar://concepts', {
16
17
  name: 'XBRL Financial Concepts',
17
- description: 'Reference list of common XBRL financial concepts grouped by financial statement, mapping friendly names accepted by secedgar_get_financials and secedgar_fetch_frames to their XBRL tags.',
18
+ description: 'Reference list of common XBRL financial concepts grouped by financial statement, mapping friendly names accepted by secedgar_get_financials, secedgar_compare_companies, and secedgar_fetch_frames to their XBRL tags.',
18
19
  mimeType: 'text/markdown',
19
20
  handler(_params, _ctx) {
20
21
  const groups = new Map();
@@ -24,8 +25,8 @@ export const conceptsResource = resource('secedgar://concepts', {
24
25
  groups.set(entry.group, list);
25
26
  }
26
27
  const lines = ['# XBRL Financial Concepts', ''];
27
- lines.push('Use these friendly names with `secedgar_get_financials` and `secedgar_fetch_frames`.', '');
28
- lines.push('Raw XBRL tags are also accepted as an escape hatch for concepts not listed here.', '');
28
+ lines.push('Use these friendly names with `secedgar_get_financials`, `secedgar_compare_companies`, and `secedgar_fetch_frames`.', '');
29
+ lines.push('Raw XBRL tags (UpperCamelCase element names such as `NetIncomeLoss`) are also accepted as an escape hatch for concepts not listed here.', '');
29
30
  for (const [group, items] of groups) {
30
31
  if (items.length === 0)
31
32
  continue;
@@ -1 +1 @@
1
- {"version":3,"file":"concepts.resource.js","sourceRoot":"","sources":["../../../../src/mcp-server/resources/definitions/concepts.resource.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"concepts.resource.js","sourceRoot":"","sources":["../../../../src/mcp-server/resources/definitions/concepts.resource.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"company-search.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/company-search.tool.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAY,MAAM,+BAA+B,CAAC;AAsD3E,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqb5B,CAAC"}
1
+ {"version":3,"file":"company-search.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/company-search.tool.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAY,MAAM,+BAA+B,CAAC;AA2C3E,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgb5B,CAAC"}
@@ -6,14 +6,8 @@
6
6
  import { tool, z } from '@cyanheads/mcp-ts-core';
7
7
  import { JsonRpcErrorCode, McpError } from '@cyanheads/mcp-ts-core/errors';
8
8
  import { dataframeGuidance, getCanvasBridge, toDatasetField, } from '../../../services/canvas-bridge/canvas-bridge.js';
9
- import { getEdgarApiService, selectArchivePages, suggestCompanies, } from '../../../services/edgar/edgar-api-service.js';
10
- /**
11
- * Cap on submissions archive pages fetched in one call — bounds latency and the
12
- * rate-limited request budget for prolific multi-decade filers. Hitting the cap
13
- * sets the dataframe's `truncated` flag (#78). Most filers have 0–3 archive pages,
14
- * so the cap rarely binds.
15
- */
16
- const ARCHIVE_PAGE_SCAN_CAP = 10;
9
+ import { getEdgarApiService, suggestCompanies } from '../../../services/edgar/edgar-api-service.js';
10
+ import { SubmissionsArchiveWalk } from '../../../services/edgar/submissions-archive.js';
17
11
  /** Format SEC's MMDD fiscal year end string as MM-DD (e.g., "0926" → "09-26"). */
18
12
  function formatFiscalYearEnd(raw) {
19
13
  if (/^\d{4}$/.test(raw)) {
@@ -106,7 +100,7 @@ export const companySearchTool = tool('secedgar_company_search', {
106
100
  .describe('YYYY-MM-DD'),
107
101
  ])
108
102
  .optional()
109
- .describe("Only include filings filed on or after this date (YYYY-MM-DD). A date filter routes the scan into the older submissions archive pages, so it reaches filings that predate the ~1000-filing recent window (e.g. a company's 2005 10-K)."),
103
+ .describe("Only include filings filed on or after this date (YYYY-MM-DD). A date filter routes the scan into the older submissions archive pages, so it reaches filings that predate the recent window — the last year or 1,000 filings, whichever holds more (e.g. a company's 2005 10-K)."),
110
104
  filed_before: z
111
105
  .union([
112
106
  z.literal(''),
@@ -177,7 +171,7 @@ export const companySearchTool = tool('secedgar_company_search', {
177
171
  history_scanned_through: z
178
172
  .string()
179
173
  .optional()
180
- .describe('Oldest filing date reached by the scan (YYYY-MM-DD). Filings older than this were not examined: the recent window caps at ~1000 filings, and older filings live in archive pages fetched only when a date filter or an under-filled form filter requires them. Absent when no filings were scanned.'),
174
+ .describe('Oldest filing date reached by the scan (YYYY-MM-DD). Filings older than this were not examined: the recent window holds the last year or 1,000 filings, whichever is more, and older filings live in archive pages fetched only when a date filter or an under-filled form filter requires them. Absent when no filings were scanned.'),
181
175
  dataset: z
182
176
  .object({
183
177
  name: z
@@ -265,27 +259,18 @@ export const companySearchTool = tool('secedgar_company_search', {
265
259
  (!filedBefore || f.filing_date <= filedBefore);
266
260
  const recentRows = zipFilings(submissions.filings.recent);
267
261
  const recentMatched = recentRows.filter(matches);
268
- // Oldest date scanned so far — the recent window's tail (newest-first, so last).
269
- historyScannedThrough = recentRows.at(-1)?.filing_date;
270
262
  // Walk the older archive pages when the caller targets a date range (which may
271
263
  // predate the recent window) or when a form filter under-fills that window (#78).
272
- const files = submissions.filings.files;
273
264
  const underFill = Boolean(formTypes) && recentMatched.length < input.filing_limit;
274
265
  const bridge = getCanvasBridge();
275
266
  const archiveMatched = [];
276
- let scannedBeyondRecent = false;
277
- let archiveTruncated = false;
278
- if (files.length > 0 && (hasDateFilter || underFill)) {
279
- const pages = selectArchivePages(files, filedAfter, filedBefore);
280
- const pageLimit = Math.min(pages.length, ARCHIVE_PAGE_SCAN_CAP);
281
- archiveTruncated = pages.length > pageLimit;
282
- for (let i = 0; i < pageLimit; i++) {
283
- const page = pages[i];
284
- if (!page)
285
- break;
286
- const block = await api.fetchArchivePage(page.name);
287
- scannedBeyondRecent = true;
288
- historyScannedThrough = page.filingFrom;
267
+ const walk = new SubmissionsArchiveWalk(api, submissions, {
268
+ filedAfter,
269
+ filedBefore,
270
+ order: 'newest-first',
271
+ });
272
+ if (hasDateFilter || underFill) {
273
+ for await (const { block } of walk) {
289
274
  archiveMatched.push(...zipFilings(block).filter(matches));
290
275
  // Under-fill fallback with no canvas: stop once the inline limit is filled —
291
276
  // there is no dataframe to complete, so deeper pages aren't worth fetching.
@@ -297,6 +282,10 @@ export const companySearchTool = tool('secedgar_company_search', {
297
282
  }
298
283
  }
299
284
  }
285
+ const scannedBeyondRecent = walk.pagesRead > 0;
286
+ // Oldest date reached — the deepest archive page read, else the recent window's tail.
287
+ historyScannedThrough = walk.scannedThrough ?? recentRows.at(-1)?.filing_date;
288
+ const archiveTruncated = walk.truncated;
300
289
  const fullMatched = [...recentMatched, ...archiveMatched].sort((a, b) => b.filing_date.localeCompare(a.filing_date));
301
290
  totalFilings = fullMatched.length;
302
291
  filings = fullMatched.slice(0, input.filing_limit);
@@ -1 +1 @@
1
- {"version":3,"file":"company-search.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/company-search.tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"company-search.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/company-search.tool.ts"],"names":[],"mappings":"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"}
@@ -65,6 +65,11 @@ export declare const compareCompaniesTool: import("@cyanheads/mcp-ts-core").Tool
65
65
  concept: z.ZodString;
66
66
  tags_tried: z.ZodArray<z.ZodString>;
67
67
  }, z.core.$strip>>;
68
+ unknown_concepts: z.ZodArray<z.ZodObject<{
69
+ concept: z.ZodString;
70
+ derivation: z.ZodOptional<z.ZodString>;
71
+ suggestions: z.ZodArray<z.ZodString>;
72
+ }, z.core.$strip>>;
68
73
  caveats: z.ZodArray<z.ZodString>;
69
74
  dataset: z.ZodOptional<z.ZodObject<{
70
75
  name: z.ZodString;
@@ -81,6 +86,11 @@ export declare const compareCompaniesTool: import("@cyanheads/mcp-ts-core").Tool
81
86
  readonly code: JsonRpcErrorCode.NotFound;
82
87
  readonly when: "Companies resolved but not one of them reports any of the requested concepts for the requested period type";
83
88
  readonly recovery: "Switch period_type, or discover reported concept names with secedgar_search_concepts.";
89
+ }, {
90
+ readonly reason: "unknown_concept";
91
+ readonly code: JsonRpcErrorCode.NotFound;
92
+ readonly when: "Every requested concept is neither a supported friendly name nor shaped like an XBRL tag, so no request is sent";
93
+ readonly recovery: "Use a friendly name from secedgar_search_concepts or a valid raw XBRL tag.";
84
94
  }, {
85
95
  readonly reason: "rate_limited";
86
96
  readonly code: JsonRpcErrorCode.RateLimited;
@@ -1 +1 @@
1
- {"version":3,"file":"compare-companies.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/compare-companies.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAwEjE,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+hB/B,CAAC"}
1
+ {"version":3,"file":"compare-companies.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/compare-companies.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAkFjE,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsrB/B,CAAC"}