VOOZH about

URL: https://apify.com/toolstem/toolstem-sec-mcp-server

โ‡ฑ SEC EDGAR MCP Server โ€” Insider Trades, 8-K & 13F ยท Apify


๐Ÿ‘ SEC EDGAR MCP Server โ€” Insider Trades, 8-K & 13F avatar

SEC EDGAR MCP Server โ€” Insider Trades, 8-K & 13F

Pricing

from $5.00 / 1,000 sec edgar queries

Go to Apify Store

SEC EDGAR MCP Server โ€” Insider Trades, 8-K & 13F

Insider trading signals, 8-K severity alerts & 13F holdings from SEC EDGAR for AI agents. No API key required.

Pricing

from $5.00 / 1,000 sec edgar queries

Rating

0.0

(0)

Developer

๐Ÿ‘ Toolstem

Toolstem

Maintained by Community

Actor stats

0

Bookmarked

4

Total users

2

Monthly active users

3 days ago

Last modified

Share

SEC EDGAR MCP Server โ€” Insider Signals, 13D Activist Risk & Filing Intelligence

SEC EDGAR intelligence for AI agents. Five composite tools that pre-compute high-value signals directly from SEC EDGAR's public submissions API, returned as structured JSON.

No SEC API key required. Data is sourced directly from SEC EDGAR's public submissions API. A built-in sliding-window rate limiter keeps traffic under SEC's 10 rps fair-access ceiling automatically.


Quickstart โ€” hosted endpoint (recommended)

Point your MCP client or agent at the hosted endpoint. No API key, no infra, no setup. Billing is per-call via x402 โ€” the agent's wallet pays directly in USDC on Base mainnet.

https://mcp.toolstem.com/mcp/sec
  • No SEC API key, no signup, no marketplace account โ€” the agent's wallet pays directly.
  • No infrastructure โ€” nothing to install, host, or keep running.
  • No setup โ€” connect an MCP client and call a tool.
  • initialize and tools/list are free (discovery and schema introspection).
  • tools/call is tiered per tool (see Pricing below).

Claude Desktop

Drop this into your claude_desktop_config.json:

{
"mcpServers":{
"toolstem-sec":{
"command":"npx",
"args":[
"-y",
"mcp-remote",
"https://mcp.toolstem.com/mcp/sec"
]
}
}
}

Restart Claude Desktop, then ask: "Has TSLA disclosed any material 8-K events in the last 90 days?"

Any MCP client (LangChain.js)

The official @langchain/mcp-adapters library connects directly to the hosted URL:

import{ MultiServerMCPClient }from"@langchain/mcp-adapters";
import{ ChatOpenAI }from"@langchain/openai";
import{ createReactAgent }from"@langchain/langgraph/prebuilt";
const client =newMultiServerMCPClient({
toolstem_sec:{
transport:"http",
url:"https://mcp.toolstem.com/mcp/sec",
// Add your x402-signing middleware via headers, OR run an x402
// proxy locally and point url at it. See https://www.x402.org/clients.
},
});
const tools =await client.getTools();
const agent =createReactAgent({ llm:newChatOpenAI({ model:"gpt-4o-mini"}), tools });
await agent.invoke({ messages:"Has TSLA disclosed any material 8-K events in the last 90 days?"});

Prefer to run the server yourself over stdio/HTTP? See Advanced: self-host at the bottom.


Pricing

  • MCP initialize and tools/list are free โ€” discover the server and its tool surface without paying anything.
  • tools/call is tiered per tool, paid in USDC on Base mainnet via x402. No API key, no signup, no marketplace account โ€” agents pay directly from their own wallet.
TierPrice per callTools
Cheap$0.005get_company_filings_summary
Standard$0.05get_insider_signal, get_institutional_signal
Premium$0.50get_material_events_digest, compare_disclosure_signals

See the live pricing page on toolstem.com/sec/ for current rates.


The five tools

All five tools are composite/curated (they compute derived signals or aggregate across multiple EDGAR endpoints โ€” no raw passthroughs). Annotations: readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: true.

