Kaseya VSA 10 MCP

io.github.ServosityPublished by GitHub account Servosityv0.1.2Updated Nov 7, 2026

Kaseya VSA 10 API, plus a local fleet mirror for patch, health and software questions across clients

Overview

AI-generated overview

Unofficial MCP server for the Kaseya VSA 10 API that lets an assistant query and manage managed devices, patches, health and software across clients.

What you can do
  • Query devices, organizations, sites, groups and assets, and get a per-device brief
  • Report patch exposure by update or by client, plus offline, antivirus, firewall and disk health checks
  • Inspect installed software versions and find devices missing a required agent
  • Read audit logs and search the local fleet mirror synced from VSA
  • Run scripts, tasks and workflows on devices and return exit codes and output
  • Create or update organizations, sites, groups, notifications and webhooks
When to use it
Useful for MSP and IT teams that need fleet-wide answers across many clients, such as which missing updates affect the most devices or which devices are offline or unprotected, rather than looking up one record at a time.
Requirements
Runs locally over stdio (an .mcpb package for Claude Desktop, or an installer that places the CLI and server on your machine). Needs a VSA 10 instance host in KASEYA_VSA_SERVER (or KASEYA_VSA_BASE_URL for non-vsax.net hosts) and an API token ID and secret in KASEYA_VSA_TOKEN_ID and KASEYA_VSA_TOKEN_SECRET. HTTP mode requires KASEYA_VSA_MCP_HTTP_TOKEN and TLS for non-local addresses. Aggregate commands need a prior sync.
Before you install
The token can change and delete data and run code on customer devices; scope the VSA credentials tightly and keep execution and destructive actions human-reviewed. Some commands return stored secrets such as custom-field values, product keys and webhook signing keys. A local SQLite mirror of fleet data is kept unless KASEYA_VSA_NO_LOCAL_DATA is set. Writes are sent immediately unless confirmed through the preview flow or blocked with KASEYA_VSA_MCP_READ_ONLY. Beta, unofficial and not…

Installation

In SourceWeft

  1. Open Kaseya VSA 10 MCP in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

Kaseya VSA 10 + AI - for ChatGPT, Claude, GitHub Copilot, Microsoft 365 Copilot, Gemini, and any agent that speaks MCP

Unofficial. Community-built Claude Code Skill and MCP server for the Kaseya VSA API. Not affiliated with, endorsed by, or sponsored by Kaseya US LLC.

[Kaseya VSA 10 demo - animated preview]

▶ Watch the 30-second demo - demo data is simulated; every command shown exists in the real CLI.

Every Kaseya VSA 10 API endpoint (the platform formerly called VSA X), plus a local fleet database that answers patch, health, and software questions across all your clients offline. Works with the AI you already use - ChatGPT (Plus/Pro+), Claude Desktop, Codex, Claude Code, Claude Cowork, and GitHub Copilot - plus Microsoft 365 Copilot / Copilot Studio and Google Gemini via the remote path. Free, open source, runs on your laptop. Built for MSP owners. No code required.

Works with your agent

The six agents MSP owners actually use (self-serve, works today):

Your AI agentHow to install the Kaseya VSA skill
Claude DesktopRun installer, then Settings > Extensions to register kaseya-vsa-mcp (no JSON editing).
ChatGPT (paid plans)Run installer, host kaseya-vsa-mcp over HTTPS with KASEYA_VSA_MCP_HTTP_TOKEN set, then register it as a Developer Mode connector if your connector settings can send the bearer token.
Codex CLIPaste the install prompt below.
Claude CodePaste the install prompt below.
Claude CoworkPaste the install prompt below.
GitHub Copilot (VS Code)Run installer, add kaseya-vsa-mcp to mcp.json under the servers key, then pick Agent mode.

For ChatGPT, run kaseya-vsa-mcp --transport http with KASEYA_VSA_MCP_HTTP_TOKEN set, on an HTTPS host; every request sends that token. See mcp-install.md.

Also for the Microsoft and Google stacks

Big install base, but an honest heads-up: these are the remote / enterprise path, not the local binary you just installed.

AgentWhat it takes
Microsoft 365 Copilot / Copilot StudioNot self-serve. Host kaseya-vsa-mcp over HTTPS with KASEYA_VSA_MCP_HTTP_TOKEN set, then wire it into Copilot Studio (Tools > Add a tool > Model Context Protocol > Server URL) or a declarative agent, if it can send the bearer token. Needs a Copilot Studio license + tenant admin. See mcp-install.md.
Google GeminiGemini CLI is local - same as Claude Code. The Gemini app is remote - same HTTPS path as ChatGPT. See mcp-install.md.

