For AI agents: every page on this site is listed at /llms.txt, and this page is also available as Markdown.

The ESET PROTECT MCP Server - free, local, built for MSPs

Independent, open source, inspectable. Every line of code is on GitHub under Apache-2.0 - built for the MSP community, vendor-neutral by design. Not affiliated with, endorsed by, or sponsored by ESET, spol. s r.o..

Passes all 4 mechanical gates (build · command-surface · claims · install). Awaiting its first MSP receipt - be the first, 60 seconds →.

Yes - there is an MCP server for ESET PROTECT. It’s free, open source, and runs on your own machine, so your client data stays local unless you route it somewhere yourself. It connects ESET PROTECT to Claude, ChatGPT, Copilot, or any MCP-capable agent, and installs in about 60 seconds.

Ask your AI which customers have ESET devices that need attention, which machines stopped checking in, who is exposed to a new CVE, and what the morning detection queue looks like, across every customer at once. The CLI syncs your ESET PROTECT tree into a local SQLite mirror, rolls it up per customer, and shows the exact scan, isolate or release task before it is sent.

New to the term? An MCP server is the same thing ChatGPT calls an app or connector, Claude on the web calls a connector, and Claude Code calls a Skill. One thing, many names →

Install in 60s →   View on GitHub →

Instead of clicking through ESET PROTECT, just ask

Instead of Reading the Managed Customers page, then drilling into each customer to find the devices that need attention, are muted or stopped checking in just ask: “Which of my customers have ESET devices that need attention or stopped checking in?” Your agent runs: eset-protect-cli fleet health

Instead of Searching the vulnerability view for a new CVE, then working out which customer each affected device belongs to just ask: “Which customers and devices are exposed to CVE-2024-3400, and is there a patch?” Your agent runs: eset-protect-cli exposure --cve CVE-2024-3400

Instead of Pulling one customer’s device, detection, incident and patch numbers into a QBR deck by hand just ask: “Build Acme Dental’s quarterly security summary from ESET.” Your agent runs: eset-protect-cli report customer "Acme Dental" --since 90d

See it in 30 seconds

Demo data is simulated. Every command shown exists in the real CLI.

What it does

Question your MSP keeps asking Command your agent runs
Which customers have devices that need attention, are muted or stopped checking in? eset-protect-cli fleet health
What should my techs work first this morning, detections and open incidents together? eset-protect-cli triage --since 24h --min-severity medium
Which customers and devices are exposed to this CVE, and is a patch available? eset-protect-cli exposure --cve CVE-2024-3400
Give me one customer’s quarter: device health, detections, incidents, top CVEs and patches eset-protect-cli report customer "Acme Dental" --since 90d
Which devices have not checked in for two weeks, most stale first? eset-protect-cli fleet stale --days 14
Which security patches are still missing, ranked by the devices and CVE risk they fix? eset-protect-cli patches backlog --security-only
Is the same file hash showing up at more than one customer this week? eset-protect-cli detections spread --since 7d --min-customers 2
Isolate this machine from the network (show me the exact task first) eset-protect-cli respond isolate "FRONTDESK-01"

Full command reference at github.com/servosity/msp-skills/blob/main/skills/eset-protect/guide.md.

What makes this one different

MCP servers such as maciekaz/ESET-MCP and Fenrindale/eset-protect-mcp expose the ESET Connect endpoints as tools and answer each question with live calls. This connector also covers the endpoints, and adds a local SQLite mirror of your ESET PROTECT tree, so per-customer rollups such as fleet health, the triage queue and the QBR one-pager are joins over synced devices, groups, detections and incidents, attributed to the customer each device belongs to.

ESET’s own ESET LiveAI (formerly AI Advisor) is a generative AI assistant inside ESET PROTECT and ESET Inspect, in the ESET PROTECT Premium and Ultimate tiers. This skill complements it: it answers across-every-customer questions in whichever AI agent you already use, through the ESET Connect API, and it does not replace the ESET PROTECT console.

