Back to Browse

Kaseya Bms MCP Server

Developer ToolsLow Risk10.0MCP RegistryLocal
Free

Server data from the Official MCP Registry

MCP server for Kaseya BMS PSA — tickets, accounts, time entries, contracts.

About

MCP server for Kaseya BMS PSA — tickets, accounts, time entries, contracts.

Security Report

10.0
Low Risk10.0Low Risk

Valid MCP server (3 strong, 1 medium validity signals). No known CVEs in dependencies. Imported from the Official MCP Registry.

5 files analyzed · No 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.

file_system

Check that this permission is expected for this type of plugin.

Shell Command Execution

Runs commands on your machine. Be cautious — only use if you trust this plugin.

HTTP Network Access

Connects to external APIs or services over the internet.

What You'll Need

Set these up before or after installing:

Tenant subdomain (e.g. 'yourcompany' for yourcompany.bms.kaseya.com)Optional

Environment variable: KASEYA_BMS_TENANT_SUBDOMAIN

BMS API token (omit if using Kaseya One token)Required

Environment variable: KASEYA_BMS_API_TOKEN

Kaseya One SSO token (alternative to API token)Required

Environment variable: KASEYA_BMS_K1_TOKEN

Transport mode for the server. Set to 'stdio' for local CLI use; the image defaults to 'http' for gateway hosting.Optional

Environment variable: MCP_TRANSPORT

Credential source: 'env' reads vars locally, 'gateway' expects header injection from the WYRE MCP Gateway.Optional

Environment variable: AUTH_MODE

Log verbosity: debug, info, warn, errorOptional

Environment variable: LOG_LEVEL

Documentation

View on GitHub

From the project's GitHub README.

Kaseya BMS MCP Server

Release License: Apache 2.0

Model Context Protocol (MCP) server for the Kaseya BMS PSA API. Exposes tickets, accounts, contacts, contracts, time entries, the service catalog, and the knowledge base to AI assistants.

Tools

ToolDescription
kaseya_bms_list_ticketsList tickets. Optional $filter; status pick if omitted.
kaseya_bms_get_ticketGet a ticket by id.
kaseya_bms_create_ticketCreate a new ticket (destructive — confirmation required).
kaseya_bms_add_ticket_noteAppend a note to a ticket (destructive — confirmation required).
kaseya_bms_list_time_entriesTime entries by date range (24h / 7d / 30d / custom / all).
kaseya_bms_list_accountsAccounts (clients).
kaseya_bms_list_contactsContacts.
kaseya_bms_list_contractsContracts.
kaseya_bms_list_service_catalogService catalog items.
kaseya_bms_search_knowledge_baseKnowledge base search.

When the user omits required filters or runs a destructive action, the server uses MCP elicitation to prompt for choices or confirm.

Interactive Ticket Card (MCP Apps)

kaseya_bms_get_ticket renders as an interactive card in MCP Apps hosts (Claude Desktop/web) with an in-card "Add note" round-trip via kaseya_bms_add_ticket_note (always posted internal-only); plain-JSON behavior is unchanged in other hosts. The card is neutral by default and brandable via window.__BRAND__ injection or MCP_BRAND_* env vars (MCP_BRAND_NAME, MCP_BRAND_LOGO_URL, MCP_BRAND_PRIMARY_COLOR, MCP_BRAND_ACCENT_COLOR, MCP_BRAND_BG, MCP_BRAND_TEXT) — no rebuild needed. After editing ui/, regenerate the embedded bundle with npm run build:ui.

Configuration

Environment-variable mode (default)

VariableRequiredDescription
KASEYA_BMS_TENANT_SUBDOMAINyesTenant subdomain (e.g. yourcompany)
KASEYA_BMS_API_TOKENone ofBMS API token (secret)
KASEYA_BMS_K1_TOKENone ofKaseya One SSO token (secret)
MCP_TRANSPORTnostdio (default) or http
MCP_HTTP_PORTnoHTTP listen port (default 8080)
AUTH_MODEnoenv (default) or gateway

Either KASEYA_BMS_API_TOKEN OR KASEYA_BMS_K1_TOKEN is required.

Gateway mode

When deployed behind the WYRE MCP Gateway, set AUTH_MODE=gateway and the server will read credentials from per-request HTTP headers:

  • X-Kaseya-BMS-Tenant-Subdomain (required)
  • X-Kaseya-BMS-API-Token (or)
  • X-Kaseya-BMS-K1-Token

Each request creates a fresh server instance with isolated credentials — no cross-tenant process.env pollution.

Local development

npm install
npm run build
KASEYA_BMS_TENANT_SUBDOMAIN=yourcompany \
  KASEYA_BMS_API_TOKEN=... \
  npm start

Run as HTTP for testing:

MCP_TRANSPORT=http npm start
curl http://localhost:8080/health

Docker

docker build -t kaseya-bms-mcp .
docker run --rm -p 8080:8080 \
  -e KASEYA_BMS_TENANT_SUBDOMAIN=yourcompany \
  -e KASEYA_BMS_API_TOKEN=... \
  kaseya-bms-mcp

License

Apache-2.0

Reviews

No reviews yet

Be the first to review this server!