Server data from the Official MCP Registry
MCP server for ESET PROTECT's ESET Connect API - device, EDR, vulnerability, patch, and user data.
About
MCP server for ESET PROTECT's ESET Connect API - device, EDR, vulnerability, patch, and user data.
Security Report
This is a well-structured, read-only MCP server for ESET PROTECT fleet visibility. Authentication is properly handled via password grant with bearer tokens, credentials are stored securely in environment variables or via request headers, and the codebase shows good error handling and input validation. Minor code quality observations exist but do not constitute security risks. The server's permissions (network HTTP to ESET APIs, environment variable access) are appropriate for its intended purpose as a security monitoring connector. Supply chain analysis found 4 known vulnerabilities in dependencies (2 critical, 0 high severity).
6 files analyzed · 8 issues found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
Permissions Required
This plugin requests these system permissions. Most are normal for its category.
What You'll Need
Set these up before or after installing:
Environment variable: ESETPROTECT_CLIENT_ID
Environment variable: ESETPROTECT_CLIENT_SECRET
Environment variable: ESETPROTECT_REGION
Environment variable: MCP_TRANSPORT
Environment variable: AUTH_MODE
Environment variable: LOG_LEVEL
How to Install
Add this to your MCP configuration file:
{
"mcpServers": {
"io-github-wyre-ai-eset-protect-mcp": {
"env": {
"AUTH_MODE": "your-auth-mode-here",
"LOG_LEVEL": "your-log-level-here",
"MCP_TRANSPORT": "your-mcp-transport-here",
"ESETPROTECT_REGION": "your-esetprotect-region-here",
"ESETPROTECT_CLIENT_ID": "your-esetprotect-client-id-here",
"ESETPROTECT_CLIENT_SECRET": "your-esetprotect-client-secret-here"
},
"args": [
"-y",
"@wyre-ai/eset-protect-mcp"
],
"command": "npx"
}
}
}Documentation
View on GitHubFrom the project's GitHub README.
ESET PROTECT MCP Server
MCP server for ESET PROTECT's ESET Connect 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
npm install
npm run build
npm test
npm run lint # tsc --noEmit
Docker
docker build -t eset-protect-mcp .
docker run -p 8080:8080 \
-e ESETPROTECT_CLIENT_ID=... \
-e ESETPROTECT_CLIENT_SECRET=... \
eset-protect-mcp
Reviews
No reviews yet
Be the first to review this server!
More Developer Tools MCP Servers
Git
Freeby Modelcontextprotocol · Developer Tools
Read, search, and manipulate Git repositories programmatically
Fetch
Freeby Modelcontextprotocol · Developer Tools
Web content fetching and conversion for efficient LLM usage
Paperclip
Freeby Paperclipai · Developer Tools
Trending hip-hop artist momentum scores across four cultural dimensions.
Toleno
Freeby Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
mcp-creator-python
Freeby mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.
MCP Marketplace
Freeby mcp-marketplace · Developer Tools
Search and install MCP servers from inside your AI client.