#ToolRequired inputOptional input (default)Tier (price/call)
1get_company_filings_summaryticker_or_cik (string)โ€”Cheap ($0.005)
2get_insider_signalticker_or_cik (string)lookback_days (int 1โ€“730, default 90)Standard ($0.05)
3get_institutional_signalticker_or_cik (string)quarters_back (int 1โ€“20, default 4)Standard ($0.05)
4get_material_events_digestticker_or_cik (string)lookback_days (int 1โ€“1825, default 365)Premium ($0.50)
5compare_disclosure_signalstickers_or_ciks (string[2..5])โ€”Premium ($0.50)

1. get_company_filings_summary

Overview of a company's filing activity: last 20 filings + computed signals.

SignalDescription
filing_velocityACCELERATING / NORMAL / SLOWING vs. trailing 365-day average
material_event_count_90dCount of 8-K filings in the last 90 days
disclosure_volume_trendRISING / STABLE / FALLING based on 10-K size comparison
latest_form_typesUnique form types filed in the last 90 days

Example output (abbreviated):

{
"ticker":"AAPL",
"cik":"0000320193",
"company_name":"Apple Inc.",
"signals":{
"filing_velocity":"NORMAL",
"material_event_count_90d":4,
"disclosure_volume_trend":"RISING",
"latest_form_types":["8-K","4","DEF 14A"]
},
"meta":{"source":"sec_edgar_direct","data_delay":"live"}
}

2. get_insider_signal

Probes Form 3 / 4 / 4/A insider filing activity within a configurable lookback window. Required: ticker_or_cik. Optional: lookback_days (1โ€“730, default 90).

Returns: recent_insider_filings[] (accession numbers + SEC URLs), net_transaction_count, buy_count, sell_count, and insider_signal.

v0.1 limitation โ€” counts only. v0.1 returns counts and Form 4 references only; direction-aware buy/sell signals ship in v0.2 (Form 4 XML parsing). Today, insider_signal is null when filings exist in the window (direction unknown) and "NEUTRAL" when no insider filings exist (verified absence). buy_count / sell_count are 0 in v0.1.

Example output (abbreviated):

{
"ticker":"MSFT",
"cik":"0000789019",
"company_name":"MICROSOFT CORP",
"lookback_days":90,
"insider_signal":null,
"net_transaction_count":0,
"buy_count":0,
"sell_count":0,
"recent_insider_filings":[
{
"accession_number":"0001127602-26-001234",
"filing_date":"2026-04-15",
"sec_url":"https://www.sec.gov/Archives/edgar/data/789019/000112760226001234/0001127602-26-001234-index.htm"
}
],
"meta":{"source":"sec_edgar_direct","data_delay":"live"}
}

3. get_institutional_signal

Probes for activist investor activity via SC 13D / 13D/A filings. Required: ticker_or_cik. Optional: quarters_back (1โ€“20, default 4 โ‰ˆ 1 year).

FieldDescription
activist_risk_flagtrue if any SC 13D or 13D/A was filed in the last 365 days
recent_13d_filingsList of 13D filings with form type, date, and SEC URL

v0.1 limitation โ€” activist flag only. v0.1 ships the live activist_risk_flag (from 13D/13D-A) and a list of 13D filings. Quarterly 13F XBRL parsing โ€” which produces institutional_signal (ACCUMULATING / HOLDING / DISTRIBUTING) and recent_13f_count โ€” ships in v0.2. Today those two fields are null / 0.

Example output (abbreviated):

{
"ticker":"NVDA",
"cik":"0001045810",
"company_name":"NVIDIA CORP",
"quarters_back":4,
"institutional_signal":null,
"recent_13f_count":0,
"activist_risk_flag":false,
"recent_13d_filings":[],
"meta":{"source":"sec_edgar_direct","data_delay":"live"}
}

4. get_material_events_digest โšก Premium tier

Premium tier โ€” $0.50 USDC per call on Base mainnet, settled via x402. See the live pricing page on toolstem.com/sec/ for current rates.

