oci ghcr.io/wyre-ai/saas-alerts-mcp:v1.2.7stdioupdated 8d ago
Model Context Protocol server for Kaseya SaaS Alerts ā a SaaS security monitoring platform for M365 and Google Workspace events.
What can you do with SaaS Alerts?
saas-alerts-mcp
Model Context Protocol server for Kaseya SaaS Alerts ā a SaaS security monitoring platform for M365 and Google Workspace events.
Part of the WYRE Technology MCP fleet.
Features
Exposes the full SaaS Alerts External Partner API (v0.20.0) through 30 MCP tools organized by domain:
| Domain | Tools |
|---|---|
| events | Query/count security events by severity, customer, user, event type; advanced Elasticsearch queries; scroll pagination; recommended actions |
| customers | List, get, create, update, delete customers; set IP/country and account whitelists |
| users | MSP user info, partner users, customer users |
| devices | Unify mapped/unmapped/ignored devices, device organizations |
| billing | Billing details by date, billing date history |
| reports | List/get/create/delete scheduled reports |
| partner | Partner profile, branding settings |
Write/destructive tools require user confirmation via MCP elicitation (fail-open: proceeds if client doesn't support elicitation).
Authentication
SaaS Alerts uses an API key sent as the api_key HTTP header.
Generate your API key in the SaaS Alerts UI under Settings ā API Keys.
Local / stdio mode
export SAAS_ALERTS_API_KEY=your-api-key
node dist/index.js
HTTP mode
export SAAS_ALERTS_API_KEY=your-api-key
export MCP_TRANSPORT=http
export MCP_HTTP_PORT=8080
node dist/http.js
WYRE Gateway mode
When running behind the WYRE MCP Gateway, set AUTH_MODE=gateway. The gateway injects the API key per-request via the X-SaaS-Alerts-API-Key header ā no env var needed.
Running with Docker
docker compose up
Or pull from GHCR:
docker run -e SAAS_ALERTS_API_KEY=your-key \
-e MCP_TRANSPORT=http \
-p 8080:8080 \
ghcr.io/wyre-ai/saas-alerts-mcp:latest
Development
npm install
npm run build
npm test
npm run lint
node scripts/lint-destructive-warnings.mjs src
Destructive tool confirmation
Tools that permanently delete data (customer delete, scheduled report delete) carry:
ā DESTRUCTIVE ā IRREVERSIBLEdescription prefixannotations.destructiveHint: true- Elicitation confirmation guard (additive ā proceeds if client doesn't support elicitation)
Always confirm with the user before invoking these tools.
License
Apache-2.0 ā see LICENSE.
Install
Add SaaS Alerts to your client. Pick the one you use.
claude mcp add ghcr-io-wyre-ai-saas-alerts-mcp-v1-2-7 -- docker run -i --rm ghcr.io/wyre-ai/saas-alerts-mcp:v1.2.7codex mcp add ghcr-io-wyre-ai-saas-alerts-mcp-v1-2-7 -- docker run -i --rm ghcr.io/wyre-ai/saas-alerts-mcp:v1.2.7amp mcp add ghcr-io-wyre-ai-saas-alerts-mcp-v1-2-7 -- docker run -i --rm ghcr.io/wyre-ai/saas-alerts-mcp:v1.2.7{
"mcpServers": {
"ghcr-io-wyre-ai-saas-alerts-mcp-v1-2-7": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/wyre-ai/saas-alerts-mcp:v1.2.7"
]
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"ghcr-io-wyre-ai-saas-alerts-mcp-v1-2-7": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/wyre-ai/saas-alerts-mcp:v1.2.7"
]
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
code --add-mcp '{"name":"ghcr-io-wyre-ai-saas-alerts-mcp-v1-2-7","command":"docker","args":["run","-i","--rm","ghcr.io/wyre-ai/saas-alerts-mcp:v1.2.7"]}'Or add the block manually to `.vscode/mcp.json` under `servers`.
{
"mcpServers": {
"ghcr-io-wyre-ai-saas-alerts-mcp-v1-2-7": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/wyre-ai/saas-alerts-mcp:v1.2.7"
]
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
{
"mcpServers": {
"ghcr-io-wyre-ai-saas-alerts-mcp-v1-2-7": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/wyre-ai/saas-alerts-mcp:v1.2.7"
]
}
}
}Add to `cline_mcp_settings.json` via the MCP Servers panel.
{
"mcpServers": {
"ghcr-io-wyre-ai-saas-alerts-mcp-v1-2-7": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/wyre-ai/saas-alerts-mcp:v1.2.7"
]
}
}
}Add to `~/.gemini/settings.json`.
{
"mcpServers": {
"ghcr-io-wyre-ai-saas-alerts-mcp-v1-2-7": {
"type": "local",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/wyre-ai/saas-alerts-mcp:v1.2.7"
],
"tools": [
"*"
]
}
}
}Add to `~/.copilot/mcp-config.json`, or run `/mcp add` inside the CLI.
{
"context_servers": {
"ghcr-io-wyre-ai-saas-alerts-mcp-v1-2-7": {
"command": {
"path": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/wyre-ai/saas-alerts-mcp:v1.2.7"
]
}
}
}
}Add to your Zed `settings.json`.
docker run -i --rm ghcr.io/wyre-ai/saas-alerts-mcp:v1.2.7Run `goose configure`, choose **Add Extension ā Command-line Extension**, and paste this command.
Score
39 / 100
Incomplete
- Documentation22/25
- Maintenance25/25
- Trust9/20
- Capability0/15
- Install experience12/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 1 days ago
- Has a release history
- Repository is not archived
- No licence detected
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 0 tool(s) documented
- Provides prompt templates
- Provides resources
- 12 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint ā no local install
Version history
| Versions | Published |
|---|---|
| 1.2.7Latest | Aug 28, 2026 |
| 1.2.6 | Aug 28, 2026 |
| 1.2.5 | Aug 26, 2026 |