Skip to main content
Glama
EDGAR Alert MCP Server

EDGAR Alert MCP Server

by ikop32-code

EDGAR 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/v1 REST 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_list and edgaralert_remove_ticker_from_list POST 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.com as the X-API-Key header, and this server never writes it to disk or logs it.

Related MCP server: earningsprism-mcp

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)

  1. Download edgaralert-mcp.mcpb from the latest release.

  2. Open Claude Desktop → Settings → Extensions → Advanced settings → Install Extension, and select the downloaded file (or just drag the file onto the Claude Desktop window).

  3. 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.

  4. Restart Claude Desktop if prompted.

Option B: Manual install via claude_desktop_config.json

  1. Clone or download this folder (mcp-server/) somewhere on your machine.

  2. Install dependencies and build:

    cd mcp-server
    npm install
    npm run build
  3. Open your Claude Desktop config file:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

    • Windows: %APPDATA%\Claude\claude_desktop_config.json

  4. Add an entry under mcpServers (see example below).

  5. 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_KEY is set and correct.

  • "This action requires a higher EDGAR Alert plan" — expected on 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.

  • "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_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.

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 to api.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.

Available Tools

12 tools
edgaralert_add_ticker_to_listAdd ticker to watchlistA

Adds a stock ticker to one of the user's ticker lists (watchlists). Use edgaralert_get_ticker_lists first to find the correct listId. Plan limits apply: FREE/STARTER plans are capped at 10 tickers total across all lists. Returns the created ticker list item on success.

Inputs: listId (required), ticker (required).

edgaralert_get_alert_price_windowGet stock price performance around an alertA
Read-onlyIdempotent

Returns daily price history for the stock around the date of a specific insider trading alert, useful for backtesting whether the signal preceded a price move. Requires an alert id from edgaralert_search_alerts or edgaralert_get_latest_alerts. Requires EDGAR Alert PRO plan or higher.

Inputs: alertId (required), scope, daysAfter, daysBefore.

edgaralert_get_company_agent_contextGet AI-ready company research contextA
Read-onlyIdempotent

Returns a single bundled, AI-optimized research payload for a company: identity, market summary, fundamentals (current + multi-year history), insider trading summary, recent insider signals with forward-return data, and suggested analysis steps. This is the richest single-call tool available and is purpose-built for research and decision-support — it is NOT investment advice, and the underlying data may be incomplete or delayed. Requires EDGAR Alert ENTERPRISE plan. Prefer this tool over combining edgaralert_get_company_profile + edgaralert_get_company_fundamentals + edgaralert_search_alerts when you need a full picture of one company in one call.

Inputs: tickerOrCik (required), fundamentalYears, recentAlertsLimit.

edgaralert_get_company_fundamentalsGet company fundamentals historyA
Read-onlyIdempotent

Returns historical company fundamentals (revenue, net income, margins, assets, liabilities, debt ratios, free cash flow) by fiscal year or quarter, derived from SEC filings. Requires EDGAR Alert PRO plan or higher. Use edgaralert_get_company_profile first if you just need the latest snapshot rather than multi-year history.

Inputs: tickerOrCik (required), years, period.

edgaralert_get_company_profileGet company profileA
Read-onlyIdempotent

Returns a company's profile: identity (name, ticker, CIK, SIC, exchange), market summary (price, returns, 52-week range, volatility), fundamentals summary (revenue, net income, margins, debt ratios), insider trading summary (recent buyer/seller counts and dollar values), and recent insider alerts. Available on all paid EDGAR Alert plans. For a more detailed multi-year fundamentals history use edgaralert_get_company_fundamentals; for a single bundled research-agent payload use edgaralert_get_company_agent_context.

Inputs: tickerOrCik (required), recentAlertsLimit.

edgaralert_get_industry_capital_flowGet 12-week insider capital flow by industryA
Read-onlyIdempotent

Returns 12-week rolling insider capital flow (insider buy value minus sell value) for the top 6 most active FF48 industry groups by absolute net insider score. Each row contains weekStartDate, weekEndDate, ff48Code, ff48Description, sectorCode, sectorName, buyValue, sellValue, and netCapitalFlow. Industries are grouped using the Fama-French 48 classification (e.g. 'Pharmaceutical Products', 'Computers', 'Banking') nested under 11 GICS-like sectors (e.g. 'Health Care', 'Technology', 'Financials'). Use this to identify sustained sector rotation — which industries insiders have been consistently buying into or selling out of over the past quarter, not just the latest week. Complements edgaralert_get_weekly_insights (single week snapshot) with multi-week trend data. Good for questions like: 'which industries have had sustained insider buying over the past 3 months?' or 'is the tech selloff concentrated in semiconductors or broad across the sector?'

