---
title: "Kaseya VSA MCP server for AI agents - actionlake"
description: "Give Claude 275 Kaseya VSA actions through one MCP server: audit, agents, agent procedures. Your agent never holds the credential. 100,000 calls a month free."
canonical: https://actionlake.com/connectors/kaseya-vsa
updated: 2026-10-23
---

Connectors · MSP & PSA

# Kaseya VSA MCP server for AI agents.

actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Kaseya VSA and the rest of your systems. It gives your agent 275 Kaseya VSA actions (152 reads, 84 writes and 39 that wait for a confirmation) and holds the Kaseya VSA credential itself, so the agent never does. It paces Kaseya VSA's limits and records every call.

[Connect Kaseya VSA free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.

`claude mcp add --transport http actionlake https://connect.actionlake.com/mcp`

the first call

```
do {
  action: "kaseya_vsa.users.list",
  intent: "check which Kaseya VSA account is connected"
}
# List VSA users · read · 1 upstream call
```

- 275 actions in one signed file
- 152 read look, never change
- 84 write create and update
- 39 wait for a yes destructive, confirmed first

Set up

## Connect Kaseya VSA in three steps.

1. 01
   ### Add actionlake to Claude.
   Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.
   `https://connect.actionlake.com/mcp`
2. 02
   ### Connect Kaseya VSA.
   Session login. actionlake opens the session and renews it when it expires. actionlake stores what you paste write-only, sealed under your tenant's key.
   - `username` VSA user name the token belongs to
   - `personal_access_token` Personal Authentication Token created in VSA under the user's profile (User Profile > Personal Authentication…
   - `host` Where your Kaseya VSA lives: your host
   ```
   account { op: "connections.requirements", service: "kaseya_vsa" }
   # free: exactly what to paste, and what is found for you
   ```
3. 03
   ### Make the first call. Check before a write.
   Ask in plain words; Claude picks the action. Before anything changes, `check` validates the call and prices it, for free.
   ```
   do    { action: "kaseya_vsa.users.list" }
   # list vsa users · read · 1 upstream call
   check { action: "kaseya_vsa.users.create", input: { … } }
   # free: inputs, permissions, cost and confirmations, nothing sent
   ```

Kaseya VSA at a glance

**Sign-in**

Session login. actionlake opens the session and renews it when it expires.

**You provide**

`username` `personal_access_token`

**Setup fields**

`host`

**Limits we pace to**

10 calls a second, per connection

**API covered**

Kaseya VSA REST API v1.0 (VSA 9.5), at your Kaseya VSA instance's API base URL, which you enter when connecting (path /api/v1.0)

**Built from**

Kaseya VSA's documentation, read 23 October 2026[help.vsa9.kaseya.com](https://help.vsa9.kaseya.com/help/Content/Modules/rest-api/home.htm) [GitHub](https://github.com/Kaseya-Automation-Team/VSAModule)

**Service file**

Version 1.0.0, signed (Ed25519)

**Cached reads**

149 of 152 reads, for up to 5 minutes; a write clears what it affects

**Shared entities**

8, so ask can line Kaseya VSA up with your other systems

**Data**

Processed and stored in Sydney, Australia. No US region yet

Capabilities

## What an AI agent can do in Kaseya VSA.

275 actions in 53 areas. Every one carries its effect, so a key can allow the reads and hold the rest.

- **152** read look, never change
- **84** write create and update
- **39** destructive wait for a confirmation

1. ### Audit
   22
   15 read · 7 write · 0 destructive
   Get an agent's audited Add/Remove Programs list · Get an agent's audited credentials · Get an agent's audited disk volumes · Get an agent's audited local groups
2. ### Agents
   19
   11 read · 7 write · 1 destructive
   List agent machines · Get an agent machine · Delete an agent account · List admins active on agent machines
3. ### Agent procedures
   17
   10 read · 3 write · 4 destructive
   List agent procedures · Run an agent procedure on an agent now · List agent procedure execution history · List an agent's procedure run history
4. ### Logs
   15
   15 read · 0 write · 0 destructive
   Agent log of an agent · Agent procedure log of an agent · Alarm log of an agent · Application event log of an agent
5. ### Assets
   10
   4 read · 5 write · 1 destructive
   List assets · Get an asset · Delete an asset · Publish a device to a discovery network
6. ### Patch
   10
   3 read · 4 write · 3 destructive
   List an agent's patch history · List patches missing on an agent · Run a patch scan on an agent now · Schedule patch installation for an agent
7. ### Users
   10
   3 read · 3 write · 4 destructive
   List VSA users · Get a VSA user · Create a VSA user · Update a VSA user
8. ### Documents
   9
   5 read · 2 write · 2 destructive
   List service audits across agents · List volume labels across agents · Create an agent document folder · List distinct service names

**45 more areas · 163 actions**

- Orgs **8**
- Service desk tickets **8**
- Scopes **7**
- Staff **7**
- Temporary agents **7**
- Tenant role types **7**
- Tenants **7**
- Custom fields **6**
- Machine groups **6**
- Session timers **6**
- Agent packages **5**
- Departments **5**
- Remote control services **5**
- Roles **5**
- Service desks **5**
- Tickets **5**
- Agent notes **4**
- Cloud backup **4**
- Tenant modules **4**
- Third party app notifications **4**
- Admin tasks **3**
- Alarms **3**
- Alerts **3**
- Custom extensions **3**
- Customers **3**
- Info center messages **3**
- Functions **2**
- Get files **2**
- Modules **2**
- Remote control machines **2**
- Role types **2**
- Service desk ticket notes **2**
- Sessions **2**
- Tenant licensing **2**
- Tenant settings **2**
- Third party apps **2**
- Work orders **2**
- Alert definitions **1**
- Asset types **1**
- Email **1**
- Environment **1**
- Notifications **1**
- Remote control **1**
- Variables **1**
- Views **1**

Top actions

## The Kaseya VSA API, shaped for agents.

The ids your agent types, what each does, and the one name it shares with other systems. 31 of Kaseya VSA's 31 action names are shared with at least one other connector, so an agent learns them once.

| Action | What it does | Effect | Same name in |
| --- | --- | --- | --- |
| `kaseya_vsa.users.list` List VSA users | List VSA users. | read | `identity.user.list` 474 connectors |
| `kaseya_vsa.roles.list` List user roles | List user roles. | read | `identity.role.list` 184 connectors |
| `kaseya_vsa.users.get` Get a VSA user | Get a VSA user. | read | `identity.user.get` 399 connectors |
| `kaseya_vsa.service_desk_tickets.list` List tickets of a service desk | List tickets of a service desk. | read | `service.ticket.list` 56 connectors |
| `kaseya_vsa.orgs.list` List organizations | List organizations. | read | `crm.company.list` 162 connectors |
| `kaseya_vsa.users.create` Create a VSA user | Create a VSA user. | write | `identity.user.create` 262 connectors |
| `kaseya_vsa.service_desks.list` List service desks | List service desks. | read | `service.queue.list` 21 connectors |
| `kaseya_vsa.agents.list` List agent machines | List agent machines. | read | `device.endpoint.list` 65 connectors |
| `kaseya_vsa.alarms.list` List alarms | List alarms. | read | `monitoring.alert.list` 51 connectors |
| `kaseya_vsa.roles.create` Create a user role | Create a user role. | write | `identity.role.create` 105 connectors |
| `kaseya_vsa.service_desk_tickets.create` Create a service desk ticket | Create a service desk ticket. | write | `service.ticket.create` 54 connectors |
| `kaseya_vsa.users.delete` Delete a VSA user | Delete a VSA user. | destructive | `identity.user.delete` 253 connectors |

Try it

## Prompts to paste into Claude.

Each one names the Kaseya VSA actions it will call, so you know what it reads and what it changes before you send it.

1. Read read
   Which Kaseya VSA tickets have been open the longest? Show me the ten oldest with their status.
   calls `kaseya_vsa.service_desk_tickets.list`
2. Write write
   Create a VSA user in Kaseya VSA. Show me exactly what you will send before you save it.
   calls `kaseya_vsa.users.create`
3. Across systems read
   Which Kaseya VSA companies have invoices in NetSuite, and how many each?
   calls `kaseya_vsa.orgs.list` `netsuite.views.invoices`

Across your systems

## Kaseya VSA, joined to the rest of your business.

One `ask` fetches from Kaseya VSA and another system, joins the rows on the same customer on our side, and hands your agent the answer, not every row.

- Which Kaseya VSA companies have invoices in NetSuite, and how many each?
  `kaseya_vsa.orgs.list` + `netsuite.views.invoices`, on `crm.company` · [NetSuite](https://actionlake.com/connectors/netsuite)
- Which Kaseya VSA companies have tickets in HubSpot CRM, and how many each?
  `kaseya_vsa.orgs.list` + `hubspot_crm.tickets.list`, on `crm.company` · [HubSpot CRM](https://actionlake.com/connectors/hubspot-crm)

Also mapped by other connectors `identity.user` **517** `crm.company` **227** `identity.role` **107** `device.endpoint` **69** `service.ticket` **62** `monitoring.alert` **56** `asset.asset` **40** `service.queue` **14**

ask

```
ask {
  intent: "which Kaseya VSA companies have invoices in NetSuite, and how many each",
  steps: [
    { action: "kaseya_vsa.orgs.list", as: "co", input: {}, limit: 100, max_pages: 5 },
    { action: "netsuite.views.invoices", as: "inv", input: {}, limit: 100, max_pages: 5 },
    { join: {
        left: "co",
        right: "inv",
        on: "crm.company",
        group_by: "co.name",
        select: ["co.name", "count(inv.id) as invoices"]
    } }
  ]
}
```

Example. Run it through check first: it validates the steps and prices them, and it is free.

Governance for Kaseya VSA

## Destructive actions wait for a yes.

39 Kaseya VSA actions are destructive. The first 10:

- Delete a VSA user `kaseya_vsa.users.delete`
- Delete a user role `kaseya_vsa.roles.delete`
- Delete an organization `kaseya_vsa.orgs.delete`
- Delete an agent account `kaseya_vsa.agents.delete`
- Delete an asset `kaseya_vsa.assets.delete`
- Run an agent procedure on an agent now `kaseya_vsa.agent_procedures.run_now`
- Delete a staff member `kaseya_vsa.staff.delete`
- Delete a scope `kaseya_vsa.scopes.delete`
- Disable a VSA user `kaseya_vsa.users.disable`
- Add a user to a role `kaseya_vsa.roles.add_user`

A destructive action runs only with `confirm: true`. Under the `human` policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.

do kaseya_vsa.users.delete confirm_policy: **human**

Delete a VSA user?

**intent:** the user asked me to delete a VSA user

run suspended · waiting for a named person · key _kaseya-vsa-agent_ cannot confirm itself

In the console, or from an emailed signed link.

a key for this connector

```
account {
  op: "keys.create", name: "kaseya-vsa-agent",
  allowed_actions: ["kaseya_vsa.*"], cap_calls: 2000,
  confirm_policy: "human_for_writes",
  approval_rules: [
    { match: "kaseya_vsa.users.delete", approver: "lead@example.com" },
    { match: "kaseya_vsa.roles.delete", approver: "lead@example.com" },
    { match: "kaseya_vsa.orgs.delete", approver: "lead@example.com" }
  ]
}
```

Illustrative. Scoped to Kaseya VSA only, capped at 2,000 upstream calls, every write confirmed, and the destructive ones approved by a named person.

Cost

## What Kaseya VSA costs on actionlake.

Every Kaseya VSA action is one upstream call, the only thing actionlake bills. Searching, `check`, `cost`, `account` and any call Kaseya VSA refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

- 1 upstream call per action all 275 Kaseya VSA actions
- 275 actions page each page of a long list is one call
- 149 reads can be cached a cache hit costs nothing
- 100,000 calls a month, free paid plans from US$49 a month for 250,000

[See pricing](https://actionlake.com/pricing)

Action index

## Every Kaseya VSA action.

275 actions by area: the id your agent calls, what it does, and its effect.

**Audit 22**

- `kaseya_vsa.audit.add_remove_programs` Get an agent's audited Add/Remove Programs list read
- `kaseya_vsa.audit.credentials` Get an agent's audited credentials read
- `kaseya_vsa.audit.disk_volumes` Get an agent's audited disk volumes read
- `kaseya_vsa.audit.groups` Get an agent's audited local groups read
- `kaseya_vsa.audit.installed_applications` Get an agent's audited installed applications read
- `kaseya_vsa.audit.local_group_members` Get an agent's audited local group members read
- `kaseya_vsa.audit.pci_and_disk` Get an agent's audited PCI and disk hardware read
- `kaseya_vsa.audit.printers` Get an agent's audited printers read
- `kaseya_vsa.audit.purchase_and_warranty` Get an agent's audited purchase and warranty expiry dates read
- `kaseya_vsa.audit.run_baseline` Run a baseline audit on an agent now write
- `kaseya_vsa.audit.run_latest` Run a latest audit on an agent now write
- `kaseya_vsa.audit.run_sysinfo` Run a system information audit on an agent now write
- `kaseya_vsa.audit.schedule_baseline` Schedule a baseline audit on an agent write
- `kaseya_vsa.audit.schedule_latest` Schedule a latest audit on an agent write
- `kaseya_vsa.audit.schedule_sysinfo` Schedule a system information audit on an agent write
- `kaseya_vsa.audit.security_products` Get an agent's audited security products read
- `kaseya_vsa.audit.set_purchase_and_warranty` Set an agent's purchase and warranty expiry dates write
- `kaseya_vsa.audit.software_licenses` Get an agent's audited software licences read
- `kaseya_vsa.audit.startup_apps` Get an agent's audited startup applications read
- `kaseya_vsa.audit.summaries` List audit summaries of all agents read
- `kaseya_vsa.audit.summary` Get an agent's audited audit summary read
- `kaseya_vsa.audit.user_accounts` Get an agent's audited local user accounts read

**Agents 19**

- `kaseya_vsa.agents.active_admins` List admins active on agent machines read
- `kaseya_vsa.agents.add_remote_control_audit_entry` Add a Live Connect audit log entry for an agent write
- `kaseya_vsa.agents.connection_gateway_ips` List agent connection gateway IPs read
- `kaseya_vsa.agents.delete` Delete an agent account destructive
- `kaseya_vsa.agents.get` Get an agent machine read
- `kaseya_vsa.agents.list` List agent machines read
- `kaseya_vsa.agents.list_in_view` List agents in an agent view read
- `kaseya_vsa.agents.list_on_network` List agents in a discovery network read
- `kaseya_vsa.agents.rename` Rename an agent write
- `kaseya_vsa.agents.set_checkin_control` Update an agent's check-in control write
- `kaseya_vsa.agents.set_temp_dir` Set an agent's working (temp) directory write
- `kaseya_vsa.agents.set_user_profile` Update an agent's user profile write
- `kaseya_vsa.agents.settings` Get an agent's settings read
- `kaseya_vsa.agents.suspend` Suspend or resume agents write
- `kaseya_vsa.agents.two_factor_settings` Get an agent's two-factor settings read
- `kaseya_vsa.agents.update_schedule` Get an agent's update schedule read
- `kaseya_vsa.agents.upgrade` Upgrade an agent to the current version write
- `kaseya_vsa.agents.uptime` List agent uptime since a date read
- `kaseya_vsa.agents.user_profiles` List agent user profiles read

**Agent procedures 17**

- `kaseya_vsa.agent_procedures.add_quick_launch` Add an agent procedure to quick launch write
- `kaseya_vsa.agent_procedures.ask_before_executing` Get the quick-launch ask-before-executing setting read
- `kaseya_vsa.agent_procedures.cancel_scheduled` Cancel a scheduled agent procedure on an agent destructive
- `kaseya_vsa.agent_procedures.execution_history` List agent procedure execution history read
- `kaseya_vsa.agent_procedures.history` List an agent's procedure run history read
- `kaseya_vsa.agent_procedures.list` List agent procedures read
- `kaseya_vsa.agent_procedures.portal` List agent procedures published to the user portal read
- `kaseya_vsa.agent_procedures.procedure_history` List agent procedure change history read
- `kaseya_vsa.agent_procedures.prompts` List prompts of all agent procedures read
- `kaseya_vsa.agent_procedures.prompts_by_procedure` List the prompts of an agent procedure read
- `kaseya_vsa.agent_procedures.quick_launch` List quick-launch agent procedures read
- `kaseya_vsa.agent_procedures.remove_quick_launch` Remove an agent procedure from quick launch destructive
- `kaseya_vsa.agent_procedures.run_now` Run an agent procedure on an agent now destructive
- `kaseya_vsa.agent_procedures.run_now_get_id` Run an agent procedure now and return its run id destructive
- `kaseya_vsa.agent_procedures.schedule` Schedule an agent procedure on an agent write
- `kaseya_vsa.agent_procedures.scheduled` List procedures scheduled on an agent read
- `kaseya_vsa.agent_procedures.set_ask_before_executing` Set the quick-launch ask-before-executing setting write

**Logs 15**

- `kaseya_vsa.logs.agent` Agent log of an agent read
- `kaseya_vsa.logs.agent_procedure` Agent procedure log of an agent read
- `kaseya_vsa.logs.alarm` Alarm log of an agent read
- `kaseya_vsa.logs.application_event` Application event log of an agent read
- `kaseya_vsa.logs.configuration_changes` Configuration changes log of an agent read
- `kaseya_vsa.logs.directory_service_event` Directory service event log of an agent read
- `kaseya_vsa.logs.dns_server_event` DNS server event log of an agent read
- `kaseya_vsa.logs.internet_explorer_event` Internet Explorer event log of an agent read
- `kaseya_vsa.logs.legacy_remote_control` Legacy remote control log of an agent read
- `kaseya_vsa.logs.log_monitoring` Log monitoring log of an agent read
- `kaseya_vsa.logs.monitor_action` Monitor action log of an agent read
- `kaseya_vsa.logs.network_statistics` Network statistics log of an agent read
- `kaseya_vsa.logs.remote_control` Kaseya Remote Control log of an agent read
- `kaseya_vsa.logs.security_event` Security event log of an agent read
- `kaseya_vsa.logs.system_event` System event log of an agent read

**Assets 10**

- `kaseya_vsa.assets.agent_audit` Get the agent audit of an asset read
- `kaseya_vsa.assets.assign_service` Assign remote-control services to an asset write
- `kaseya_vsa.assets.delete` Delete an asset destructive
- `kaseya_vsa.assets.demote_to_device` Demote an asset to a device write
- `kaseya_vsa.assets.get` Get an asset read
- `kaseya_vsa.assets.get_by_id` Get an asset record by asset id read
- `kaseya_vsa.assets.list` List assets read
- `kaseya_vsa.assets.promote_to_asset` Promote a discovered device to an asset write
- `kaseya_vsa.assets.publish_device` Publish a device to a discovery network write
- `kaseya_vsa.assets.set_proxy` Set the proxy agent of an asset write

**Patch 10**

- `kaseya_vsa.patch.cancel_schedule` Cancel scheduled patch installs on an agent destructive
- `kaseya_vsa.patch.clear_ignore` Clear the ignore flag of a patch on an agent destructive
- `kaseya_vsa.patch.delete_patch_data` Clear patch data for agents destructive
- `kaseya_vsa.patch.history` List an agent's patch history read
- `kaseya_vsa.patch.missing` List patches missing on an agent read
- `kaseya_vsa.patch.scan_now` Run a patch scan on an agent now write
- `kaseya_vsa.patch.schedule_scan` Schedule patch installation for an agent write
- `kaseya_vsa.patch.set_ignore` Mark patches ignored on an agent write
- `kaseya_vsa.patch.status` Get an agent's patch status read
- `kaseya_vsa.patch.update_now` Run a patch update on agents write

**Users 10**

- `kaseya_vsa.users.close_session` Close the current user's API session destructive
- `kaseya_vsa.users.create` Create a VSA user write
- `kaseya_vsa.users.current` Get the authenticated VSA user read
- `kaseya_vsa.users.delete` Delete a VSA user destructive
- `kaseya_vsa.users.disable` Disable a VSA user destructive
- `kaseya_vsa.users.enable` Enable a VSA user write
- `kaseya_vsa.users.get` Get a VSA user read
- `kaseya_vsa.users.list` List VSA users read
- `kaseya_vsa.users.reset_password` Send a password reset to a VSA user destructive
- `kaseya_vsa.users.update` Update a VSA user write

**Documents 9**

- `kaseya_vsa.documents.all_service_audits` List service audits across agents read
- `kaseya_vsa.documents.all_volume_labels` List volume labels across agents read
- `kaseya_vsa.documents.create_folder` Create an agent document folder write
- `kaseya_vsa.documents.delete` Delete an agent document or folder destructive
- `kaseya_vsa.documents.distinct_service_names` List distinct service names read
- `kaseya_vsa.documents.distinct_volume_labels` List distinct volume labels read
- `kaseya_vsa.documents.list` List documents in an agent document folder read
- `kaseya_vsa.documents.move` Move an agent document write
- `kaseya_vsa.documents.rename` Rename an agent document destructive

**Orgs 8**

- `kaseya_vsa.orgs.create` Create an organization write
- `kaseya_vsa.orgs.delete` Delete an organization destructive
- `kaseya_vsa.orgs.get` Get an organization read
- `kaseya_vsa.orgs.list` List organizations read
- `kaseya_vsa.orgs.locations` List organization locations read
- `kaseya_vsa.orgs.networks` List discovery networks for organizations read
- `kaseya_vsa.orgs.types` List organization types read
- `kaseya_vsa.orgs.update` Update an organization write

**Service desk tickets 8**

- `kaseya_vsa.service_desk_tickets.assign_staff` Assign a staff member to a service desk ticket write
- `kaseya_vsa.service_desk_tickets.create` Create a service desk ticket write
- `kaseya_vsa.service_desk_tickets.get` Get a service desk ticket read
- `kaseya_vsa.service_desk_tickets.get_custom_field` Get a custom field value of a service desk ticket read
- `kaseya_vsa.service_desk_tickets.list` List tickets of a service desk read
- `kaseya_vsa.service_desk_tickets.set_custom_field` Set a custom field value on a service desk ticket write
- `kaseya_vsa.service_desk_tickets.set_priority` Set a service desk ticket's priority write
- `kaseya_vsa.service_desk_tickets.set_status` Set a service desk ticket's status write

**Scopes 7**

- `kaseya_vsa.scopes.add_machine_group` Add a machine group to a scope write
- `kaseya_vsa.scopes.add_org` Add an organization to a scope write
- `kaseya_vsa.scopes.add_user` Add a user to a scope write
- `kaseya_vsa.scopes.create` Create a scope write
- `kaseya_vsa.scopes.delete` Delete a scope destructive
- `kaseya_vsa.scopes.get` Get a scope read
- `kaseya_vsa.scopes.list` List scopes read

**Staff 7**

- `kaseya_vsa.staff.create` Create a staff member in a department write
- `kaseya_vsa.staff.delete` Delete a staff member destructive
- `kaseya_vsa.staff.get` Get a staff member read
- `kaseya_vsa.staff.list` List staff members read
- `kaseya_vsa.staff.list_by_department` List staff of a department read
- `kaseya_vsa.staff.list_by_org` List staff of an organization read
- `kaseya_vsa.staff.update` Update a staff member write

**Temporary agents 7**

- `kaseya_vsa.temporary_agents.add_note` Add a note to a temporary agent write
- `kaseya_vsa.temporary_agents.config` Get temporary agent configuration read
- `kaseya_vsa.temporary_agents.create` Create a temporary agent write
- `kaseya_vsa.temporary_agents.delete` Delete a temporary agent destructive
- `kaseya_vsa.temporary_agents.list` List temporary (Live Connect on-demand) agents read
- `kaseya_vsa.temporary_agents.rename` Rename a temporary agent write
- `kaseya_vsa.temporary_agents.send_email` Email a temporary agent download link write

**Tenant role types 7**

- `kaseya_vsa.tenant_role_types.create` Create a tenant role type write
- `kaseya_vsa.tenant_role_types.delete` Delete a tenant role type destructive
- `kaseya_vsa.tenant_role_types.enable_for_tenant` Activate role types for a tenant write
- `kaseya_vsa.tenant_role_types.get` Get a tenant role type read
- `kaseya_vsa.tenant_role_types.list` List tenant role types with their function lists read
- `kaseya_vsa.tenant_role_types.remove_from_tenant` Deactivate a role type for a tenant destructive
- `kaseya_vsa.tenant_role_types.set_limits` Set role type seat limits for a tenant destructive

**Tenants 7**

- `kaseya_vsa.tenants.create` Create a tenant write
- `kaseya_vsa.tenants.deactivate` Deactivate a tenant destructive
- `kaseya_vsa.tenants.delete` Remove a tenant destructive
- `kaseya_vsa.tenants.get` Get a tenant partition with its modules, role types and licence limits read
- `kaseya_vsa.tenants.list` List tenants (partitions) visible to the user read
- `kaseya_vsa.tenants.list_all` List tenant partitions (excluding partition 1) read
- `kaseya_vsa.tenants.rename` Rename a tenant write

**Custom fields 6**

- `kaseya_vsa.custom_fields.create` Create an agent custom field write
- `kaseya_vsa.custom_fields.delete` Delete an agent custom field destructive
- `kaseya_vsa.custom_fields.list` List agent custom field definitions read
- `kaseya_vsa.custom_fields.list_by_agent` List custom field values of an agent read
- `kaseya_vsa.custom_fields.rename` Rename an agent custom field write
- `kaseya_vsa.custom_fields.set_value` Set a custom field value on an agent write

**Machine groups 6**

- `kaseya_vsa.machine_groups.create` Create a machine group in an organization write
- `kaseya_vsa.machine_groups.delete` Delete a machine group destructive
- `kaseya_vsa.machine_groups.get` Get a machine group read
- `kaseya_vsa.machine_groups.list` List machine groups read
- `kaseya_vsa.machine_groups.list_by_org` List machine groups of an organization read
- `kaseya_vsa.machine_groups.rename` Rename a machine group write

**Session timers 6**

- `kaseya_vsa.session_timers.create` Create a session timer write
- `kaseya_vsa.session_timers.delete` Delete a session timer destructive
- `kaseya_vsa.session_timers.force_stop` Force-stop and remove a running session timer destructive
- `kaseya_vsa.session_timers.get` Get a session timer read
- `kaseya_vsa.session_timers.list` List session (time tracking) timers read
- `kaseya_vsa.session_timers.update` Update a running session timer (not committed until stopped) write

**Agent packages 5**

- `kaseya_vsa.agent_packages.create` Create an agent install package write
- `kaseya_vsa.agent_packages.create_link` Create an agent install package download link write
- `kaseya_vsa.agent_packages.delete` Delete an agent install package destructive
- `kaseya_vsa.agent_packages.deploy_page` Get the agent deployment page customization for a partition read
- `kaseya_vsa.agent_packages.list` List agent install packages read

**Departments 5**

- `kaseya_vsa.departments.create` Create a department in an organization write
- `kaseya_vsa.departments.delete` Delete a department destructive
- `kaseya_vsa.departments.get` Get a department read
- `kaseya_vsa.departments.list_by_org` List departments of an organization read
- `kaseya_vsa.departments.update` Update a department write

**Remote control services 5**

- `kaseya_vsa.remote_control_services.create` Create a remote control service write
- `kaseya_vsa.remote_control_services.delete` Delete a remote control service destructive
- `kaseya_vsa.remote_control_services.list` List remote control services read
- `kaseya_vsa.remote_control_services.list_by_asset` List remote control services of an asset read
- `kaseya_vsa.remote_control_services.update` Update a remote control service write

**Roles 5**

- `kaseya_vsa.roles.add_user` Add a user to a role destructive
- `kaseya_vsa.roles.create` Create a user role write
- `kaseya_vsa.roles.delete` Delete a user role destructive
- `kaseya_vsa.roles.get` Get a user role read
- `kaseya_vsa.roles.list` List user roles read

**Service desks 5**

- `kaseya_vsa.service_desks.categories` List ticket categories of a service desk read
- `kaseya_vsa.service_desks.custom_fields` List custom fields of a service desk read
- `kaseya_vsa.service_desks.list` List service desks read
- `kaseya_vsa.service_desks.priorities` List ticket priorities of a service desk read
- `kaseya_vsa.service_desks.statuses` List ticket statuses of a service desk read

**Tickets 5**

- `kaseya_vsa.tickets.add_note` Add a note to a legacy Ticketing ticket and set its fields write
- `kaseya_vsa.tickets.create` Create a legacy Ticketing module ticket write
- `kaseya_vsa.tickets.get` Get a legacy Ticketing module ticket read
- `kaseya_vsa.tickets.list` List legacy Ticketing module tickets read
- `kaseya_vsa.tickets.notes` List notes of a legacy Ticketing ticket read

**Agent notes 4**

- `kaseya_vsa.agent_notes.create` Add a note to an agent write
- `kaseya_vsa.agent_notes.delete` Delete an agent note destructive
- `kaseya_vsa.agent_notes.list` List agent notes read
- `kaseya_vsa.agent_notes.update` Update agent notes write

**Cloud backup 4**

- `kaseya_vsa.cloud_backup.servers` List Kaseya Cloud Backup servers read
- `kaseya_vsa.cloud_backup.status` Get the last Cloud Backup status for an organization read
- `kaseya_vsa.cloud_backup.virtual_machines` List Kaseya Cloud Backup virtual machines read
- `kaseya_vsa.cloud_backup.workstations` List Kaseya Cloud Backup workstations read

**Tenant modules 4**

- `kaseya_vsa.tenant_modules.enable` Activate modules for a tenant write
- `kaseya_vsa.tenant_modules.remove` Deactivate a module for a tenant destructive
- `kaseya_vsa.tenant_modules.set_licenses` Set module licence values for a tenant write
- `kaseya_vsa.tenant_modules.set_usage_type` Set a module's usage type for a tenant write

**Third party app notifications 4**

- `kaseya_vsa.third_party_app_notifications.create` Post a third-party app notification write
- `kaseya_vsa.third_party_app_notifications.delete` Delete a third-party app notification destructive
- `kaseya_vsa.third_party_app_notifications.get` Get one third-party app notification read
- `kaseya_vsa.third_party_app_notifications.list` List notifications posted by a third-party app read

**Admin tasks 3**

- `kaseya_vsa.admin_tasks.create` Create an admin task write
- `kaseya_vsa.admin_tasks.get` Get an admin task read
- `kaseya_vsa.admin_tasks.list` List admin tasks (time tracking) read

**Alarms 3**

- `kaseya_vsa.alarms.close` Close an alarm write
- `kaseya_vsa.alarms.get` Get an alarm read
- `kaseya_vsa.alarms.list` List alarms read

**Alerts 3**

- `kaseya_vsa.alerts.set_agent_alert` Configure an agent alert write
- `kaseya_vsa.alerts.set_system_alert` Configure a system alert write
- `kaseya_vsa.alerts.tracking` Get alert tracking records read

**Custom extensions 3**

- `kaseya_vsa.custom_extensions.create_folder` Create an agent custom extension folder write
- `kaseya_vsa.custom_extensions.delete` Delete an agent custom extension file or folder destructive
- `kaseya_vsa.custom_extensions.list` List an agent's custom extension folder read

**Customers 3**

- `kaseya_vsa.customers.activity_types` List Service Billing activity types read
- `kaseya_vsa.customers.list` List Service Billing customers read
- `kaseya_vsa.customers.resource_types` List Service Billing resource (work order) types read

**Info center messages 3**

- `kaseya_vsa.info_center_messages.delete` Delete an Info Center message destructive
- `kaseya_vsa.info_center_messages.list` List Info Center messages read
- `kaseya_vsa.info_center_messages.mark` Mark Info Center messages read or unread write

**Functions 2**

- `kaseya_vsa.functions.list` List VSA functions (modules and their function ids) read
- `kaseya_vsa.functions.list_by_module` List functions of one VSA module read

**Get files 2**

- `kaseya_vsa.get_files.delete` Delete a file uploaded from an agent destructive
- `kaseya_vsa.get_files.list` List files uploaded from an agent (Get File) read

**Modules 2**

- `kaseya_vsa.modules.is_activated` Check whether a VSA module is activated read
- `kaseya_vsa.modules.is_installed` Check whether a VSA module is installed read

**Remote control machines 2**

- `kaseya_vsa.remote_control_machines.list` List remote-control-capable machines read
- `kaseya_vsa.remote_control_machines.list_by_view` List remote-control-capable machines in a view read

**Role types 2**

- `kaseya_vsa.role_types.get` Get a role type read
- `kaseya_vsa.role_types.list` List role types read

**Service desk ticket notes 2**

- `kaseya_vsa.service_desk_ticket_notes.create` Add a note to a service desk ticket write
- `kaseya_vsa.service_desk_ticket_notes.list` List notes of a service desk ticket read

**Sessions 2**

- `kaseya_vsa.sessions.echo_auth` Test that the session token authenticates read
- `kaseya_vsa.sessions.get_session_id` Get the current API session id read

**Tenant licensing 2**

- `kaseya_vsa.tenant_licensing.get_module` Get licence information for a module read
- `kaseya_vsa.tenant_licensing.list_by_tenant` List module licences of a tenant read

**Tenant settings 2**

- `kaseya_vsa.tenant_settings.default_setting` Get a tenant default setting read
- `kaseya_vsa.tenant_settings.logon_policy` Get the tenant logon policy read

**Third party apps 2**

- `kaseya_vsa.third_party_apps.set_status` Enable or disable a third-party app write
- `kaseya_vsa.third_party_apps.status` List third-party apps and their status for a tenant read

**Work orders 2**

- `kaseya_vsa.work_orders.items` List items of a work order read
- `kaseya_vsa.work_orders.list` List work orders of a Service Billing customer read

**Alert definitions 1**

- `kaseya_vsa.alert_definitions.list` List alert definitions read

**Asset types 1**

- `kaseya_vsa.asset_types.list` List asset types read

**Email 1**

- `kaseya_vsa.email.send` Send an email through the VSA server's outbound mail write

**Environment 1**

- `kaseya_vsa.environment.get` Get VSA server environment information read

**Notifications 1**

- `kaseya_vsa.notifications.create` Send a notification to the VSA notification bar write

**Remote control 1**

- `kaseya_vsa.remote_control.notify_policy` Get the remote control notify policy for an agent machine read

**Variables 1**

- `kaseya_vsa.variables.list` List managed (global) procedure variables read

**Views 1**

- `kaseya_vsa.views.list` List agent views read

Questions

## The Kaseya VSA MCP server, answered.

**Is there a Kaseya VSA MCP server for Claude?**

Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 275 Kaseya VSA actions across audit, agents, agent procedures and logs, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Kaseya VSA.

**What do I need to connect Kaseya VSA?**

VSA user name the token belongs to and Personal Authentication Token created in VSA under the user's profile (User Profile > Personal Authentication…. Plus your host. The free call account { op: "connections.requirements", service: "kaseya_vsa" } lists exactly what to paste.

**Can an AI agent delete or change things in Kaseya VSA?**

Only if its key allows it, and only with an explicit confirmation. 39 Kaseya VSA actions are destructive, including delete a VSA user, delete a user role and delete an organization. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.

**Will an AI agent use up my Kaseya VSA API limit?**

actionlake paces every call to the limits in the Kaseya VSA service file: 10 calls a second per connection. Repeated reads are answered from cache (149 Kaseya VSA actions can be), which never reaches Kaseya VSA.

**What does a Kaseya VSA action cost?**

One upstream call, the only unit actionlake bills. A list that pages bills one call per page (275 Kaseya VSA actions page). Cache hits, searches, dry runs and calls Kaseya VSA refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

**Which Kaseya VSA API does it cover?**

The Kaseya VSA REST API v1.0 (VSA 9.5) at your Kaseya VSA instance's API base URL, which you enter when connecting (path /api/v1.0). It is built from Kaseya VSA's documentation as read on 23 October 2026. 275 actions in 53 areas, each one in the signed service file (version 1.0.0).

**Can I combine Kaseya VSA with my other systems?**

Yes. ask joins Kaseya VSA to NetSuite or HubSpot CRM on the same customer and returns the answer rather than every row. Kaseya VSA maps crm.company, which 227 other connectors also map.

**Does actionlake keep my Kaseya VSA data, and where?**

actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to 5 minutes, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your Kaseya VSA credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.

**Which AI clients can use it?**

Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.

## More connectors like Kaseya VSA

Shares the most action names with

- [Acronis Cyber Protect Cloud 18](https://actionlake.com/connectors/acronis-cyber-protect-cloud)
- [Tactical RMM 18](https://actionlake.com/connectors/tactical-rmm)
- [TP-Link Omada Open API 15](https://actionlake.com/connectors/tp-link-omada-open-api)
- [Veeam Service Provider Console 15](https://actionlake.com/connectors/veeam-service-provider-console)
- [Action1 13](https://actionlake.com/connectors/action1)
- [ThreatDown OneView 12](https://actionlake.com/connectors/threatdown-oneview)

Joins with, on shared entities

- [ERPNext (Frappe) 5](https://actionlake.com/connectors/erpnext-frappe)
- [ServiceNow 4](https://actionlake.com/connectors/servicenow)
- [Genesys Cloud CX 4](https://actionlake.com/connectors/genesys-cloud-cx)
- [Odoo 4](https://actionlake.com/connectors/odoo)
- [Microsoft Dynamics 365 4](https://actionlake.com/connectors/microsoft-dynamics-365)
- [ServiceTitan 4](https://actionlake.com/connectors/servicetitan)

Browse

- [All MSP & PSA connectors](https://actionlake.com/connectors/category/msp-and-psa)
- [All connectors](https://actionlake.com/connectors)
- [How actionlake compares](https://actionlake.com/compare)

actionlake is independent. It is not made or endorsed by Kaseya VSA; the name is the vendor's own. Counts are from the Kaseya VSA service file, version 1.0.0.

## Give your agent Kaseya VSA today.

[Connect Kaseya VSA free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.

---

Source: https://actionlake.com/connectors/kaseya-vsa
More: https://actionlake.com/llms.txt
