SEC insider trading alerts, Form 4 signals, 8-K events, and company research via EDGAR Alert API.
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.
https://api.edgaralert.com/api/v1 REST API. Every tool maps to exactly
one v1 endpoint.edgaralert_add_ticker_to_list and edgaralert_remove_ticker_from_list
POST and DELETE against /ticker-lists. Everything else is a GET.api.edgaralert.com as the X-API-Key header, and this server never
writes it to disk or logs it..mcpb (recommended for most users)edgaralert-mcp.mcpb from the
latest release.claude_desktop_config.jsonClone 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:
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.jsonAdd an entry under mcpServers (see example below).
Restart Claude Desktop.
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.
{
"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.
| 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. |
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.
EDGARALERT_API_KEY
is set and correct.edgaralert_get_company_agent_context for 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.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.EDGARALERT_BASE_URL is ever pointed at edgaralert.com or
www.edgaralert.com instead of api.edgaralert.com — the bare and
www hosts serve the marketing website (an Azure Static Web App), not
the API. The default in this package is already set to
api.edgaralert.com; if you see this error, check whether
EDGARALERT_BASE_URL has been overridden somewhere in your config.EDGARALERT_BASE_URL (defaults to
api.edgaralert.com) — no other outbound calls are made.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.
Source-derived launch command. Check the maintainer’s required arguments and credentials before running:
npx -y @edgaralert/mcp-serverMerge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.
{
"mcpServers": {
"io-github-ikop32-code-edgaralert": {
"command": "npx",
"args": [
"-y",
"@edgaralert/mcp-server"
]
}
}
}Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.
Claude Desktop setup reference@edgaralert/mcp-servernpmio.github.ikop32-code/edgaralert works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.
~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.~/.cursor/mcp.jsonRestart Cursor for changes to take effect..vscode/mcp.jsonReload VS Code window for changes to take effect.~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect..mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.