About edgaralert
edgaralert is an MCP server connecting clients to the EDGAR Alert API for SEC insider-trading signals, company data, and research. It maps tools directly to public API endpoints and limits write actions to a user’s own watchlists.
Key features
- 01Latest and searchable SEC alerts
- 02Alert price windows
- 03Company profiles and fundamentals
- 04Weekly insights and capital flows
- 05Manage personal ticker lists
Use cases
- 01Review insider-trading alerts for a company
- 02Research company profiles and fundamentals
- 03Track alert-related price windows
- 04Maintain a ticker watchlist through an MCP client
MCP support
The server connects MCP clients to the EDGAR Alert v1 API and exposes tools for alerts, company research, insights, and ticker lists. Two tools add or remove tickers from the user’s own lists; other API-backed tools are read-only.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
npx -y @edgaralert/mcp-serverEDGARALERT_API_KEYSecretYour EDGAR Alert API key (find it at edgaralert.com/account/api-keys).Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.
Tools
12Saved tool list · updated 3w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| days | integer | No | Optional lookback window in days. |
| side | enum | No | Filter by transaction direction. Omit or "ALL" returns both.BUY | SELL | ALL |
| limit | integer | No | Maximum number of alerts to return (1-200). |
| scope | enum | No | "watchlist" restricts to the user's default ticker list; "universe" (default) applies no restriction.watchlist | universe |
| planned | boolean | No | true = only planned/10b5-1/scheduled trades. false = only likely-discretionary trades. Omit for both. |
| minScore | integer | No | Minimum signal_score, inclusive. Defaults to 80 (high-confidence only). Pass 0 to see all alerts. |
Details
From the project READMEEDGAR Alert MCP Server
Connect Claude Desktop (or any MCP-compatible client) directly to your EDGAR Alert account. Ask live questions about SEC insider trading signals, Form 4 activity, 8-K officer/director changes, and company research context — without leaving your conversation.
Works on any paid EDGAR Alert plan. Most tools (latest alerts, search, company profiles, fundamentals, price windows) work on STARTER and PRO. One tool —
edgaralert_get_company_agent_context, the bundled AI research-context payload — requires Enterprise; on a lower plan it returns a clear upgrade message instead of failing silently. See Tools below for the full breakdown, and edgaralert.com/pricing to upgrade.
What this is (and isn't)
- A thin wrapper around the existing public
https://api.edgaralert.com/api/v1REST API. Every tool maps to exactly one v1 endpoint. - No direct database access. No scoring or signal logic is duplicated here — all of that lives in the API, same as it does for every other v1 API consumer.
- No billing, no account management, no trading. This server cannot place orders, change your subscription, or alter account settings.
- Two tools write, and only to your own watchlists.
edgaralert_add_ticker_to_listandedgaralert_remove_ticker_from_listPOST and DELETE against/ticker-lists. Everything else is a GET. - Your API key is yours — you provide it, it is sent only to
api.edgaralert.comas theX-API-Keyheader, and this server never writes it to disk or logs it.
Requirements
- Node.js 18.17 or later
- An EDGAR Alert API key on any paid plan (get one here) — STARTER and PRO both work for most tools; Enterprise unlocks all 8.
Install
Option A: One-click install via .mcpb (recommended for most users)
- Download
edgaralert-mcp.mcpbfrom the latest release. - Open Claude Desktop → Settings → Extensions → Advanced settings → Install Extension, and select the downloaded file (or just drag the file onto the Claude Desktop window).
- When prompted, paste your EDGAR Alert API key. Claude Desktop stores it securely in your OS keychain — this project never sees or stores it outside that prompt.
- Restart Claude Desktop if prompted.
Option B: Manual install via claude_desktop_config.json
-
Clone or download this folder (
mcp-server/) somewhere on your machine. -
Install dependencies and build:
cd mcp-server npm install npm run build -
Open your Claude Desktop config file:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
- macOS:
-
Add an entry under
mcpServers(see example below). -
Restart Claude Desktop.
Option C: Run locally for development
cd mcp-server
npm install
EDGARALERT_API_KEY=EA_your_key_here npm run dev
This runs the server on stdio using tsx, without a build step. Useful
when iterating on tool definitions.
Example Claude Desktop config
{
"mcpServers": {
"edgaralert": {
"command": "node",
"args": ["/absolute/path/to/mcp-server/dist/index.js"],
"env": {
"EDGARALERT_API_KEY": "EA_your_key_here"
}
}
}
}
Replace /absolute/path/to/mcp-server/dist/index.js with the real path on
your machine, and EA_your_key_here with your actual EDGAR Alert API key.
Never commit this file with a real key in it.
Environment variables
| Variable | Required | Default | Description |
|---|---|---|---|
EDGARALERT_API_KEY | Yes | — | Your EDGAR Alert v1 API key. Sent as X-API-Key on every request. |
EDGARALERT_BASE_URL | No | https://api.edgaralert.com/api/v1 | Override for staging/local development. Most users should not set this. |
Tools
Ten of the twelve tools are read-only; the two watchlist mutations are
marked write below. See docs/tools.md for full
input schemas, endpoint mappings, and error behavior.
| Tool | Endpoint | Min. plan |
|---|---|---|
edgaralert_get_latest_alerts | GET /alerts/latest | STARTER |
edgaralert_search_alerts | GET /alerts | PRO |
edgaralert_get_alert_price_window | GET /alerts/{id}/price-window | PRO |
edgaralert_search_companies | GET /companies/search | PRO |
edgaralert_get_company_profile | GET /companies/{tickerOrCik}/profile | All paid |
edgaralert_get_company_fundamentals | GET /companies/{tickerOrCik}/fundamentals | PRO |
edgaralert_get_company_agent_context | GET /companies/{tickerOrCik}/agent-context | ENTERPRISE |
edgaralert_get_weekly_insights | GET /insights/weekly (public) | None |
edgaralert_get_industry_capital_flow | GET /insights/capital-flow (public) | None |
edgaralert_get_ticker_lists | GET /ticker-lists | STARTER |
edgaralert_add_ticker_to_list | POST /ticker-lists/{listId}/items (write) | STARTER |
edgaralert_remove_ticker_from_list | DELETE /ticker-lists/{listId}/items/{ticker} (write) | STARTER |
"Min. plan" reflects what the underlying API enforces today — STARTER
and PRO keys can use 11 of 12 tools. Only
edgaralert_get_company_agent_context requires Enterprise; on a lower-tier
key it returns a clean 403 with an upgrade message (see below) rather than
failing silently or crashing. The two /insights/* tools are public and need
no plan at all.
Errors you might see
- "Your EDGAR Alert API key was rejected" — check
EDGARALERT_API_KEYis set and correct. - "This action requires a higher EDGAR Alert plan" — expected on
edgaralert_get_company_agent_contextfor STARTER/PRO keys; every other tool should work normally on those plans. If you see this on a different tool, double check your plan tier in the EDGAR Alert dashboard. - "rate or daily quota exceeded" — you've hit your plan's API limits. Wait, or check usage in your EDGAR Alert dashboard.
- "Could not reach the EDGAR Alert API" — a network/connectivity issue,
not an account issue. Run
node -e "fetch('https://api.edgaralert.com/api/v1/alerts/latest').then(r=>r.text()).then(console.log)"— you should see a JSON error like{"message":"Missing X-API-Key header."}(that's expected and means the API is reachable). If you get a DNS error (ENOTFOUND/ENODATA) or no response, the problem is local network/DNS, not this server or your account. - "Unexpected token '<', is not valid JSON" — the request reached a
server, but got back an HTML page instead of API data. This happens if
EDGARALERT_BASE_URLis ever pointed atedgaralert.comorwww.edgaralert.cominstead ofapi.edgaralert.com— the bare andwwwhosts serve the marketing website (an Azure Static Web App), not the API. The default in this package is already set toapi.edgaralert.com; if you see this error, check whetherEDGARALERT_BASE_URLhas been overridden somewhere in your config.
Security notes
- This server has no admin, billing, or order-management capability of any kind — those endpoints are not implemented here, by design.
- No secrets are hardcoded anywhere in this package. The only credential used is the one you supply via environment variable / Claude Desktop config.
- No data is cached or persisted to disk between tool calls.
- Network access is limited to
EDGARALERT_BASE_URL(defaults toapi.edgaralert.com) — no other outbound calls are made.
Development
npm run typecheck # type-check without emitting
npm run build # compile to dist/
npm run dev # run with tsx, no build step
To add a new tool: copy the pattern in src/tools/getWeeklyInsights.ts (for
a no-input tool) or src/tools/searchAlerts.ts (for a filtered tool),
register it in src/tools/index.ts, and only ever call api/v1/* or other
already-public endpoints. Do not add database clients, Stripe/order
clients, or any write-capable tool to this package.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.