Inputs: no named parameters.

edgaralert_get_latest_alertsGet latest insider trading alertsA
Read-onlyIdempotent

Returns the most recent SEC Form 4 insider trading alerts and 8-K Item 5.02 officer/director change alerts across the EDGAR Alert universe, ranked by recency. By default only returns high-confidence alerts (signal_score >= 80); lower minScore to widen results. Use this for 'what's happening right now' questions. For complex multi-filter searches (by ticker, sector, market cap, date range), use edgaralert_search_alerts instead.

Inputs: days, side, limit, scope, +2 more.

edgaralert_get_ticker_listsGet watchlistsA
Read-onlyIdempotent

Returns all ticker lists (watchlists) for the authenticated user, including the tickers in each list and the plan's ticker limit. Auto-creates a default 'My Tickers' list if none exists yet. Use this to find the listId needed for adding or removing tickers, or to check what the user is currently tracking. The default watchlist is used by edgaralert_get_latest_alerts and edgaralert_search_alerts when scope='watchlist'.

Inputs: no named parameters.

edgaralert_get_weekly_insightsGet weekly insider trading market summaryA
Read-onlyIdempotent

Returns a market-wide weekly summary of insider trading activity: the most bullish and bearish industries by net insider signal, and the top buying/selling companies for the week. Good for broad 'what's the market doing' questions before drilling into a specific company or sector.

Inputs: no named parameters.

edgaralert_remove_ticker_from_listRemove ticker from watchlistA
DestructiveIdempotent

Removes a stock ticker from one of the user's ticker lists (watchlists). Use edgaralert_get_ticker_lists first to find the correct listId. Returns no content on success (204). Returns an error if the ticker is not found in the list.

Inputs: listId (required), ticker (required).

edgaralert_search_alertsSearch insider trading alerts with filtersA
Read-onlyIdempotent

Searches SEC insider trading alerts (Form 4 buy/sell signals and 8-K officer/director change events) using detailed filters: ticker, signal score range, date range, transaction side, sector, market cap bucket, and planned-vs-discretionary trade type. Requires EDGAR Alert PRO plan or higher (your Enterprise key qualifies). Use this for targeted research questions like 'show me large-cap insider buys in tech this month' rather than a general recent-activity feed (use edgaralert_get_latest_alerts for that).

Inputs: side, limit, scope, status, +12 more.

edgaralert_search_companiesSearch companiesA
Read-onlyIdempotent

Searches SEC-registered companies by name, ticker, SIC code, sector, state of incorporation, market cap bucket, or S&P 500 membership. At least one of query, ticker, or sicCode is required. Use this to find a company's ticker/CIK before calling edgaralert_get_company_profile, edgaralert_get_company_fundamentals, or edgaralert_get_company_agent_context. Requires EDGAR Alert PRO plan or higher.

Inputs: limit, query, state, ticker, +4 more.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4.4/5.0

    Scored across 12 tools

    Disambiguation5/5

    Each tool has a clear, distinct purpose. For example, adding vs removing tickers, searching alerts vs getting latest, and company profile vs fundamentals vs agent context are all well-separated with no overlap.

    Naming Consistency5/5

    All tools follow a consistent 'edgaralert_verb_noun' pattern in snake_case. The verbs are descriptive (get, add, remove, search) and the nouns are specific, making the tool names predictable and easy to understand.

    Tool Count5/5

    With 12 tools, the server covers watchlist management, alert retrieval, company research, industry trends, and search without being over- or under-scoped. Each tool earns its place for the domain of insider trading alerts.

    Completeness5/5

    The tool surface covers CRUD for watchlists, multiple ways to retrieve alerts (latest, search, by ID), company data at different depths (profile, fundamentals, agent context), industry/sector analysis (weekly, 12-week), and company search. No obvious gaps for the stated purpose.

    Maintenance

    ActivitySlowing
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      Hosted MCP server that gives AI agents real-time access to SEC EDGAR filings search, 10-K/8-K reading, XBRL financial facts, and insider-trade (Form 4) alerts.
      12 npm
      1
      MIT
    • F
      license
      Not graded
      quality
      D
      maintenance
      An always-on engine that watches SEC EDGAR for insider trading (Form 4) and material event (8-K) filings, alerting users through AI agents via MCP tools.
      -