Secedgar MCP Server
Query SEC EDGAR filings, XBRL financials, and company data.
Connector by cyanheads · GitHub account verified by the MCP Registry
Install
Works with Claude Code, VS Code, Codex, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.
npx agentmarket install connector/cyanheads-secedgar-mcp-server
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Remote endpoint
https://secedgar.caseyjhand.com/mcpRemote (HTTP)
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.
- Tools
- 16 read · 0 write · 0 deleteRead-only
- Secrets
- None asked for
- Install scripts
- Not scanned yet
- Runs as
- Node.js package
Tools by what they do 16
From the running server's own tool list (tools/list) on Oct 25, 2026.
Read 16 · Look things up without changing anything.
secedgar_company_searchsecedgar_compare_companiessecedgar_dataframe_describesecedgar_dataframe_querysecedgar_fetch_framessecedgar_find_holderssecedgar_get_beneficial_ownerssecedgar_get_filingsecedgar_get_financialssecedgar_get_fund_holdingssecedgar_get_insider_transactionssecedgar_get_institutional_holdings
Show 4 more tools
secedgar_get_material_eventssecedgar_get_snapshotsecedgar_search_conceptssecedgar_search_filings
Secrets and settings it asks for
Other settings (environment variables or headers).
EDGAR_RATE_LIMIT_COOLDOWN_SECONDSEDGAR_USER_AGENTMCP_LOG_LEVEL
Network hosts it talks to 1
secedgar.caseyjhand.com· found in remote endpoint, install command
Tools (16)
As the server listed them on Oct 25, 2026. Descriptions are the server’s own words; hidden characters are shown as [U+…].
secedgar_company_searchSecedgar Company Searchread-onlyFind companies and retrieve entity info with optional recent filings. Entry point for most EDGAR workflows — resolves tickers, names, or CIKs to entity details, with accession numbers in the result feeding secedgar_get_filing for document content. When a date or form filter carries the scan past the recent submissions window, the full filtered filing history is also staged as df_<id> — inspect it with secedgar_dataframe_describe, then analyze it with secedgar_dataframe_query.
secedgar_compare_companiesSecedgar Compare Companiesread-onlyCompare 2-10 named companies across 1-8 XBRL concepts, aligned on fiscal years (annual) or calendar quarters (quarterly). This is the middle shape between secedgar_get_financials (one company, one concept, full history) and secedgar_fetch_frames (one concept, one period, every reporting company) — reach for it when the question names the companies. One companyfacts read per company, resolved through the same frame dedup and tag priority as secedgar_get_financials so the numbers agree. Balance-sheet and entity-info concepts are filed as point-in-time values: an annual matrix takes each company’…
secedgar_dataframe_describeSecedgar Dataframe Describeread-onlyList the dataframes (df_XXXXX_XXXXX) registered by the data-returning secedgar_* tools — any tool whose response carries a `dataset` handle stages its full result set here. Each entry surfaces source tool, query parameters, creation/expiry timestamps, row count, column schema, and whether the dataframe is truncated relative to the upstream source. Read the column schema here before writing SQL for secedgar_dataframe_query.
secedgar_dataframe_querySecedgar Dataframe Queryread-onlyRun a single-statement SELECT against the canvas dataframes registered by the data-returning secedgar_* tools — any tool whose response carries a `dataset` handle. Inspect a dataframe with secedgar_dataframe_describe first; its column schema is what the SQL has to match. Read-only: writes, DDL, DROP, COPY, PRAGMA, ATTACH, and external-file table functions are rejected. System catalogs (information_schema, pg_catalog, sqlite_master, duckdb_*) are denied — list dataframes via secedgar_dataframe_describe. Optional register_as chains the result as a new dataframe with a fresh TTL.
secedgar_fetch_framesSecedgar Fetch Framesread-onlyFetch SEC XBRL frames for one concept × one period across all reporting companies. Inline response returns a page of the ranked companies — start at the top or pass offset/next_offset to walk further down the ranking; the full frames response (all reporters) is materialized as df_<id> when a canvas is available — inspect it with secedgar_dataframe_describe, then analyze it with secedgar_dataframe_query. Accepts friendly names like "revenue" or "assets" (discover via secedgar_search_concepts) or raw XBRL tags. One call hits one XBRL tag — when a friendly name maps to multiple same-meaning tags,…
secedgar_find_holdersFind Holdersread-onlyFind which institutional managers reported holding an issuer, by searching 13F-HR information tables for one reporting quarter. This is the reverse direction of secedgar_get_institutional_holdings: that tool takes a manager and returns its portfolio, this one takes an issuer and returns its managers — pass a returned filer_cik plus the same quarter to read the actual position. Searching by cusip is the precise path, matching the identifier the information table itself carries; without it the issuer name is matched as a phrase against the filing text, which both over-matches (unrelated issuers …
secedgar_get_beneficial_ownersGet Beneficial Ownersread-onlyList the 5%-and-over beneficial owners of a public company, parsed from the structured SCHEDULE 13D and SCHEDULE 13G filings made about it. The input is the ISSUER — the company being held — which is the opposite direction from secedgar_get_institutional_holdings, where the input is the manager. 13D is the activist form and carries the filer's stated purpose of the transaction; 13G is the passive form and has no purpose field at all, which is the substantive difference between a stake that intends to influence control and one that does not. Every filing is returned with each reporting person l…
secedgar_get_filingSecedgar Get Filingread-onlyFetch a specific filing's metadata and document content by accession number. Returns the primary document as readable text. Use offset/next_offset for multi-page access to large filings (10-K, S-1 can exceed 1M chars): pass the next_offset from a truncated response as offset, without section, to read the next page. Use section to jump directly to a heading (e.g. 'risk factors', 'item 7') without needing an offset.
secedgar_get_financialsSecedgar Get Financialsread-onlyGet historical XBRL financial data for a company. Accepts friendly concept names (e.g., "revenue", "net_income", "assets") or raw XBRL tags. Discover available friendly names with secedgar_search_concepts. Handles historical tag changes and deduplicates data automatically. The full series is also staged as df_<id> when a canvas is available — inspect it with secedgar_dataframe_describe, then analyze it with secedgar_dataframe_query.
secedgar_get_fund_holdingsGet Fund Holdingsread-onlyList what an ETF or mutual fund holds, parsed from the NPORT-P portfolio report it files with the SEC every quarter. The input is the fund — a ticker like VOO, a fund series ID, or the registrant trust — which is the opposite direction from the ownership tools: secedgar_get_institutional_holdings and secedgar_find_holders answer who owns a company, this answers what a fund owns. Each position carries the security name, CUSIP/ISIN/LEI where the filer reports them, share balance, market value in USD, and percent of the fund's net assets, alongside fund-level net assets and total assets. Position…
secedgar_get_insider_transactionsGet Insider Transactionsread-onlyFetch Form 4 insider transactions (purchases, sales, grants, exercises) for a company by parsing SEC EDGAR ownership XML. Returns the reporting person, their relationship to the issuer, transaction date, type, shares traded (absolute magnitude), direction (acquire/dispose), price per share, and shares owned after the transaction. Covers nonDerivative transactions (open-market buys/sells, gifts) and derivative transactions (option exercises, RSU vests). Without a date window it reads the newest Form 4 filings; filed_after / filed_before read any period since mid-2003, reaching past the recent s…
secedgar_get_institutional_holdingsGet Institutional Holdingsread-onlyRead 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.…
secedgar_get_material_eventsGet Material Eventsread-onlyRetrieve a company's 8-K filings with their item codes decoded, optionally filtered to specific items. 8-K item codes are how material events are actually scoped — 1.01 material agreements, 2.02 results of operations, 4.02 non-reliance on previously issued financials, 5.02 officer and director departures — and filtering by them is narrower than any form-level filter in secedgar_search_filings or secedgar_company_search, neither of which can see items. Each row carries the accession number and primary document for secedgar_get_filing; press releases usually ride as EX-99 exhibits rather than in…
secedgar_get_snapshotSecedgar Get Snapshotread-onlyBuild a company financial profile in one call: the latest value of every supported XBRL concept, grouped by statement. Reads the filer's complete companyfacts payload once rather than one request per concept, so it replaces a run of secedgar_get_financials calls when the question is "what do this company's financials look like right now". Values use the same frame dedup and tag priority as secedgar_get_financials, so the two agree for any concept they both cover. Duration concepts (income statement, cash flow, per-share) report their latest full year and latest single quarter; balance-sheet an…
secedgar_search_conceptsSecedgar Search Conceptsread-onlySearch supported XBRL financial concepts by keyword, statement group, or taxonomy. Use before secedgar_get_financials, secedgar_compare_companies, or secedgar_fetch_frames to discover the right friendly name, or pass a raw XBRL tag (e.g., "NetIncomeLoss") to reverse-lookup which friendly names map to it. Empty search with no filters returns the full catalog.
Show 1 more tools
secedgar_search_filingsSecedgar Search Filingsread-onlySearch EDGAR filings since 1993. Full-text search covers 2001-present (the EFTS index floor); pre-2001 date ranges (to 1993) are served from the archives by form and entity/date. Pre-2001 free text needs entity scope (ticker:/cik:) — with it, the tool reads the entity's matching filings and matches the terms locally, which costs a few seconds (SEC's request rate caps the scan at roughly 5s for the 50-document maximum). A range crossing 2001-01-01 is split at the boundary and the two eras merged, each row tagged with its source. Supports exact phrases, boolean operators, wildcards, and entity t…
Signals
- Stars
- 11
- Forks
- 4
- Open issues
- 2
- Weekly downloads
- 353
- Last commit
- Oct 23, 2026 (5 days ago)
- Last release
- Oct 26, 2026 (3 days ago)
- Last package publish
- Oct 23, 2026 (5 days ago)
From GitHub (fetched Oct 24, 2026) and the package registry.
Details
- Registry name
io.github.cyanheads/secedgar-mcp-server- Version
- 0.17.0
- Auth
- Auth not stated
- Packages
- npm @cyanheads/secedgar-mcp-servernpm @cyanheads/secedgar-mcp-server
- License
- Apache-2.0
- Repository
- github.com/cyanheads/secedgar-mcp-server
- First seen
- Oct 24, 2026
- Last checked
- Oct 26, 2026
More from cyanheads
- 0.655score
MCP Ts Template
cyanheads
TypeScript template for building MCP servers with declarative tooling, observability, and auth.
ConnectorAFreshness: ARemoteLocalRead-only★ 152Claude Code +5 - 0.625score
Git MCP Server
cyanheads
Comprehensive Git MCP server enabling native git tools including clone, commit, worktree, & more.
ConnectorBFreshness: BRemoteLocal★ 242↓ 1.6K/wkClaude Code +5 - 0.618score
Obsidian MCP Server
cyanheads
Read, write, search, and surgically edit Obsidian notes, tags, and frontmatter.
ConnectorAFreshness: ARemoteLocal★ 701Claude Code +5 - 0.597score
PubMed MCP Server
cyanheads
Search PubMed/Europe PMC, fetch articles and full text (PMC/EPMC/Unpaywall), citations, MeSH terms.
ConnectorAFreshness: ARemoteLocalRead-only★ 162↓ 1.6K/wkClaude Code +5 - 0.545score
Ntfy MCP Server
cyanheads
Send, manage, and replay ntfy push notifications.
ConnectorAFreshness: ARemoteLocal★ 23Claude Code +5 - 0.542score
Brapi MCP Server
cyanheads
Collaborative BrAPI v2.1 MCP workspace: studies, germplasm, genotypes across Breedbase, T3, more.
ConnectorAFreshness: ARemoteLocal★ 4↓ 660/wkClaude Code +5
Cite this page
Secedgar MCP Server. Agent Mart. https://agentmart.dev/connectors/cyanheads-secedgar-mcp-server (last updated 2026-10-26)