The pain this closes

Install

Works in any of these agents - pick yours:

Agent Quick install
Claude Desktop Step-by-step →
ChatGPT (desktop app) Step-by-step →
Claude Code Step-by-step →
Codex CLI Step-by-step →
Cursor, Windsurf, Cline, Continue, Zed, Copilot, Gemini, Hermes, OpenClaw Which agent? →

Quickest path for everyone else (terminal):

macOS / Linux:

bash <(curl -fsSL https://raw.githubusercontent.com/servosity/msp-skills/main/skills/eset-protect/install.sh)

Windows (PowerShell):

iwr -useb https://raw.githubusercontent.com/servosity/msp-skills/main/skills/eset-protect/install.ps1 | iex

After install, authenticate once with your ESET PROTECT credentials, then verify with eset-protect-cli --version.

Safety model

Tier Examples Recommended agent policy
Read fleet health, triage, exposure, report customer, patches backlog, devices list, incidents list, detections list Allow
Endpoint response respond scan, respond isolate, respond release (preview unless –yes), device-tasks create, device-tasks update-targets Human-in-the-loop, explicit confirmation
Protection and policy config executables block, edr-rules create, edr-rule-exclusions create, policy-assignments assign-policy, devices move Preview with –dry-run, then a human-approved write
Write (routine) incidents close, incidents reopen, detection-groups resolve, devices rename, groups create Preview with –dry-run, then a reviewed write
Credential and access installers list, gpo-sccm-files-generate, mobile-devices-batch-get-enrollment-links, roles create, role-assignments-assign-role Human-in-the-loop only
Destructive / high-risk groups delete, policies delete, edr-rules delete, quarantined-objects-restore, quarantined-objects-purge, import Human-in-the-loop only, explicit confirmation

The skill signs in as the ESET Connect API user you create, so that user’s access rights are the real boundary. Reads, reports and the local mirror are safe to allow. Response actions (scan, isolate, release), policy and EDR rule changes, quarantine restores and deletes reach real customer machines and need a human to approve the exact request. Full details in governance.md.

Frequently asked questions

Is there an MCP server for ESET PROTECT?

Yes - this one. A free, open source MCP server and Claude Code Skill for ESET PROTECT, built for MSPs. It runs locally on your machine, works with Claude, ChatGPT, Copilot, and any MCP-capable agent, and installs in about 60 seconds.

Is the ESET PROTECT MCP server safe for client data?

Yes, by design - and the exceptions are ones you switch on yourself. The CLI, the MCP server, and any local data mirror run on your own machine, and nothing is sent to MSP Skills or any third party unless you ask for it. Three paths can move data off the machine, all opt-in: --deliver webhook:<url> posts a command’s output to a URL you name; ESET_PROTECT_FEEDBACK_AUTO_SEND=true posts feedback you typed to the URL in ESET_PROTECT_FEEDBACK_ENDPOINT (with no endpoint set, feedback only writes a local file); --transport http opens a local MCP listener you then choose whether to expose. The API user’s password stays in your environment and is never written to disk, but the access and refresh tokens the CLI mints are cached in its credentials.toml (owner-only permissions), so removing the environment variables does not revoke access - run eset-protect-cli auth logout on every machine that cached them, and every command is safety-tiered (read, write, destructive) so your agent only gets the permissions you grant. Full policy in the safety model on this page.

Does this work with ChatGPT?

Yes, on paid ChatGPT plans, if its connector settings can send a bearer token. ChatGPT connects to remote MCP servers over HTTPS, so you run eset-protect-mcp –transport http with ESET_PROTECT_MCP_HTTP_TOKEN set to at least 32 characters on an HTTPS host you control (it refuses to start without the token, and every request must send it). Step-by-step in the install guide.

Do I need to know how to code?

No. Paste one sentence into Claude Code or Codex and your agent does the install, or run a one-line installer. You enter your credentials once.

Is my ESET data safe?

Your data stays on your machine. The CLI, MCP server, and the local mirror are all local. The AI sees query results, not raw bulk data, and credentials are never bundled or transmitted by MSP Skills.

What does it cost?

Free. Apache-2.0 licensed. You pay only for whichever AI agent you already use.

What ESET account do I need?

A dedicated ESET Connect API user. A Superuser or Root creates it in ESET PROTECT Hub, ESET Business Account or ESET MSP Administrator 2 and turns on the Integrations toggle; the Superuser or Root account itself cannot be given API access. The new user accepts the invitation email and finishes account setup, and a Hub user must also sign in to ESET PROTECT Hub once. Set ESET_PROTECT_USERNAME and ESET_PROTECT_PASSWORD; the CLI exchanges them for a one-hour token.

Which region should I set?

Set ESET_PROTECT_REGION to the region of your ESET PROTECT console: eu (the default), de, us, ca or jpn. The jpn region has no quarantine or Cloud Office user API, and no v2 detection list.

Will this hit ESET Connect rate limits?

ESET Connect allows 10 calls per second for each set of credentials, account and source IP, and answers 429 above that; under its Fair Use Policy a very large burst is slowed to 2 requests per second and the rest is rejected with 50x. The CLI slows down and retries when it sees a 429; set –rate-limit 8 to stay under the limit from the start and keep sync –concurrency low. Slow requests answered with 202 and a response id are polled until –timeout runs out (60 seconds by default). ESET answers 504 to a query that is not ready within 120 seconds, so pass –timeout 3m for large queries and narrow the query if ESET still answers 504.

Can the AI isolate a machine or change a policy by itself?

The respond commands only print the task unless you add –yes, and over MCP they only preview. Other write commands run when invoked on the command line unless you pass –dry-run. Over MCP, the generic eset-protect_execute tool can reach any state-changing ESET Connect endpoint, but it only previews the call until the call carries confirm: true. For a read-only agent, set ESET_PROTECT_MCP_READ_ONLY=1 in the MCP server’s environment: no tool that changes ESET is offered and installer and enrollment links are refused. Keep your AI app’s approval prompt on.

Does it work with on-premises ESET PROTECT?

No. It signs in through the ESET Connect cloud API, so it works with ESET PROTECT (cloud). An on-premises ESET PROTECT server uses a different API and sign-in, which this connector does not support.

Does it replace the ESET PROTECT console?

No. The console stays the place for policy editing, investigations in ESET Inspect and day-to-day administration. This skill answers the across-every-customer questions and runs previewed actions from your AI agent.

More Security connectors

Run more than one Security tool, or comparing options? These connectors work the same way: Abnormal Security · Avanan · Bitdefender GravityZone · Blackpoint Cyber · Blumira · CIPP + Microsoft 365 · Cisco Duo · Cisco Umbrella · ConnectSecure · Cork · CrowdStrike Falcon · DNSFilter · Exchange Online · Fortinet · Google Workspace · Huntress · Keeper Admin and MSP Console · KnowBe4 · Microsoft Graph · Mimecast · Proofpoint TAP · RocketCyber · runZero · SaaS Alerts · SentinelOne · SonicWall · Sophos Central · ThreatDown · ThreatLocker · WatchGuard Cloud

Status

Beta. Validated against the ESET PROTECT API surface and being validated with MSPs running it live against their own production tenants in our weekly Build Sessions.

Build Sessions are free and stay free - The Build Room is where the deep work happens.


Standards. Conforms to the open Agent Skills spec (Anthropic, Dec 2025; 40+ agents). MCP-compatible - works with any MCP-capable agent including Hermes. OpenClaw-ready (frontmatter pre-wired, awaiting OpenClaw launch).

Maintained by Servosity for the MSP community. Apache-2.0 licensed. Built with CLI Printing Press.