{"_id":"opsgenie-mcp-extended","name":"opsgenie-mcp-extended","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"opsgenie-mcp-extended","version":"0.1.0","description":"A Model Context Protocol (MCP) server for Opsgenie: alerts, on-call schedules, overrides, teams, escalations, incidents, and maintenance windows.","main":"./build/index.js","type":"module","engines":{"node":">=18.0.0"},"bin":{"opsgenie-mcp-extended":"build/index.js"},"scripts":{"build":"npm run lint && tsc && chmod 755 build/index.js","prepublishOnly":"npm run build","start":"node build/index.js","start:stdio":"node build/index.js --transport stdio","start:http":"node build/index.js --transport http --port 3000","lint":"eslint src/**/*.ts","lint:fix":"eslint src/**/*.ts --fix","format":"prettier --write src/**/*.ts *.json *.md","format:check":"prettier --check src/**/*.ts *.json *.md","type-check":"tsc --noEmit","test":"echo \"Error: no test specified\" && exit 1"},"keywords":["opsgenie","mcp","model-context-protocol","alerts","on-call","schedules","incident-management","typescript"],"author":{"name":"Farhan Haider"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/sferhan/opsgenie_mcp_extended.git"},"homepage":"https://github.com/sferhan/opsgenie_mcp_extended#readme","bugs":{"url":"https://github.com/sferhan/opsgenie_mcp_extended/issues"},"dependencies":{"@modelcontextprotocol/sdk":"^1.15.1","commander":"^14.0.0","express":"^5.1.0","zod":"^3.25.76"},"devDependencies":{"@types/eslint":"^9.6.1","@types/express":"^5.0.3","@types/node":"^24.0.14","@typescript-eslint/eslint-plugin":"^8.37.0","@typescript-eslint/parser":"^8.37.0","eslint":"^9.31.0","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.5.1","globals":"^15.15.0","prettier":"^3.6.2","typescript":"^5.8.3"},"_id":"opsgenie-mcp-extended@0.1.0","gitHead":"72e42075b22fbdbfc67ac7caa5a1a3c7d313361f","types":"./build/index.d.ts","_nodeVersion":"20.20.2","_npmVersion":"10.8.2","dist":{"integrity":"sha512-oaOrsykIC+7R+Rm8hlmDhwqkQQZAiqG1fZW1fQsYjPSGtAuom4eoiWgSDTLBFNLcbCTqOn7IFsDhQTUqzffy/g==","shasum":"53cd43feb6308bb1503f4f8aec8c6b8e366a6836","tarball":"https://registry.npmjs.org/opsgenie-mcp-extended/-/opsgenie-mcp-extended-0.1.0.tgz","fileCount":19,"unpackedSize":60229,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCypbYtMCezNtJJaDkHDMcGKjyIaNnJk0Oujv9XEqIOhgIgduZvj3wiHD9S04SXXiWfGdiNilw0jcUMy7NOoT8KG3Y="}]},"_npmUser":{"name":"farhan_haider","email":"ferhan0000@gmail.com"},"directories":{},"maintainers":[{"name":"farhan_haider","email":"ferhan0000@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/opsgenie-mcp-extended_0.1.0_1784242905975_0.9604636157965705"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-16T23:01:45.913Z","0.1.0":"2026-07-16T23:01:46.112Z","modified":"2026-07-16T23:01:46.360Z"},"maintainers":[{"name":"farhan_haider","email":"ferhan0000@gmail.com"}],"description":"A Model Context Protocol (MCP) server for Opsgenie: alerts, on-call schedules, overrides, teams, escalations, incidents, and maintenance windows.","homepage":"https://github.com/sferhan/opsgenie_mcp_extended#readme","keywords":["opsgenie","mcp","model-context-protocol","alerts","on-call","schedules","incident-management","typescript"],"repository":{"type":"git","url":"git+https://github.com/sferhan/opsgenie_mcp_extended.git"},"author":{"name":"Farhan Haider"},"bugs":{"url":"https://github.com/sferhan/opsgenie_mcp_extended/issues"},"license":"MIT","readme":"# Opsgenie MCP Server\n\nA Model Context Protocol (MCP) server for Opsgenie covering alerts, on-call schedules and overrides, teams, escalation policies, incidents, and maintenance windows.\n\n## Features\n\n- **Alerts**: list, create, acknowledge, close, snooze, assign, add notes/details, view logs\n- **On-call schedules**: list schedules, view rotations, see who's on call right now (or at any point in time)\n- **On-call overrides**: create, update, and delete temporary coverage swaps without touching the underlying rotation\n- **Rotations**: update participants, timing, and type on a schedule's rotations\n- **Teams & users**: look up teams and users to resolve responders and schedule ownership\n- **Escalation policies**: list and inspect escalation rule chains\n- **Incidents**: list, create, and close (distinct from alerts — used for larger/customer-facing events)\n- **Maintenance windows**: list and create windows that suppress alerts from selected integrations/policies\n- Stdio and HTTP (Streamable HTTP + SSE-compatible) transports\n- Built with TypeScript and the official MCP SDK\n\n## Installation\n\n### From npm\n\n```bash\nnpm install -g opsgenie-mcp-extended\n# or run directly without installing\nnpx opsgenie-mcp-extended --transport stdio --api-key \"your-api-key-here\"\n```\n\n### From source\n\n```bash\nnpm install\nnpm run build\n```\n\n## Usage\n\n### Stdio transport (for desktop MCP clients)\n\n```bash\nexport OPSGENIE_API_KEY=\"your-api-key-here\"\nnpm run start:stdio\n# or\nnode build/index.js --transport stdio\n```\n\nOr pass the key as a CLI argument:\n\n```bash\nnode build/index.js --transport stdio --api-key \"your-api-key-here\"\n```\n\n### HTTP transport (for hosted/multi-client deployment)\n\n```bash\nnpm run start:http\n# or\nnode build/index.js --transport http --port 3000\n```\n\nClients can supply their API key via, in order of precedence:\n\n- `X-Opsgenie-API-Key` header\n- `Authorization: Bearer <key>` header\n- `?apiKey=<key>` query parameter\n- `OPSGENIE_API_KEY` environment variable\n\nEndpoint: `POST http://localhost:3000/mcp`\n\n### Command line options\n\n```\nopsgenie-mcp-extended [options]\n\nOptions:\n  -V, --version           output the version number\n  -t, --transport <type>  transport type (stdio|http) (default: \"stdio\")\n  -p, --port <number>     port number for HTTP transport (default: \"3000\")\n  -a, --api-key <key>     Opsgenie API key (can also use OPSGENIE_API_KEY env var)\n  -h, --help              display help for command\n```\n\n## Authentication\n\nGet an API key from Opsgenie: **Settings → API Key Management → Create API Key**, granting Alert (Read/Create/Update/Delete), Configuration Access (Read/Create/Update/Delete), and Incident (Read/Create/Update/Delete) permissions as needed for the tools you plan to use.\n\nProvide the key via `OPSGENIE_API_KEY`, the `--api-key` CLI flag, or per-call as the `apiKey` tool argument — whichever fits your setup.\n\n## Available tools\n\n**Alerts**: `opsgenie_list_alerts`, `opsgenie_create_alert`, `opsgenie_acknowledge_alert`, `opsgenie_close_alert`, `opsgenie_snooze_alert`, `opsgenie_assign_alert`, `opsgenie_list_alert_notes`, `opsgenie_add_note`, `opsgenie_list_alert_logs`, `opsgenie_add_details`\n\n**Schedules & on-call**: `opsgenie_list_schedules`, `opsgenie_get_schedule`, `opsgenie_get_on_calls`, `opsgenie_list_schedule_rotations`, `opsgenie_update_schedule_rotation`, `opsgenie_list_schedule_overrides`, `opsgenie_get_schedule_override`, `opsgenie_create_schedule_override`, `opsgenie_update_schedule_override`, `opsgenie_delete_schedule_override`\n\n**Teams & users**: `opsgenie_list_teams`, `opsgenie_get_team`, `opsgenie_list_users`\n\n**Escalations**: `opsgenie_list_escalations`, `opsgenie_get_escalation`\n\n**Incidents**: `opsgenie_list_incidents`, `opsgenie_create_incident`, `opsgenie_close_incident`\n\n**Maintenance**: `opsgenie_list_maintenance`, `opsgenie_create_maintenance`\n\n### Swapping on-call coverage\n\nThe practical way to change who's on call for a window of time is an **override** — it doesn't touch the recurring rotation:\n\n> \"Create an override on the 'Platform' schedule so Priya covers from tonight 6pm to tomorrow 8am\"\n\nFor permanent changes to a rotation's participants or cadence, use `opsgenie_update_schedule_rotation` instead.\n\n## Project layout\n\n```\nsrc/\n  cli/index.ts          CLI argument parsing and entry point\n  server/setup.ts        MCP server construction + tool registration\n  opsgenie/api.ts         Thin fetch-based client for the Opsgenie REST API\n  opsgenie/tools.ts       Zod schemas + MCP tool registrations\n  opsgenie/types.ts       Shared response type shapes\n  transports/stdio.ts     Stdio transport wiring\n  transports/http.ts      HTTP (Streamable HTTP) transport wiring\n```\n\n## Development\n\n```bash\nnpm run type-check   # tsc --noEmit\nnpm run lint         # eslint\nnpm run format       # prettier --write\nnpm run build        # lint + tsc\n```\n\n## Roadmap / ideas not yet implemented\n\n- Bulk alert actions (multi-alert ack/close/assign in one call)\n- Alert attachments\n- Webhook/integration management endpoints\n- Reporting & analytics endpoints\n\n## License\n\nMIT\n","readmeFilename":"README.md","_rev":"1-c88bc03e4adc2730937577571a56c56a"}