{
  "markdown": "# EDGAR Alert MCP Server\n\nConnect Claude Desktop (or any [MCP](https://modelcontextprotocol.io)-compatible\nclient) directly to your [EDGAR Alert](https://www.edgaralert.com) account. Ask\nlive questions about SEC insider trading signals, Form 4 activity, 8-K\nofficer/director changes, and company research context — without leaving\nyour conversation.\n\n> **Works on any paid EDGAR Alert plan.** Most tools (latest alerts,\n> search, company profiles, fundamentals, price windows) work on STARTER\n> and PRO. One tool — `edgaralert_get_company_agent_context`, the bundled\n> AI research-context payload — requires **Enterprise**; on a lower plan\n> it returns a clear upgrade message instead of failing silently. See\n> [Tools](#tools) below for the full breakdown, and\n> [edgaralert.com/pricing](https://www.edgaralert.com/pricing) to upgrade.\n\n## What this is (and isn't)\n\n- A **thin, read-only wrapper** around the existing public\n  `https://api.edgaralert.com/api/v1` REST API. Every tool maps to exactly\n  one v1 endpoint.\n- **No direct database access.** No scoring or signal logic is duplicated\n  here — all of that lives in the API, same as it does for every other v1\n  API consumer.\n- **No write actions, no billing, no account management.** This server\n  cannot place orders, change your subscription, or modify settings of any\n  kind.\n- Your API key is **yours** — you provide it, it is sent only to\n  `api.edgaralert.com` as the `X-API-Key` header, and this server never\n  writes it to disk or logs it.\n\n## Requirements\n\n- Node.js 18.17 or later\n- An EDGAR Alert API key on any paid plan\n  ([get one here](https://www.edgaralert.com/account/api-keys)) — STARTER\n  and PRO both work for most tools; Enterprise unlocks all 8.\n\n## Install\n\n### Option A: One-click install via `.mcpb` (recommended for most users)\n\n1. Download `edgaralert-mcp.mcpb` from the\n   [latest release](https://github.com/ikop32-code/edgaralert/releases).\n2. Open Claude Desktop → Settings → Extensions → Advanced settings →\n   Install Extension, and select the downloaded file (or just drag the\n   file onto the Claude Desktop window).\n3. When prompted, paste your EDGAR Alert API key. Claude Desktop stores it\n   securely in your OS keychain — this project never sees or stores it\n   outside that prompt.\n4. Restart Claude Desktop if prompted.\n\n### Option B: Manual install via `claude_desktop_config.json`\n\n1. Clone or download this folder (`mcp-server/`) somewhere on your machine.\n2. Install dependencies and build:\n\n   ```bash\n   cd mcp-server\n   npm install\n   npm run build\n   ```\n\n3. Open your Claude Desktop config file:\n\n   - macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`\n   - Windows: `%APPDATA%\\Claude\\claude_desktop_config.json`\n\n4. Add an entry under `mcpServers` (see [example below](#example-claude-desktop-config)).\n5. Restart Claude Desktop.\n\n### Option C: Run locally for development\n\n```bash\ncd mcp-server\nnpm install\nEDGARALERT_API_KEY=EA_your_key_here npm run dev\n```\n\nThis runs the server on stdio using `tsx`, without a build step. Useful\nwhen iterating on tool definitions.\n\n## Example Claude Desktop config\n\n```json\n{\n  \"mcpServers\": {\n    \"edgaralert\": {\n      \"command\": \"node\",\n      \"args\": [\"/absolute/path/to/mcp-server/dist/index.js\"],\n      \"env\": {\n        \"EDGARALERT_API_KEY\": \"EA_your_key_here\"\n      }\n    }\n  }\n}\n```\n\nReplace `/absolute/path/to/mcp-server/dist/index.js` with the real path on\nyour machine, and `EA_your_key_here` with your actual EDGAR Alert API key.\nNever commit this file with a real key in it.\n\n## Environment variables\n\n| Variable               | Required | Default                              | Description                                                        |\n| ----------------------- | -------- | ------------------------------------- | -------------------------------------------------------------------- |\n| `EDGARALERT_API_KEY`    | Yes      | —                                      | Your EDGAR Alert v1 API key. Sent as `X-API-Key` on every request.   |\n| `EDGARALERT_BASE_URL`   | No       | `https://api.edgaralert.com/api/v1`   | Override for staging/local development. Most users should not set this. |\n\n## Tools\n\nAll tools are **read-only**. See [`docs/tools.md`](./docs/tools.md) for full\ninput schemas, endpoint mappings, and error behavior.\n\n| Tool                                    | Endpoint                                          | Min. plan  |\n| ---------------------------------------- | -------------------------------------------------- | ---------- |\n| `edgaralert_get_latest_alerts`           | `GET /alerts/latest`                               | STARTER    |\n| `edgaralert_search_alerts`               | `GET /alerts`                                      | PRO        |\n| `edgaralert_get_alert_price_window`      | `GET /alerts/{id}/price-window`                    | PRO        |\n| `edgaralert_search_companies`            | `GET /companies/search`                            | PRO        |\n| `edgaralert_get_company_profile`         | `GET /companies/{tickerOrCik}/profile`             | All paid   |\n| `edgaralert_get_company_fundamentals`    | `GET /companies/{tickerOrCik}/fundamentals`        | PRO        |\n| `edgaralert_get_company_agent_context`   | `GET /companies/{tickerOrCik}/agent-context`       | ENTERPRISE |\n| `edgaralert_get_weekly_insights`         | `GET /insights/weekly` (public)                    | None       |\n\n\"Min. plan\" reflects what the *underlying API* enforces today — STARTER\nand PRO keys can use 7 of 8 tools. Only `edgaralert_get_company_agent_context`\nrequires Enterprise; on a lower-tier key it returns a clean `403` with an\nupgrade message (see below) rather than failing silently or crashing.\n\n## Errors you might see\n\n- **\"Your EDGAR Alert API key was rejected\"** — check `EDGARALERT_API_KEY`\n  is set and correct.\n- **\"This action requires a higher EDGAR Alert plan\"** — expected on\n  `edgaralert_get_company_agent_context` for STARTER/PRO keys; every\n  other tool should work normally on those plans. If you see this on a\n  different tool, double check your plan tier in the EDGAR Alert\n  dashboard.\n- **\"rate or daily quota exceeded\"** — you've hit your plan's API limits.\n  Wait, or check usage in your EDGAR Alert dashboard.\n- **\"Could not reach the EDGAR Alert API\"** — a network/connectivity issue,\n  not an account issue. Run\n  `node -e \"fetch('https://api.edgaralert.com/api/v1/alerts/latest').then(r=>r.text()).then(console.log)\"`\n  — you should see a JSON error like `{\"message\":\"Missing X-API-Key\n  header.\"}` (that's expected and means the API is reachable). If you get\n  a DNS error (`ENOTFOUND`/`ENODATA`) or no response, the problem is\n  local network/DNS, not this server or your account.\n- **\"Unexpected token '<', is not valid JSON\"** — the request reached a\n  server, but got back an HTML page instead of API data. This happens if\n  `EDGARALERT_BASE_URL` is ever pointed at `edgaralert.com` or\n  `www.edgaralert.com` instead of `api.edgaralert.com` — the bare and\n  `www` hosts serve the marketing website (an Azure Static Web App), not\n  the API. The default in this package is already set to\n  `api.edgaralert.com`; if you see this error, check whether\n  `EDGARALERT_BASE_URL` has been overridden somewhere in your config.\n\n## Security notes\n\n- This server has no admin, billing, or order-management capability of any\n  kind — those endpoints are not implemented here, by design.\n- No secrets are hardcoded anywhere in this package. The only credential\n  used is the one you supply via environment variable / Claude Desktop\n  config.\n- No data is cached or persisted to disk between tool calls.\n- Network access is limited to `EDGARALERT_BASE_URL` (defaults to\n  `api.edgaralert.com`) — no other outbound calls are made.\n\n## Development\n\n```bash\nnpm run typecheck   # type-check without emitting\nnpm run build        # compile to dist/\nnpm run dev           # run with tsx, no build step\n```\n\nTo add a new tool: copy the pattern in `src/tools/getWeeklyInsights.ts` (for\na no-input tool) or `src/tools/searchAlerts.ts` (for a filtered tool),\nregister it in `src/tools/index.ts`, and only ever call `api/v1/*` or other\nalready-public endpoints. Do not add database clients, Stripe/order\nclients, or any write-capable tool to this package.\n",
  "bytes": 8298,
  "sha": "1e4ee9c68ff16660b37a8593904fd51b81dec49979d68b3581efe91ad4d18ffe",
  "repo_slug": "ikop32-code/edgaralert-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_ikop32_code_edgaralert_b36e3afe/readme"
}