Severity-ranked digest of all 8-K and 8-K/A filings within a configurable lookback window. Each item code is mapped to a plain-English label and severity rating. Required: ticker_or_cik. Optional: lookback_days (1โ€“1825, default 365).

SeverityExamples
๐Ÿ”ด REDCybersecurity incident (1.05), restatement (4.02), bankruptcy (1.03), delisting (3.01)
๐ŸŸก YELLOWAcquisition (2.01), new debt (2.03), executive departure (5.02)
๐ŸŸข GREENEarnings release (2.02), Reg FD (7.01), shareholder vote (5.07)

Returns: events[] (sorted newest-first), redflag_count, category_counts.

Example output (abbreviated):

{
"ticker":"TSLA",
"cik":"0001318605",
"company_name":"Tesla, Inc.",
"lookback_days":180,
"redflag_count":1,
"category_counts":{"RED":1,"YELLOW":3,"GREEN":7},
"events":[
{
"accession_number":"0001628280-26-005678",
"filing_date":"2026-04-10",
"form":"8-K",
"items":[
{"code":"4.02","label":"Non-Reliance on Previously Issued Financial Statements","category":"financial","severity":"RED"}
],
"sec_url":"https://www.sec.gov/Archives/edgar/data/1318605/000162828026005678/0001628280-26-005678-index.htm"
}
],
"meta":{"source":"sec_edgar_direct","data_delay":"live"}
}

5. compare_disclosure_signals

Side-by-side comparison of 2โ€“5 companies across all key disclosure signals. Required: tickers_or_ciks (string[2..5]). All lookups run in parallel.

Returns per-company: filing_velocity, material_event_count_90d, redflag_count_365d, activist_risk_flag, last_filing_date.

Returns winners (as CIKs, not tickers โ€” cross-reference with the companies[] array): quietest_disclosure, most_active, most_redflags, activist_targets.

Example output (abbreviated):

{
"companies":[
{
"ticker":"AAPL",
"cik":"0000320193",
"filing_velocity":"NORMAL",
"material_event_count_90d":4,
"redflag_count_365d":0,
"activist_risk_flag":false,
"last_filing_date":"2026-04-25"
},
{
"ticker":"MSFT",
"cik":"0000789019",
"filing_velocity":"ACCELERATING",
"material_event_count_90d":7,
"redflag_count_365d":0,
"activist_risk_flag":false,
"last_filing_date":"2026-04-26"
}
],
"winners":{
"quietest_disclosure":"0000320193",
"most_active":"0000789019",
"most_redflags":null,
"activist_targets":[]
},
"meta":{"source":"sec_edgar_direct","data_delay":"live"}
}

Advanced: self-host

Most users should use the hosted endpoint above โ€” it needs no API key, no infrastructure, and no setup. This section is for users who specifically want to run the server themselves. When self-hosting you are responsible for running the process and for supplying an EDGAR fair-access contact (SEC_USER_AGENT_CONTACT).

Claude Desktop (self-hosted over stdio)

Run locally over stdio โ€” no x402 charges, you bring your own EDGAR fair-access contact:

{
"mcpServers":{
"toolstem-sec":{
"command":"npx",
"args":["-y","toolstem-sec-mcp-server"],
"env":{
"SEC_USER_AGENT_CONTACT":"you@yourorg.com"
}
}
}
}

npm (MCP stdio transport)

npminstall-g toolstem-sec-mcp-server
toolstem-sec-mcp-server

Self-hosted HTTP

Three modes:

Local-only (default โ€” safest):

toolstem-sec-mcp-server --http
# Binds 127.0.0.1:3000 โ€” reachable only from this machine

Remote with auth:

ALLOW_REMOTE=1MCP_AUTH_TOKEN=my-secret toolstem-sec-mcp-server --http
# Binds 0.0.0.0:3000 โ€” requires Bearer token on every /mcp request

Remote without auth (use at your own risk):

