@cyanheads/secedgar-mcp-server 0.15.11 → 0.15.12
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 +10 -9
- package/CLAUDE.md +10 -9
- package/Dockerfile +4 -4
- package/README.md +8 -8
- package/changelog/0.15.x/0.15.12.md +33 -0
- package/dist/mcp-server/prompts/definitions/company-analysis.prompt.js +1 -1
- package/dist/mcp-server/prompts/definitions/company-analysis.prompt.js.map +1 -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 +68 -19
- package/dist/mcp-server/tools/definitions/company-search.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/compare-companies.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/compare-companies.tool.js +124 -38
- package/dist/mcp-server/tools/definitions/compare-companies.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/dataframe-query.tool.d.ts +10 -4
- package/dist/mcp-server/tools/definitions/dataframe-query.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/dataframe-query.tool.js +11 -4
- package/dist/mcp-server/tools/definitions/dataframe-query.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/get-filing.tool.d.ts +2 -2
- package/dist/mcp-server/tools/definitions/get-filing.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/get-filing.tool.js +156 -34
- package/dist/mcp-server/tools/definitions/get-filing.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/get-financials.tool.d.ts +3 -3
- package/dist/mcp-server/tools/definitions/get-financials.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/get-financials.tool.js +102 -41
- package/dist/mcp-server/tools/definitions/get-financials.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/index.d.ts +13 -7
- package/dist/mcp-server/tools/definitions/index.d.ts.map +1 -1
- package/dist/services/canvas-bridge/canvas-bridge.d.ts +2 -2
- package/dist/services/canvas-bridge/canvas-bridge.js +2 -2
- package/dist/services/edgar/concept-series.d.ts +20 -8
- package/dist/services/edgar/concept-series.d.ts.map +1 -1
- package/dist/services/edgar/concept-series.js +70 -23
- package/dist/services/edgar/concept-series.js.map +1 -1
- package/dist/services/edgar/edgar-api-service.js +1 -1
- package/dist/services/edgar/edgar-api-service.js.map +1 -1
- package/dist/services/edgar/filing-to-text.d.ts +41 -6
- package/dist/services/edgar/filing-to-text.d.ts.map +1 -1
- package/dist/services/edgar/filing-to-text.js +415 -59
- package/dist/services/edgar/filing-to-text.js.map +1 -1
- package/package.json +7 -7
- package/server.json +4 -4
package/README.md
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
<div align="center">
|
|
2
2
|
<h1>@cyanheads/secedgar-mcp-server</h1>
|
|
3
|
-
<p><b>Query SEC EDGAR filings, XBRL financials, and company data
|
|
3
|
+
<p><b>Query SEC EDGAR filings, XBRL financials, and company data via MCP. STDIO or Streamable HTTP.</b>
|
|
4
4
|
<div>16 Tools (+1 opt-in) • 2 Resources • 1 Prompt</div>
|
|
5
5
|
</p>
|
|
6
6
|
</div>
|
|
7
7
|
|
|
8
8
|
<div align="center">
|
|
9
9
|
|
|
10
|
-
[](https://www.npmjs.com/package/@cyanheads/secedgar-mcp-server) [](./LICENSE) [](https://github.com/users/cyanheads/packages/container/package/secedgar-mcp-server) [](https://www.npmjs.com/package/@cyanheads/secedgar-mcp-server) [](./LICENSE) [](https://github.com/users/cyanheads/packages/container/package/secedgar-mcp-server) [](https://modelcontextprotocol.io/) [](https://www.typescriptlang.org/) [](https://bun.sh/)
|
|
11
11
|
|
|
12
12
|
</div>
|
|
13
13
|
|
|
@@ -47,7 +47,7 @@ SEC EDGAR filings, XBRL financials, and ownership data. No API key needed, only
|
|
|
47
47
|
| `secedgar_get_beneficial_owners` | 5%+ blockholders of an issuer from structured SCHEDULE 13D / 13G filings |
|
|
48
48
|
| `secedgar_get_fund_holdings` | ETF and mutual fund portfolio holdings from the quarterly NPORT-P report |
|
|
49
49
|
| `secedgar_fetch_frames` | One XBRL concept × one period across every reporting company |
|
|
50
|
-
| `secedgar_compare_companies` | Compare named companies across several concepts, aligned on calendar
|
|
50
|
+
| `secedgar_compare_companies` | Compare named companies across several concepts, aligned on fiscal years or calendar quarters |
|
|
51
51
|
| `secedgar_search_concepts` | Discover supported XBRL concept names or reverse-lookup a raw tag |
|
|
52
52
|
| `secedgar_dataframe_describe` | List canvas dataframes with provenance, TTL, and schema |
|
|
53
53
|
| `secedgar_dataframe_query` | Run a single-statement SELECT across dataframes |
|
|
@@ -72,7 +72,7 @@ SEC EDGAR filings, XBRL financials, and ownership data. No API key needed, only
|
|
|
72
72
|
|
|
73
73
|
### `secedgar_company_search` <sub>tool</sub>
|
|
74
74
|
|
|
75
|
-
- `query` takes a ticker (equities, ETFs, and mutual funds; `BRK-B` or `BRK.B`), a current or former company name (the corporate suffix can be left off: `Apple` finds Apple Inc.), or a CIK; `include_filings` (default on) adds up to `filing_limit` filings (
|
|
75
|
+
- `query` takes a ticker (equities, ETFs, and mutual funds; `BRK-B` or `BRK.B`), a current or former company name (the corporate suffix can be left off: `Apple` finds Apple Inc.), or a CIK; `include_filings` (default on) adds up to `filing_limit` filings (default 10; at most 50 inline, and a larger value up to 1000 is served at 50 with a notice naming where the rest are), filtered by exact `forms` match and `filed_after` / `filed_before`
|
|
76
76
|
- Returns SIC code, exchanges, fiscal year end, and state of incorporation, plus `series_id` / `class_id` for a fund ticker; fails as `no_match` (with near matches in `data.suggestions` when a name scores close enough) or `multiple_matches`
|
|
77
77
|
- A date filter or an under-filled form filter scans past the recent window (the last year or 1,000 filings, whichever holds more) into the archive, up to 10 archive pages, and `history_scanned_through` reports how far it reached
|
|
78
78
|
|
|
@@ -90,7 +90,7 @@ SEC EDGAR filings, XBRL financials, and ownership data. No API key needed, only
|
|
|
90
90
|
### `secedgar_get_filing` <sub>tool</sub>
|
|
91
91
|
|
|
92
92
|
- `accession_number` in dash or 18-digit form, optional `cik` to speed the lookup, `document` for an exhibit, `include_xbrl` for XBRL artifacts; `content_limit` 1,000–200,000 characters per page (default 50,000)
|
|
93
|
-
- Page with `offset` / `next_offset` until `content_truncated` is false, or jump with `section` (
|
|
93
|
+
- Page with `offset` / `next_offset` until `content_truncated` is false, or jump with `section` (matched against every detected heading, an exact heading first, then a line of the document such as a subheading the outline omits; `item 1` never lands on Items 10–16, nor `part i` on Part II); the first page of a truncated document carries an `outline` of up to 50 headings with offsets — every Item and Part heading kept when it is cut (bare table-of-contents copies of titled ones aside), and the notice says how many were detected — plain-text legacy filings included; when `section` lands on a document line rather than a detected heading, the notice says so
|
|
94
94
|
- `documents` splits the filing into primary, exhibits, and auxiliary; entries marked `binary` (scans, PDFs, archives) fail as `binary_document`, and a `section` miss returns `section_not_found` with the outline
|
|
95
95
|
- When the archive doesn't serve the primary document a filing's index names (common in 2000–2001 filings), the full submission `<accession>.txt` is read instead and the response notice says so
|
|
96
96
|
|
|
@@ -98,8 +98,8 @@ SEC EDGAR filings, XBRL financials, and ownership data. No API key needed, only
|
|
|
98
98
|
|
|
99
99
|
### `secedgar_get_financials` <sub>tool</sub>
|
|
100
100
|
|
|
101
|
-
- `company` (ticker or CIK) plus `concept` as a friendly name or raw XBRL tag; `taxonomy` `us-gaap` (default), `ifrs-full`, or `dei`; `period_type` `annual`, `quarterly`, or `all
|
|
102
|
-
- A deduplicated series, newest first, one value per calendar period with its source `form`, `filed` date, `accession_number`, and `tag`, all in one `unit` — by default the unit of the newest value, with any other units named in `caveats`; `tags_tried` names the tags walked, and an empty result fails as `no_concept_data
|
|
101
|
+
- `company` (ticker or CIK) plus `concept` as a friendly name or raw XBRL tag; `taxonomy` `us-gaap` (default), `ifrs-full`, or `dei`; `period_type` `annual`, `quarterly`, or `all` — `annual` reads an instant (balance-sheet) concept at the filer's fiscal-year ends, and when omitted it defaults to annual with the full series for instant concepts; `unit` picks one SEC unit key (`ZAR`, `USD`, `USD/EUR`) for a concept reported in several; `limit` 1–100 trims the inline series
|
|
102
|
+
- A deduplicated series, newest first, one value per calendar period with its source `form`, `filed` date, `accession_number`, and `tag`, all in one `unit` — by default the unit of the newest value, with any other units named in `caveats`; `tags_tried` names the tags walked, and an empty result fails as `no_concept_data` (naming the taxonomy to retry when another one carries the concept), `no_frame_data`, or `no_period_data` (`no_unit_data`, listing the reported units, for a `unit` the concept isn't reported in)
|
|
103
103
|
- A `concept` that is neither a friendly name nor an UpperCamelCase tag fails as `unknown_concept` before any SEC request, with a formula for standard combinations (`free_cash_flow`, `ebitda`, `working_capital`) or up to three closest friendly names
|
|
104
104
|
|
|
105
105
|
---
|
|
@@ -169,7 +169,7 @@ SEC EDGAR filings, XBRL financials, and ownership data. No API key needed, only
|
|
|
169
169
|
### `secedgar_compare_companies` <sub>tool</sub>
|
|
170
170
|
|
|
171
171
|
- 2–10 `companies` × 1–8 `concepts`; `taxonomy` `us-gaap` (default) or `ifrs-full`; `period_type` `annual` (default) or `quarterly`; `periods` 1–12 (default 4), trimmed further when the inline matrix gets too large
|
|
172
|
-
- `cells` align each value on a calendar `period` and keep its `frame`, `period_end`, and source `tag`; `failed_companies` (reason `not_found`, `ambiguous`, or `no_company_facts`) and `gaps` (no value in any period) report what's missing, and `caveats` flag differing period ends, unit mismatches between companies (each company reads one unit per concept), and, once per concept, the companies whose values all predate the inline window, each with its newest period
|
|
172
|
+
- `cells` align each value on a calendar `period` and keep its `frame`, `period_end`, and source `tag`; an annual matrix holds each company's fiscal year under the calendar-year key SEC frames it as, with balance-sheet values taken only at fiscal-year ends and placed beside the income lines of the year they close (interim and cover-date snapshots stay out, and a call left with nothing else fails `no_comparable_data` with a hint naming `period_type: "quarterly"`), while a quarterly matrix aligns snapshots on the calendar quarter they fall in; `failed_companies` (reason `not_found`, `ambiguous`, or `no_company_facts`) and `gaps` (no value in any period) report what's missing, and `caveats` flag differing period ends in any inline column, unit mismatches between companies (each company reads one unit per concept), and, once per concept, the companies whose values all predate the inline window, each with its newest period
|
|
173
173
|
- A concept that is neither a friendly name nor an UpperCamelCase tag is listed once in `unknown_concepts` with its hint, never as a gap per company; the call fails as `unknown_concept` only when every concept is one
|
|
174
174
|
|
|
175
175
|
---
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
---
|
|
2
|
+
summary: "compare_companies and get_financials read annual balance-sheet values at fiscal-year ends, get_filing finds more headings and sections, company_search serves filing_limit above 50, and dataframe_query rejects more SQL via mcp-ts-core 0.13.15."
|
|
3
|
+
breaking: false
|
|
4
|
+
security: false
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# 0.15.12 — 2026-10-14
|
|
8
|
+
|
|
9
|
+
## Changed
|
|
10
|
+
|
|
11
|
+
- **`secedgar_compare_companies` annual matrices** hold each company's fiscal year under the calendar-year key SEC frames it as, and take a balance-sheet value only on a fiscal-year end, beside the income lines of the year it closes. An annual call asking only for cover-date concepts (`shares_outstanding`) now fails `no_comparable_data` with a hint naming `period_type: "quarterly"`; it used to succeed, pairing interim snapshots with annual income lines. A company-concept pair left with only off-year-end snapshots is named in `caveats`, and the differing-period-ends caveat checks every inline column, not only the newest ([#171](https://github.com/cyanheads/secedgar-mcp-server/issues/171)).
|
|
12
|
+
- **`secedgar_get_financials` `period_type: "annual"`** on an instant concept returns the values dated on the filer's fiscal-year ends; a cover-date concept still fails `no_period_data`, with a hint naming the cause ([#167](https://github.com/cyanheads/secedgar-mcp-server/issues/167)).
|
|
13
|
+
- **`secedgar_get_filing` `section`** matches every detected heading, an exact heading (or its title after the Item/Part marker) first. With no heading match it lands on the document line equal to the value, else starting with it (`Liquidity and Capital Resources`), and the notice says so. A value ending in a roman numeral never runs on into a longer one: `part i` no longer lands on Part II ([#166](https://github.com/cyanheads/secedgar-mcp-server/issues/166), [#169](https://github.com/cyanheads/secedgar-mcp-server/issues/169)).
|
|
14
|
+
- **`secedgar_get_filing` `outline`** past 50 detected headings lists every Item and Part heading first (bare table-of-contents copies of titled ones dropped), then the earliest others; the notice gives the detected count ([#169](https://github.com/cyanheads/secedgar-mcp-server/issues/169)).
|
|
15
|
+
- **`secedgar_company_search` `filing_limit`** accepts up to 1000. The inline list holds 50, and a larger value is served at 50 with a notice naming the dataframe or the `secedgar_search_filings` call that reaches the rest ([#168](https://github.com/cyanheads/secedgar-mcp-server/issues/168)).
|
|
16
|
+
- **`secedgar_dataframe_query`** rejects engine-setting and SQL-from-string functions (`current_setting`, `query_table`) as `denied_function` and a file named as a table (`FROM 'data.csv'`) as `sql_read_only` (mcp-ts-core 0.13.15).
|
|
17
|
+
- **Fund-ticker load warning** carries `endpoint: "company_tickers_mf"` in place of the URL.
|
|
18
|
+
- **Package description** reads "via MCP. STDIO or Streamable HTTP." across the plugin manifests, `manifest.json`, `server.json`, and the image label; the image builds on `oven/bun` 1.4.3.
|
|
19
|
+
|
|
20
|
+
## Fixed
|
|
21
|
+
|
|
22
|
+
- **`secedgar_get_financials` `no_concept_data`** leads its hint with the taxonomy retry the filer's facts support (`Retry with taxonomy: "ifrs-full"`) ([#164](https://github.com/cyanheads/secedgar-mcp-server/issues/164)).
|
|
23
|
+
- **`secedgar_get_filing` current 8-K Item headings** (`Item 5.02`, `Item 9.01(d)`, a code abutting its title) reach the outline and `section` ([#165](https://github.com/cyanheads/secedgar-mcp-server/issues/165)).
|
|
24
|
+
- **`secedgar_get_filing` all-caps headings** admit digits, dashes, and apostrophes (`NOTE 10`, `MANAGEMENT’S DISCUSSION`) up to 140 characters; a longer all-caps line is a paragraph, not a heading, and a table-of-contents row that runs Items together is not one heading. A Part line may carry a title (`PART II — OTHER INFORMATION`), which takes the place of a bare table-of-contents `Part II` row, so `section: "part ii"` lands in the body ([#170](https://github.com/cyanheads/secedgar-mcp-server/issues/170)).
|
|
25
|
+
- **`secedgar_get_filing` heading numbers** — a table-of-contents `Page N` cell is stripped, and a number after a single space stays (`PROPOSAL NO. 1`, `PROPOSAL NO. 2` no longer merge) ([#172](https://github.com/cyanheads/secedgar-mcp-server/issues/172)).
|
|
26
|
+
|
|
27
|
+
## Dependencies
|
|
28
|
+
|
|
29
|
+
- `@cyanheads/mcp-ts-core` ^0.13.11 → ^0.13.15 (`@modelcontextprotocol/server` ^2.2.0 → ^2.3.1)
|
|
30
|
+
- `pino-pretty` ^13.1.3 → ^13.2.0
|
|
31
|
+
- `@types/node` ^26.6.3 → ^26.6.5
|
|
32
|
+
- `ignore` ^7.0.11 → ^7.0.12
|
|
33
|
+
- `bun` 1.4.2 → 1.4.3 (`packageManager`, Dockerfile)
|
|
@@ -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** — 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
|
|
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 fiscal years (or calendar quarters). 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,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,
|
|
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,yWAAyW,CAC1W,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 +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;
|
|
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;AAwE3E,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsd5B,CAAC"}
|
|
@@ -8,6 +8,28 @@ 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, suggestCompanies } from '../../../services/edgar/edgar-api-service.js';
|
|
10
10
|
import { SubmissionsArchiveWalk } from '../../../services/edgar/submissions-archive.js';
|
|
11
|
+
/** Most filings the inline list holds; a larger `filing_limit` is served at this (#168). */
|
|
12
|
+
const INLINE_FILING_CAP = 50;
|
|
13
|
+
/**
|
|
14
|
+
* Point a caller at the filings the inline list withheld when neither a dataframe nor a
|
|
15
|
+
* larger `filing_limit` can reach them: a `secedgar_search_filings` call over the same
|
|
16
|
+
* entity, forms, and dates, ending at the oldest filing shown (inclusive, so that day's
|
|
17
|
+
* shown filings repeat and none is skipped). That tool requires both date bounds and has
|
|
18
|
+
* no `company` key, so the call carries `cik:` scope and a lower bound even when the
|
|
19
|
+
* caller gave none. One call serves one window of up to 100 filings, so the notice says
|
|
20
|
+
* how to page on (#168).
|
|
21
|
+
*/
|
|
22
|
+
function searchFilingsRecipe(args) {
|
|
23
|
+
const call = {
|
|
24
|
+
query: `cik:${args.cik}`,
|
|
25
|
+
...(args.forms ? { forms: args.forms } : {}),
|
|
26
|
+
filed_after: args.filedAfter,
|
|
27
|
+
filed_before: args.filedBefore,
|
|
28
|
+
limit: 100,
|
|
29
|
+
};
|
|
30
|
+
const amendments = args.forms ? ', and its forms filter also matches amendments' : '';
|
|
31
|
+
return `The inline list holds at most ${INLINE_FILING_CAP}. Call secedgar_search_filings with ${JSON.stringify(call)} — it also returns the filings shown here from ${args.filedBefore}${amendments}. Each call returns up to ${call.limit} filings; for older ones, repeat it with filed_before moved to the oldest filing_date it returns.`;
|
|
32
|
+
}
|
|
11
33
|
/** Format SEC's MMDD fiscal year end string as MM-DD (e.g., "0926" → "09-26"). */
|
|
12
34
|
function formatFiscalYearEnd(raw) {
|
|
13
35
|
if (/^\d{4}$/.test(raw)) {
|
|
@@ -40,13 +62,13 @@ export const companySearchTool = tool('secedgar_company_search', {
|
|
|
40
62
|
notice: z
|
|
41
63
|
.string()
|
|
42
64
|
.optional()
|
|
43
|
-
.describe('Guidance when no filings matched the forms filter, or when
|
|
65
|
+
.describe('Guidance when no filings matched the forms filter, or when the inline list withheld some — naming the dataframe, a larger filing_limit, or a secedgar_search_filings call to page through the rest.'),
|
|
44
66
|
truncated: z
|
|
45
67
|
.boolean()
|
|
46
68
|
.optional()
|
|
47
|
-
.describe('True when more filings matched than
|
|
69
|
+
.describe('True when more filings matched than the inline list holds.'),
|
|
48
70
|
shown: z.number().optional().describe('Number of filings returned inline.'),
|
|
49
|
-
cap: z.number().optional().describe('The `filing_limit
|
|
71
|
+
cap: z.number().optional().describe('The inline limit applied: `filing_limit`, at most 50.'),
|
|
50
72
|
},
|
|
51
73
|
errors: [
|
|
52
74
|
{
|
|
@@ -88,9 +110,9 @@ export const companySearchTool = tool('secedgar_company_search', {
|
|
|
88
110
|
.number()
|
|
89
111
|
.int()
|
|
90
112
|
.min(1)
|
|
91
|
-
.max(
|
|
113
|
+
.max(1000)
|
|
92
114
|
.default(10)
|
|
93
|
-
.describe('Maximum number of filings to return in the inline list.'),
|
|
115
|
+
.describe('Maximum number of filings to return in the inline list. The list holds at most 50; a larger value returns 50, and the notice names where the rest are.'),
|
|
94
116
|
filed_after: z
|
|
95
117
|
.union([
|
|
96
118
|
z.literal(''),
|
|
@@ -175,7 +197,7 @@ export const companySearchTool = tool('secedgar_company_search', {
|
|
|
175
197
|
total_filings: z
|
|
176
198
|
.number()
|
|
177
199
|
.optional()
|
|
178
|
-
.describe('Filings matching the filter across everything scanned; can exceed
|
|
200
|
+
.describe('Filings matching the filter across everything scanned; can exceed the inline list.'),
|
|
179
201
|
history_scanned_through: z
|
|
180
202
|
.string()
|
|
181
203
|
.optional()
|
|
@@ -192,7 +214,7 @@ export const companySearchTool = tool('secedgar_company_search', {
|
|
|
192
214
|
.describe('True when the archive scan hit its page cap, so older matching filings exist beyond the dataframe.'),
|
|
193
215
|
})
|
|
194
216
|
.optional()
|
|
195
|
-
.describe('Dataframe of the full filtered history (recent window plus archive pages), staged only when the scan went past the recent window and the history exceeds filing_limit.'),
|
|
217
|
+
.describe('Dataframe of the full filtered history (recent window plus archive pages), staged only when the scan went past the recent window and the history exceeds the inline list (filing_limit, at most 50).'),
|
|
196
218
|
}),
|
|
197
219
|
async handler(input, ctx) {
|
|
198
220
|
const api = getEdgarApiService();
|
|
@@ -259,11 +281,16 @@ export const companySearchTool = tool('secedgar_company_search', {
|
|
|
259
281
|
let totalFilings;
|
|
260
282
|
let historyScannedThrough;
|
|
261
283
|
let dataset;
|
|
284
|
+
// Oldest filing date among every match — the lower edge of what `total_filings` counted.
|
|
285
|
+
let oldestMatched;
|
|
286
|
+
// Every read of the limit takes the applied value, so a call above the cap answers
|
|
287
|
+
// exactly as the same call at the cap does (#168).
|
|
288
|
+
const filingLimit = Math.min(input.filing_limit, INLINE_FILING_CAP);
|
|
289
|
+
const filedAfter = input.filed_after || undefined;
|
|
290
|
+
const filedBefore = input.filed_before || undefined;
|
|
291
|
+
const formTypes = input.forms?.length ? input.forms : undefined;
|
|
262
292
|
if (input.include_filings) {
|
|
263
|
-
const filedAfter = input.filed_after || undefined;
|
|
264
|
-
const filedBefore = input.filed_before || undefined;
|
|
265
293
|
const hasDateFilter = Boolean(filedAfter || filedBefore);
|
|
266
|
-
const formTypes = input.forms?.length ? input.forms : undefined;
|
|
267
294
|
const matches = (f) => (!formTypes || formTypes.some((ft) => f.form.toUpperCase() === ft.toUpperCase())) &&
|
|
268
295
|
(!filedAfter || f.filing_date >= filedAfter) &&
|
|
269
296
|
(!filedBefore || f.filing_date <= filedBefore);
|
|
@@ -271,7 +298,7 @@ export const companySearchTool = tool('secedgar_company_search', {
|
|
|
271
298
|
const recentMatched = recentRows.filter(matches);
|
|
272
299
|
// Walk the older archive pages when the caller targets a date range (which may
|
|
273
300
|
// predate the recent window) or when a form filter under-fills that window (#78).
|
|
274
|
-
const underFill = Boolean(formTypes) && recentMatched.length <
|
|
301
|
+
const underFill = Boolean(formTypes) && recentMatched.length < filingLimit;
|
|
275
302
|
const bridge = getCanvasBridge();
|
|
276
303
|
const archiveMatched = [];
|
|
277
304
|
const walk = new SubmissionsArchiveWalk(api, submissions, {
|
|
@@ -287,7 +314,7 @@ export const companySearchTool = tool('secedgar_company_search', {
|
|
|
287
314
|
// (With a canvas, the loop scans on to register the full filtered history.)
|
|
288
315
|
if (!hasDateFilter &&
|
|
289
316
|
!bridge &&
|
|
290
|
-
recentMatched.length + archiveMatched.length >=
|
|
317
|
+
recentMatched.length + archiveMatched.length >= filingLimit) {
|
|
291
318
|
break;
|
|
292
319
|
}
|
|
293
320
|
}
|
|
@@ -298,12 +325,13 @@ export const companySearchTool = tool('secedgar_company_search', {
|
|
|
298
325
|
const archiveTruncated = walk.truncated;
|
|
299
326
|
const fullMatched = [...recentMatched, ...archiveMatched].sort((a, b) => b.filing_date.localeCompare(a.filing_date));
|
|
300
327
|
totalFilings = fullMatched.length;
|
|
301
|
-
filings = fullMatched.slice(0,
|
|
328
|
+
filings = fullMatched.slice(0, filingLimit);
|
|
329
|
+
oldestMatched = fullMatched.at(-1)?.filing_date;
|
|
302
330
|
// Register the full filtered history to the canvas when the scan reached beyond
|
|
303
331
|
// the recent window and there is more than fits inline — a multi-decade history is
|
|
304
332
|
// SQL shape (filings by form by year). Mirror the ownership tools' preview +
|
|
305
|
-
// full-set pattern; the inline `filings` list stays capped at
|
|
306
|
-
if (bridge && scannedBeyondRecent && fullMatched.length >
|
|
333
|
+
// full-set pattern; the inline `filings` list stays capped at the applied limit.
|
|
334
|
+
if (bridge && scannedBeyondRecent && fullMatched.length > filingLimit) {
|
|
307
335
|
const registered = await bridge.registerDataframe(ctx, {
|
|
308
336
|
rows: fullMatched.map((f) => ({
|
|
309
337
|
accession_number: f.accession_number,
|
|
@@ -332,12 +360,33 @@ export const companySearchTool = tool('secedgar_company_search', {
|
|
|
332
360
|
else if (filings !== undefined &&
|
|
333
361
|
totalFilings !== undefined &&
|
|
334
362
|
totalFilings > filings.length) {
|
|
363
|
+
// The pointer only rides along when a dataframe was actually registered — it is
|
|
364
|
+
// not, for a history that never left the recent window (#104). Without one, a
|
|
365
|
+
// larger filing_limit reaches the rest only while they fit inline (#168).
|
|
366
|
+
let route;
|
|
367
|
+
if (dataset) {
|
|
368
|
+
route = dataframeGuidance(dataset);
|
|
369
|
+
}
|
|
370
|
+
else if (totalFilings <= INLINE_FILING_CAP) {
|
|
371
|
+
route = 'Raise filing_limit to see more inline.';
|
|
372
|
+
}
|
|
373
|
+
else {
|
|
374
|
+
// Reaching here means filings exist, so the scan reached some date. A manifest
|
|
375
|
+
// page can start a day after its own rows, so take the older of the two edges.
|
|
376
|
+
const scannedFrom = [historyScannedThrough, oldestMatched]
|
|
377
|
+
.filter((d) => d !== undefined)
|
|
378
|
+
.sort()[0];
|
|
379
|
+
route = searchFilingsRecipe({
|
|
380
|
+
cik: match.cik,
|
|
381
|
+
filedAfter: filedAfter ?? scannedFrom,
|
|
382
|
+
filedBefore: filings.at(-1).filing_date,
|
|
383
|
+
forms: formTypes,
|
|
384
|
+
});
|
|
385
|
+
}
|
|
335
386
|
ctx.enrich.truncated({
|
|
336
387
|
shown: filings.length,
|
|
337
|
-
cap:
|
|
338
|
-
|
|
339
|
-
// it is not, for a history that never left the recent window (#104).
|
|
340
|
-
guidance: `Showing ${filings.length} of ${totalFilings} matching filings. ${dataset ? dataframeGuidance(dataset) : 'Raise filing_limit to see more inline.'}`,
|
|
388
|
+
cap: filingLimit,
|
|
389
|
+
guidance: `Showing ${filings.length} of ${totalFilings} matching filings. ${route}`,
|
|
341
390
|
});
|
|
342
391
|
}
|
|
343
392
|
return {
|
|
@@ -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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"}
|
|
@@ -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;
|
|
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;AAsIjE,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4tB/B,CAAC"}
|