Skill-native agents (also covered): Hermes and OpenClaw read this skill's SKILL.md directly and speak MCP - see their install sections below. Also works with Cursor, Windsurf, Cline, Continue.dev, and Zed via MCP. Full per-tool wire-up: docs/which-agent.md.

Run more than one agent? Install across all 51+ supported agents in one command: npx skills add Servosity/msp-skills@latest (requires Node.js, then run the per-skill installer for the CLI/MCP binaries). See docs/which-agent.md.

Install in 60 seconds

Fastest for Claude Desktop - one-click .mcpb

Download Kaseya VSA MCP (.mcpb) - then open Claude Desktop > Settings > Extensions and select the file. One click, no JSON, no shell. (Browse every Kaseya VSA release on the releases page.)

Prefer the Claude Code plugin? Add the marketplace once, then install - works immediately, no directory listing required:

/plugin marketplace add Servosity/msp-skills/plugin install kaseya-vsa@msp-skills

Path A - paste one prompt into your AI agent (recommended)

Copy this into Claude Code, Codex CLI, or Claude Cowork:

Install the Kaseya VSA Skill and MCP server from Servosity/msp-skills in this agent workspace. If this workspace uses a POSIX shell (macOS, Linux, WSL, or Bash), run bash <(curl -fsSL https://raw.githubusercontent.com/Servosity/msp-skills/main/skills/kaseya-vsa/install.sh). If it uses Windows PowerShell, run iwr -useb https://raw.githubusercontent.com/Servosity/msp-skills/main/skills/kaseya-vsa/install.ps1 | iex. Then authenticate per the README and run kaseya-vsa-cli --help to explore.

The same prompt works in any agent that can run shell.

Path B - run the installer yourself

Windows (PowerShell):

powershell
iwr -useb https://raw.githubusercontent.com/Servosity/msp-skills/main/skills/kaseya-vsa/install.ps1 | iex

macOS / Linux:

bash
bash <(curl -fsSL https://raw.githubusercontent.com/Servosity/msp-skills/main/skills/kaseya-vsa/install.sh)

The installer drops both kaseya-vsa-cli (the CLI) and kaseya-vsa-mcp (the MCP server) into your user bin path. Claude Code, Codex, and Cowork discover the Skill via SKILL.md in this directory.

Verify:

bash
kaseya-vsa-cli --version

Upgrade to the latest version

The installer always fetches the current release - re-run it to upgrade:

macOS / Linux:

bash
bash <(curl -fsSL https://raw.githubusercontent.com/Servosity/msp-skills/main/skills/kaseya-vsa/install.sh)

Windows (PowerShell):

powershell
iwr -useb https://raw.githubusercontent.com/Servosity/msp-skills/main/skills/kaseya-vsa/install.ps1 | iex

Claude Desktop .mcpb users: download the latest .mcpb (top of this section) and re-select it in Settings > Extensions. Claude Code plugin users: /plugin update kaseya-vsa@msp-skills.

Add to Claude Desktop, GitHub Copilot, Gemini CLI, Microsoft 365 Copilot, or another MCP client

After the installer runs, see mcp-install.md and docs/which-agent.md for the per-agent wire-up - one section per agent, including the GitHub Copilot servers key and the remote Microsoft 365 Copilot / Copilot Studio path. Claude Desktop's Settings > Extensions panel is the simplest path; the MCP config block (for users who prefer editing JSON) is documented in mcp-install.md.

Install for Hermes

From the Hermes CLI:

bash
hermes skills install servosity/msp-skills/skills/kaseya-vsa --force

Inside a Hermes chat session:

/skills install servosity/msp-skills/skills/kaseya-vsa --force

Hermes speaks MCP natively, so it can also use the kaseya-vsa-mcp server directly - same install path, same env vars.

Install for OpenClaw

Tell your OpenClaw agent (copy this):

Install the kaseya-vsa skill from https://github.com/servosity/msp-skills/tree/main/skills/kaseya-vsa. The skill defines how its required CLI (kaseya-vsa-cli) can be installed via the openclaw: frontmatter block.

OpenClaw isn't generally available yet; the frontmatter wiring is pre-shipped and will activate the moment OpenClaw launches.

Authenticate

Create an API token in the VSA 10 console under Administration > Configuration > API Access, then set your instance host and the token ID and secret:

macOS / Linux:

bash
export KASEYA_VSA_SERVER=yourcompany.vsax.netexport KASEYA_VSA_TOKEN_ID=<token-id>export KASEYA_VSA_TOKEN_SECRET=<token-secret>kaseya-vsa-cli doctor

Windows (PowerShell):

powershell
$env:KASEYA_VSA_SERVER = "yourcompany.vsax.net"$env:KASEYA_VSA_TOKEN_ID = "<token-id>"$env:KASEYA_VSA_TOKEN_SECRET = "<token-secret>"kaseya-vsa-cli doctor

KASEYA_VSA_SERVER is the host name only, without https://. The CLI sends the token only to that host and refuses redirects to any other. A server outside vsax.net needs KASEYA_VSA_BASE_URL=https://<server>/api/v3 instead.

doctor checks config and paths, then sends one read request (GET /assets) with your token to the configured server and reports whether the credential was accepted, rejected, or pointed at the wrong base URL. While the server still resolves to the shipped placeholder (yourcompany.vsax.net), it sends nothing and names the variable to set.

What this skill does

Question your MSP keeps askingCommand
Which pending OS updates are exposed on the most devices, across every client?kaseya-vsa-cli patch-exposure --by kb --severity critical,important --agent
Which clients carry the most critical patch exposure?kaseya-vsa-cli patch-exposure --by org --severity critical --agent
Which devices are offline, without working antivirus, or with the firewall off?kaseya-vsa-cli health --check offline,av,firewall --offline-for 72h --agent
Which versions of Google Chrome are installed, and on how many devices?kaseya-vsa-cli software "Google Chrome" --versions --agent
Which devices with software inventory are missing our security agent?kaseya-vsa-cli software "Huntress Agent" --absent --agent
Who did what in the tenant this week?kaseya-vsa-cli audit-logs digest --since 7d --agent
What is going on with this one device right now?kaseya-vsa-cli devices brief FRONTDESK-01 --agent
Run a script on a device and give me the outputkaseya-vsa-cli scripts run-wait <script-id> --device FRONTDESK-01 --agent

patch-exposure, health, software and audit-logs digest read the local mirror: run kaseya-vsa-cli sync first (an empty mirror answers with scanned_devices: 0). devices brief and scripts run-wait call the live API.

Full command reference: guide.md. For the AI-agent operating contract (--agent, --dry-run, when to confirm before mutating), see AGENTS.md.

What makes this different

Most Kaseya VSA integrations and MCP servers proxy each question into a live API call. That's fine for one record. It dies at scale, when you're asking which of 1,200 devices across 40 clients are still missing this month's cumulative update.

This skill syncs Kaseya VSA into a local SQLite mirror with full-text search. Aggregate questions become one local SQL join: instant, offline, and the AI sees the answer, not the raw data. Compound commands like patch-exposure, health and software join devices, their asset inventory, sites and organizations - work a stateless API wrapper can't do. scripts run-wait and tasks run-wait start an automation, wait for it to finish, and return each device's exit code and output in one call.

The pain this closes

Kaseya's own release note for VSA 10 patch status reports says reporting "is currently limited to one policy at a time" (Advanced reporting: Patch status reports, February 2026). An MSP that wants one answer to "what is missing, where" builds a report per policy and joins the exports by hand. The same is true of offline agents, disabled antivirus and full disks: the console shows them one organization or one device at a time.

  • patch-exposure --by kb ranks every missing update by how many devices lack it, with CVSS and days since release.
  • patch-exposure --by org shows which clients carry the most exposure, for the QBR.
  • health lists every device failing an offline, antivirus, firewall, UAC, disk, CPU or memory check, with counts.
  • software --versions and software --absent show version drift and devices missing an agent you require.
  • scripts run-wait runs a script on a device and returns its output, so the technician never opens the execution log.

See pain-point.md for the longer narrative.

Frequently asked questions

Does this work with ChatGPT?

Yes, on Plus, Pro, Team, Business, Enterprise, and Education plans (Free tier does not yet expose Developer Mode). ChatGPT connects to remote MCP servers over HTTPS, not local stdio binaries. The Kaseya VSA MCP server runs locally over stdio by default. Its HTTP mode (kaseya-vsa-mcp --transport http) serves http://127.0.0.1:7777/mcp, refuses to start until KASEYA_VSA_MCP_HTTP_TOKEN is set, requires Authorization: Bearer <token> on every request, and needs --tls-cert/--tls-key for any other address. See mcp-install.md. Step-by-step in mcp-install.md.

Does this work with Codex, Cursor, Windsurf, Cline, Copilot, or Gemini?

Yes - all of them speak MCP. Cross-tool install commands are in the matrix above and the deep-dive in docs/which-agent.md.

Do I need to know how to code?

No. The recommended install is to paste one sentence into Claude Code or Codex - your agent reads SKILL.md and does the install. The fallback is a one-line installer per OS (bash or PowerShell). Neither path requires writing code. You'll enter your Kaseya VSA credentials once.

Is my Kaseya VSA data safe?

Your data stays on your machine. The CLI and MCP server are local binaries. The SQLite mirror sits in a directory under your user account. The AI agent only sees what the CLI returns - typically a query result, not raw bulk data. Credentials are read from your environment or your agent's config; never bundled into this repo or transmitted anywhere by MSP Skills.

Is this for Kaseya VSA 10 or classic VSA 9?

VSA 10, the platform formerly called VSA X, with an instance host such as yourcompany.vsax.net. It uses the VSA 10 REST API (/api/v3) with an API token ID and secret created under Administration > Configuration > API Access. Classic on-premises VSA 9 has a different API and is not supported.

Will this hit my VSA 10 API rate limits?

It is built to stay inside them. VSA 10 limits each API token per hour, so the skill syncs once and then answers fleet questions from the local mirror without new API calls. The CLI paces itself to the server's rate-limit headers, and kaseya-vsa-cli rate-limits shows what is left in the current window.

Does it store my custom-field values or product keys?

No. MSPs often keep BitLocker keys and client passwords in VSA custom fields, so sync never copies custom-field values, webhook signing keys or the Windows product key into the local mirror. Live commands such as devices list-custom-fields still return them, which is why they sit in the credential tier below.

What does it cost?

Free. Apache-2.0 licensed. You pay only for whichever AI agent you use (Claude, ChatGPT, Codex, etc.), and that's billed by your AI provider, not by us.

Safety model

TierExamplesRecommended agent policy
Readdevices list, health, patch-exposure, software, audit-logs digest, devices brief, sync, searchAllow
Write (routine)organizations create/update, sites create/update, groups create/update, devices move, devices publish, notifications create, custom-fields assign/unassign/update-assigned, webhooks create/update, importPreview with --dry-run, then a reviewed write
Endpoint executionscripts run, scripts run-wait, tasks run, tasks run-wait, workflows run, workflows cancel-executionsHuman-in-the-loop only: these run code on customer devices
Credential / secret-bearingany command that can return a stored secret: custom-fields get/list, devices list-custom-fields, organization-custom-fields, site-custom-fields, group-custom-fields, assets list/get-device (AssetInfo holds the Windows product key), groups get-package (agent install link), webhooks get/list/regenerate-secret-key, authHuman-in-the-loop only
Destructiveorganizations delete, sites delete, groups delete, notifications delete, webhooks delete, local-data purgeHuman-in-the-loop only, explicit confirmation

--dry-run is opt-in: the CLI sends a write as soon as it runs. In the MCP server, every tool that changes VSA 10 or runs automation (kaseya-vsa_execute, import, scripts_run_wait, tasks_run_wait) returns a preview and sends only when called again with confirm: true. So does every tool that writes local files (sync, export, teach). A credential in a proxy URL is refused: use a proxy that needs none, or one that identifies you another way.

The strongest control is the scope you grant the Kaseya VSA credentials - the CLI can only do what the credentials are permitted to do. Full details, including how to lock it down, are in governance.md.

Status

Beta. Validated against the Kaseya VSA API surface and being validated with MSPs running it live against their own production tenant in our weekly Build Sessions. RSVP at compoundingteams.com/build-sessions.


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. Apache-2.0 licensed. Built with CLI Printing Press. Last updated: 2026-10-28.

Source: skills/kaseya-vsa/README.md at commit 62ab9f0

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

3
  1. v0.1.2LatestNov 7, 2026
  2. v0.1.1Nov 6, 2026
  3. v0.1.0Nov 5, 2026

Score

40% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

    Declare a license in the repository or the registry entry.