ALLOW_REMOTE=1MCP_AUTH_DISABLED=1 toolstem-sec-mcp-server --http
# Binds 0.0.0.0:3000 โ€” no authentication
VariableDescription
PORTHTTP port (default 3000)
ALLOW_REMOTESet to 1 to bind 0.0.0.0 instead of 127.0.0.1
MCP_AUTH_TOKENBearer token for /mcp routes (required when ALLOW_REMOTE=1)
MCP_AUTH_DISABLEDSet to 1 to skip auth even with ALLOW_REMOTE=1 (not recommended)
SEC_USER_AGENT_CONTACTContact email for SEC EDGAR User-Agent header

SEC EDGAR fair-access policy

All outbound traffic goes through a shared sliding-window rate limiter (8 rps target, 4 rps safety margin below SEC's 10 rps hard cap). Every request includes a User-Agent header identifying the package and a contact email per SEC policy. Override the contact email via:

$SEC_USER_AGENT_CONTACT=you@yourorg.com toolstem-sec-mcp-server

Violating SEC's fair-access policy can result in your IP being blocked. This server is designed to stay compliant automatically.


v0.2 roadmap

  • Form 4 XML parsing โ€” direction-aware insider signals (STRONG_BUYING / BUYING / NEUTRAL / SELLING / STRONG_SELLING) with net share counts
  • 13F XBRL parsing โ€” quarterly institutional flow signals (ACCUMULATING / HOLDING / DISTRIBUTING) with institution count
  • 8-K text extraction โ€” natural-language summaries of each material event from the filing's primary HTML document

License & author

MIT License โ€” see ./LICENSE.

Built by Toolstem. Data sourced directly from SEC EDGAR.

You might also like

SEC EDGAR Filings Scraper

crawlerbros/sec-edgar-scraper

Scrape SEC EDGAR filings (10-K, 10-Q, 8-K, Form 4 insider trades, 13F holdings) for any US public company. HTTP-only via the SEC's public API. No login, no proxy, no auth.

4

4.0

SEC EDGAR Filing Extractor - 10-K, 10-Q, 8-K & Insider Trades

george.the.developer/sec-edgar-filing-extractor

Extract SEC filings, financial data, insider trades from EDGAR. Search by company, CIK, ticker, or filing type.

SEC EDGAR Scraper

constructive_calm/sec-edgar-scraper

Fetches SEC EDGAR filings, normalized financial statements, XBRL facts, insider trades (Form 4), institutional holdings (13F), activist stakes (13D/G), full-text search hits, and parsed 8-K items via official SEC APIs. Zero anti-bot. Optional AI summaries.

30

5.0

Sec Edgar Fast

canadesk/sec-edgar-fast

Extract financial facts, filings and insider trading data directly from SEC EDGAR.

๐Ÿ‘ User avatar

Canadesk Support

2

MCP Server: SEC EDGAR (US Public Companies + 10-K, insider)

dltik/mcp-server-sec-edgar

Apify MCP server for AI agents: 6 tools to query SEC EDGAR. Search companies, get filings (10-K, 10-Q, 8-K, Form 4 insider), XBRL financials, full-text search. 10K+ public companies, free official data. $0.01/call.

SEC EDGAR API - Company Filings & Financial Data

alizarin_refrigerator-owner/sec-edgar-api---company-filings-financial-data

Access SEC EDGAR for company filings, financial statements, and regulatory disclosures. Get 10-K annual reports, 10-Q quarterly reports, 8-K current reports, insider trading (Form 4), and institutional holdings (13F).

SEC EDGAR Scraper โ€” 10-K, 8-K, Form 4 & 13F

khadinakbar/sec-edgar-all-in-one-scraper

Scrape SEC EDGAR โ€” 10-K, 10-Q, 8-K, Form 4 insiders, 13F holdings, 13D/G stakes, DEF 14A, Form D, XBRL facts, full-text search. 9 modes auto-detected from ticker/CIK/accession/URL/keyword. MCP-ready, free official SEC API. $0.005/result.