MCP server for ESET PROTECT's ESET Connect API - device, detection/EDR, vulnerability, patch, and user fleet visibility
- ✓Actively maintained (<30d)
- ✓Clear description
- ✓Documented (README)
- !Licence file present but not machine-readable
git clone https://github.com/WYRE-AI/eset-protect-mcp{
"mcpServers": {
"eset-protect-mcp": {
"command": "node",
"args": ["/path/to/eset-protect-mcp/dist/index.js"],
"env": {
"ESETPROTECT_CLIENT_SECRET": "<esetprotect_client_secret>"
}
}
}
}ESETPROTECT_CLIENT_SECRETMCP Servers overview
# ESET PROTECT MCP Server MCP server for [ESET PROTECT](https://www.eset.com/int/business/protect-platform/)'s [ESET Connect](https://help.eset.com/eset_connect/en-US/) API gateway - endpoint fleet visibility (devices and groups), detection/EDR investigation, vulnerability data, patch status, and user management - for AI assistants and the WYRE Conduit gateway. ## Authentication Create a dedicated API user in ESET Business Account: **User Management > create a user with read-only permission > enable the Integrations toggle**. This gives you an email/password pair for that user. ESET Connect's token endpoint (`POST /oauth/token`) is documented in its own OpenAPI spec as a `password` grant - `username`/`password` fields, not `client_id`/`client_secret` with `grant_type=client_credentials`. This server accepts `clientId`/`clientSecret` (matching the credential shape used across WYRE's other MCP connectors) and sends them as `username`/`password` in that grant. It handles the resulting bearer token's caching and refresh (via the returned `refresh_token`, falling back to a full re-login if the refresh token itself is rejected) internally - callers only ever supply the long-lived email/password pair. ## Configuration | Env var | Description | |---|---| | `ESETPROTECT_CLIENT_ID` | Email of the dedicated ESET Connect API user. | | `ESETPROTECT_CLIENT_SECRET` | Password of that API user. | | `ESETPROTECT_REGION` | `us` (default), `eu`, `de`, `jpn`, or `ca` - the ESET Connect region your ESET Business Account was provisioned in. | | `MCP_TRANSPORT` | `stdio` (default) or `http`. | | `AUTH_MODE` | `env` (default, reads the vars above) or `gateway` (credentials arrive per-request via `X-EsetProtect-*` headers, injected by the Conduit gateway). | | `CONDUIT_S2S_SECRET` | When set, the HTTP transport requires a valid `X-Gateway-S2S` header (Conduit sidecar auth) on every `/mcp` request. | | `LOG_LEVEL` | `debug` \| `info` (default) \| `warn` \| `error`. | Each ESET Connect API domain (device, incident, vulnerability, patch, and user management) is hosted on its own per-region subdomain, e.g. `https://us.device-management.eset.systems`; the auth host follows the same regional pattern, e.g. `https://us.business-account.iam.eset.systems`. `ESETPROTECT_REGION` selects the prefix for all of them. ## Tools ### Device Management - `esetprotect_list_device_groups` - list device groups. - `esetprotect_list_group_devices` - list the devices in a group. - `esetprotect_list_devices` - list managed devices, filterable by display name, functionality status, or mute state. - `esetprotect_get_device` - get a device by UUID. - `esetprotect_batch_get_devices` - get multiple devices by UUID in one call. ### Incident Management (detections, detection groups, EDR) - `esetprotect_list_detections` / `esetprotect_get_detection` - v1 detections (legacy surface). - `esetprotect_list_detections_v2` / `esetprotect_get_detection_v2` / `esetprotect_batch_get_detections` - v2 detections (endpoint, cloud office, and EDR). - `esetprotect_list_detection_groups` / `esetprotect_get_detection_group` - detections clustered into groups. - `esetprotect_list_edr_rules` / `esetprotect_get_edr_rule` - EDR detection rules. - `esetprotect_list_edr_rule_exclusions` / `esetprotect_get_edr_rule_exclusion` - EDR rule exclusions. ### Vulnerability Management - `esetprotect_list_device_os_vulnerabilities` - OS vulnerabilities found on devices. - `esetprotect_list_device_vulnerabilities` - vulnerabilities found on devices (application/OS/package scope). - `esetprotect_list_recent_scans` - recent vulnerability scan details. - `esetprotect_list_vulnerable_devices` - devices with known vulnerabilities. ### Patch Management - `esetprotect_list_recent_application_patching_details` - most recent application-patching processes fleet-wide. - `esetprotect_list_device_patches` - patches for devices, filterable by patch type. - `esetprotect_list_patching_process_details` - detailed patching-process history within a time window. ### User Management - `esetprotect_list_users` - list users, filterable by email, display name, protection status, and more. - `esetprotect_get_user` - get a user by UUID. - `esetprotect_batch_get_users` - get multiple users by UUID in one call (atomic - all or none). ## Scope This is a v1, read-only fleet/security-visibility surface. Explicitly deferred: device move/rename and batch import, detection and detection-group resolve, EDR rule and rule-exclusion create/update/delete, and any asset-management group create/delete/move/rename endpoints. These are mutation/provisioning actions out of scope for a read-only monitoring connector and can be added as a follow-up. The incident-management API also exposes a separate `/v2/incidents` case-management surface (list/get/close/reopen, comments) alongside detections and detection-groups; it is not covered by this v1 surface either, for the same reason. ## Development ```bash npm install npm run build npm test npm run lint # tsc --noEmit ``` ## Docker ```bash docker build -t eset-protect-mcp . docker run -p 8080:8080 \ -e ESETPROTECT_CLIENT_ID=... \ -e ESETPROTECT_CLIENT_SECRET=... \ eset-protect-mcp ```
What people ask about eset-protect-mcp
What is WYRE-AI/eset-protect-mcp?
+
WYRE-AI/eset-protect-mcp is mcp servers for the Claude AI ecosystem. MCP server for ESET PROTECT's ESET Connect API - device, detection/EDR, vulnerability, patch, and user fleet visibility It has 0 GitHub stars and its last recorded update is dated 2026-09-20.
How do I install eset-protect-mcp?
+
You can install eset-protect-mcp by cloning the repository (https://github.com/WYRE-AI/eset-protect-mcp) or following the README instructions on GitHub. ClaudeWave also provides quick install blocks on this page.
Is WYRE-AI/eset-protect-mcp safe to use?
+
Our security agent has analyzed WYRE-AI/eset-protect-mcp and assigned a Trust Score of 72/100 (tier: OK). See the full breakdown of passed checks and flags on this page.
Who maintains WYRE-AI/eset-protect-mcp?
+
WYRE-AI/eset-protect-mcp is maintained by WYRE-AI. The last recorded GitHub activity is dated 2026-09-20, with 0 open issues.
Are there alternatives to eset-protect-mcp?
+
Yes. On ClaudeWave you can browse similar mcp servers at /categories/mcp, sorted by popularity or recent activity.
Deploy eset-protect-mcp to your cloud
Ship this repo to production in minutes. Each platform spins up its own environment with editable env vars.
Maintain this repo? Add a badge to your README
Drop the badge into your GitHub README to show it's tracked on ClaudeWave. Each badge links back to this page and reflects the live Trust Score.
[](https://claudewave.com/repo/wyre-ai-eset-protect-mcp)<a href="https://claudewave.com/repo/wyre-ai-eset-protect-mcp"><img src="https://claudewave.com/api/badge/wyre-ai-eset-protect-mcp" alt="Featured on ClaudeWave: WYRE-AI/eset-protect-mcp" width="320" height="64" /></a>More MCP Servers
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.
User-friendly AI Interface (Supports Ollama, OpenAI API, ...)
An open-source AI agent that brings the power of Gemini directly into your terminal.
Real-time global intelligence dashboard. AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking in a unified situational awareness interface
🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ
The fastest path to AI-powered full stack observability, even for lean teams.