{"_id":"@doraincident/mcp-server","_rev":"2-7942e9b42eb5465b9089a75a70802640","name":"@doraincident/mcp-server","dist-tags":{"latest":"0.3.0"},"versions":{"0.2.0":{"name":"@doraincident/mcp-server","version":"0.2.0","keywords":["mcp","model-context-protocol","incident-management","dora","dora-compliance","pagerduty","alerting","on-call","fintech","payments","regulatory","claude","ai"],"author":{"name":"DoraIncident","email":"hello@doraincident.io"},"license":"MIT","_id":"@doraincident/mcp-server@0.2.0","maintainers":[{"name":"michaelngangom","email":"michael.ngangom@gmail.com"}],"homepage":"https://www.doraincident.io/docs/mcp-server","bugs":{"url":"https://github.com/michaelngangom/doraincident/issues","email":"hello@doraincident.io"},"bin":{"doraincident-mcp":"dist/index.js"},"dist":{"shasum":"6c728c20bfa9faae914f945fc55b5555f839fb4a","tarball":"https://registry.npmjs.org/@doraincident/mcp-server/-/mcp-server-0.2.0.tgz","fileCount":13,"integrity":"sha512-EeqdCRV+kjGfNtJpcwurjJAs1Hp5rOGFTgMg4n5guquBsbefPlMEq/gQUJPb2ym6QTPN6/spW+qCVJJ+8Shuxg==","signatures":[{"sig":"MEUCIQDDVNWxjJj7qroS6Ar32I1x/JO7GXCgdAU9PMJH/CiIDgIgNAdl5Lfa4D7lQ/qrsniGr24l1tzYkguzod9DXZ6GFRo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":31475},"type":"module","engines":{"node":">=18"},"gitHead":"b70bcd5059bceac11a012ee90ae793dd37d11c9d","private":false,"scripts":{"dev":"node --loader ts-node/esm src/index.ts","build":"tsc","start":"node dist/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"michaelngangom","email":"michael.ngangom@gmail.com"},"repository":{"url":"git+https://github.com/michaelngangom/doraincident.git","type":"git","directory":"packages/mcp-server"},"_npmVersion":"11.16.0","description":"MCP server for DoraIncident — query live incidents, acknowledge alerts, and track DORA regulatory deadlines from any AI assistant.","directories":{},"_nodeVersion":"26.3.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_0.2.0_1786956298508_0.09635323486898462","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"_id":"@doraincident/mcp-server@0.3.0","bin":{"doraincident-mcp":"dist/index.js"},"bugs":{"url":"https://github.com/michaelngangom/doraincident/issues","email":"hello@doraincident.io"},"dist":{"shasum":"90fded1736675a1298eb07a2551f1ab849ec84ad","tarball":"https://registry.npmjs.org/@doraincident/mcp-server/-/mcp-server-0.3.0.tgz","fileCount":19,"integrity":"sha512-NMdbR+8RYbOPRER//bJjE58Wqf+icSMxVI6HpYQizfvHn+32IqtXOwk0vw5Qf5crFUKZpb4Cwft8xL6UmD31NQ==","signatures":[{"sig":"MEQCIBd7fFkg+czNIlcFhyaDlvcQ9xLDUpFiqTfmYP5I4gtaAiBnPELYXQFQXeAJ0dSQEOwIO6PM+nfMVEVAVH+Yc8A2mw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCwoF0FyfCxvusbCLg8zYSuRvZgiaJLRrALqVD5mLVHfAIhAJucDdCB6RqeeSpTtmnzGF0lqq1VrgjnuNn0Wd8e9Yig"}],"unpackedSize":52918},"name":"@doraincident/mcp-server","type":"module","author":{"name":"DoraIncident","email":"hello@doraincident.io"},"engines":{"node":">=18"},"gitHead":"102fa489a5890db150863df4343039a6e3049722","license":"MIT","private":false,"scripts":{"dev":"node --loader ts-node/esm src/index.ts","build":"tsc","start":"node dist/index.js","release":"npm publish --access public","release:patch":"npm version patch --no-git-tag-version && npm publish --access public","prepublishOnly":"npm run build"},"version":"0.3.0","_npmUser":{"name":"michaelngangom","email":"michael.ngangom@gmail.com"},"homepage":"https://www.doraincident.io/docs/mcp-server","keywords":["mcp","model-context-protocol","incident-management","dora","dora-compliance","pagerduty","alerting","on-call","fintech","payments","regulatory","claude","ai"],"repository":{"url":"git+https://github.com/michaelngangom/doraincident.git","type":"git","directory":"packages/mcp-server"},"_npmVersion":"12.1.0","description":"MCP server for DoraIncident — query live incidents, acknowledge alerts, and track DORA regulatory deadlines from any AI assistant.","directories":{},"maintainers":[{"name":"michaelngangom","email":"michael.ngangom@gmail.com"}],"_nodeVersion":"26.3.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcp-server_0.3.0_1790379885553_0.05880188824315602"}}},"time":{"created":"2026-08-17T08:44:58.194Z","modified":"2026-09-25T23:44:45.812Z","0.2.0":"2026-08-17T08:44:58.640Z","0.3.0":"2026-09-25T23:44:45.633Z"},"bugs":{"url":"https://github.com/michaelngangom/doraincident/issues","email":"hello@doraincident.io"},"author":{"name":"DoraIncident","email":"hello@doraincident.io"},"license":"MIT","homepage":"https://www.doraincident.io/docs/mcp-server","keywords":["mcp","model-context-protocol","incident-management","dora","dora-compliance","pagerduty","alerting","on-call","fintech","payments","regulatory","claude","ai"],"repository":{"url":"git+https://github.com/michaelngangom/doraincident.git","type":"git","directory":"packages/mcp-server"},"description":"MCP server for DoraIncident — query live incidents, acknowledge alerts, and track DORA regulatory deadlines from any AI assistant.","maintainers":[{"name":"michaelngangom","email":"michael.ngangom@gmail.com"}],"readme":"# @doraincident/mcp-server\n\nConnect [DoraIncident](https://www.doraincident.io) to Claude, Cursor, and any MCP-compatible AI assistant. Query live incidents, acknowledge escalated alerts, declare major incidents, and track DORA regulatory deadlines — without leaving your AI tool.\n\n[![npm version](https://img.shields.io/npm/v/@doraincident/mcp-server)](https://www.npmjs.com/package/@doraincident/mcp-server)\n[![Listed on mcpservers.org](https://img.shields.io/badge/mcpservers.org-listed-green)](https://mcpservers.org/servers/www-doraincident-io-settings-mcp)\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)\n\n---\n\n## What is DoraIncident?\n\nDoraIncident is an AI-native incident management platform for regulated payment firms. It combines:\n\n- **On-call alerting** — ingest from Datadog, Prometheus, Grafana, OpsGenie, PagerDuty, New Relic, and Nagios\n- **Automated ticketing** — AI creates and populates an incident ticket the moment the IM declares\n- **DORA compliance** — live 4h/72h/30-day deadline tracking and AI-drafted regulatory report content\n- **Public status pages** — with component tracking, subscriber email notifications, and AI chat\n\nThis MCP server exposes the live operational state of your DoraIncident instance to any connected AI.\n\n**Security note:** All data stays within your own DoraIncident instance. Nothing is routed through Anthropic or OpenAI — LLM inference runs via Groq, and MCP calls go directly from your AI client to your instance over HTTPS using a scoped API key.\n\n---\n\n## Tools\n\n### Alerts (4 tools)\n\n| Tool | Description |\n|---|---|\n| `list_alerts` | List alerts with optional `status`, `source`, and `limit` filters. Escalated alerts are P1/P2 signals waiting for a human decision. |\n| `get_alert` | Full alert detail including raw payload, AI severity score, reasoning, and current triage status. |\n| `acknowledge_alert` | Acknowledge an escalated alert. Pauses the escalation timer and signals active investigation. |\n| `suppress_alert` | Suppress an alert (noise or false positive). Requires a written reason, stored in the audit log. |\n\n### Incidents, tickets, and DORA (8 tools)\n\n| Tool | Description |\n|---|---|\n| `list_incidents` | List incidents filtered by `status` (active, resolved, closed). Active incidents have running DORA clocks. |\n| `get_incident` | Full incident detail: event timeline, linked ticket, affected services, and DORA countdown timers. |\n| `declare_incident` | Declare a major incident. Starts the DORA regulatory clock, auto-creates an AI-populated ticket, and opens a Slack war room. **Only call this when a human has confirmed the situation warrants declaration.** |\n| `resolve_incident` | Mark an incident as resolved. Triggers optional RCA draft generation and surfaces DORA report drafts for IM review. |\n| `list_tickets` | List incident tickets with `status` and `priority` filters. |\n| `get_ticket` | Full ticket detail: description, status, assignee, comments, activity log, and DORA link panel. |\n| `get_dora_deadlines` | DORA regulatory deadlines for all active P1/P2 incidents. Shows time remaining for Initial Notification (4h), Intermediate Report (72h), and Final Report (30 days). Flags overdue deadlines. |\n| `get_on_call` | Current on-call person across all schedules. Returns name, email, and schedule details. |\n\n### Knowledge base (1 tool)\n\n| Tool | Description |\n|---|---|\n| `search_knowledge_base` | Semantic search over runbooks, past post-mortems, and ingested docs/code. Returns the passages most relevant to a query with similarity scores and the retrieval method (vector or lexical) — the same retrieval that grounds resolution suggestions and RCA drafts. Use it to recall how a similar issue was handled before recommending remediation. |\n\n## Resources\n\n| URI | Description |\n|---|---|\n| `doraincident://alerts/escalated` | Live feed of all alerts currently in escalated state requiring a human declare or dismiss decision. |\n| `doraincident://incidents/active` | Live feed of all active incidents with DORA countdown timers. |\n\n---\n\n## Installation\n\n### Prerequisites\n\n- Node.js 18 or higher\n- A DoraIncident account — [request access at doraincident.io](https://www.doraincident.io)\n- A DoraIncident API key — generate one in **Settings → API Keys**\n\n### Option 1 — Claude Desktop (recommended)\n\nAdd to `~/Library/Application Support/Claude/claude_desktop_config.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"doraincident\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@doraincident/mcp-server\"],\n      \"env\": {\n        \"DORAINCIDENT_URL\": \"https://www.doraincident.io\",\n        \"DORAINCIDENT_API_KEY\": \"di_live_...\"\n      }\n    }\n  }\n}\n```\n\nRestart Claude Desktop. You should see the DoraIncident tools listed in the MCP panel.\n\n### Option 2 — Claude Code (CLI)\n\n```bash\nclaude mcp add doraincident \\\n  -e DORAINCIDENT_URL=https://www.doraincident.io \\\n  -e DORAINCIDENT_API_KEY=di_live_... \\\n  -- npx -y @doraincident/mcp-server\n```\n\n### Option 3 — Install globally\n\n```bash\nnpm install -g @doraincident/mcp-server\n\n# Then point your MCP client at the installed binary:\ndoraincident-mcp\n# env: DORAINCIDENT_URL, DORAINCIDENT_API_KEY\n```\n\n---\n\n## Environment variables\n\n| Variable | Required | Description |\n|---|---|---|\n| `DORAINCIDENT_API_KEY` | Yes | API key from **Settings → API Keys**. Must start with `di_live_`. |\n| `DORAINCIDENT_URL` | No | Base URL of your DoraIncident instance. Defaults to `https://www.doraincident.io`. |\n\n---\n\n## Example usage\n\nOnce connected, ask your AI assistant:\n\n```\n\"What incidents are active right now and do any have DORA deadlines approaching?\"\n\n\"Acknowledge alert alt_abc123 — I'm looking into it.\"\n\n\"Declare a P1 incident: Payments gateway timeout affecting the checkout-service and 3ds-provider.\"\n\n\"What's the current DORA Initial Notification deadline for the active P1?\"\n\n\"Who is on call right now?\"\n```\n\n---\n\n## Building from source\n\n```bash\ngit clone https://github.com/michaelngangom/doraincident.git\ncd doraincident/packages/mcp-server\nnpm install\nnpm run build    # compiles TypeScript to dist/\n```\n\n---\n\n## Links\n\n- **Platform:** [doraincident.io](https://www.doraincident.io)\n- **MCP setup guide:** [doraincident.io/docs/mcp-server](https://www.doraincident.io/docs/mcp-server)\n- **Full documentation:** [doraincident.io/docs](https://www.doraincident.io/docs)\n- **Listed on mcpservers.org:** [mcpservers.org/servers/www-doraincident-io-settings-mcp](https://mcpservers.org/servers/www-doraincident-io-settings-mcp)\n- **Issues:** [github.com/michaelngangom/doraincident/issues](https://github.com/michaelngangom/doraincident/issues)\n\n---\n\n## License\n\nMIT — see [LICENSE](LICENSE).\n","readmeFilename":"README.md"}