{"servers":[{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.Servosity/kaseya-bms-mcp","description":"CLI and MCP server for Kaseya BMS PSA: tickets, CRM, contracts, finance, and offline analytics.","title":"Kaseya BMS MCP","repository":{"url":"https://github.com/servosity/msp-skills","source":"github","subfolder":"skills/kaseya-bms"},"version":"0.1.9","icons":[{"src":"https://raw.githubusercontent.com/servosity/msp-skills/main/docs/assets/social/kaseya-bms/kaseya-bms-512x512.png","mimeType":"image/png","sizes":["512x512"]}],"packages":[{"registryType":"mcpb","identifier":"https://github.com/Servosity/msp-skills/releases/download/kaseya-bms-v0.1.9/kaseya-bms-mcp.mcpb","version":"0.1.9","fileSha256":"a3dd80d12d4f49816fe91051efbc432aa61f559d745999f999b9a912e4cd49ad","transport":{"type":"stdio"},"environmentVariables":[{"description":"Base URL for the Kaseya BMS API. Leave the prefilled default unless your account uses a different regional or self-hosted host.","default":"https://api.bms.kaseya.com","name":"KASEYA_BMS_BASE_URL"},{"description":"Alias for KASEYA_BMS_TOKEN - a pre-minted Kaseya BMS JWT sent as a Bearer token. Set one of the two, or use 'auth login'.","isSecret":true,"name":"KASEYA_BMS_BEARER_AUTH"},{"description":"Password for KASEYA_BMS_USERNAME. Exchanged for a JWT; never sent on data calls.","isRequired":true,"isSecret":true,"name":"KASEYA_BMS_PASSWORD"},{"description":"Your company name exactly as it appears under My Settings in BMS. The authenticate call rejects the login without it.","isRequired":true,"name":"KASEYA_BMS_TENANT"},{"description":"Pre-minted Kaseya BMS JWT, sent as a Bearer token. Set this OR KASEYA_BMS_BEARER_AUTH; alternatively run 'kaseya-bms-cli auth login' to mint one from username/password/tenant.","isSecret":true,"name":"KASEYA_BMS_TOKEN"},{"description":"Kaseya BMS login used by `auth login` to exchange for a short-lived JWT.","isRequired":true,"name":"KASEYA_BMS_USERNAME"},{"description":"Optional. Set to exactly 1 to expose only read-only tools and refuse any state-changing execute call.","name":"KASEYA_BMS_MCP_READ_ONLY"},{"description":"Optional. Set to 1 to keep no local copy of API responses: reads go to the API and the response cache is off.","name":"KASEYA_BMS_NO_LOCAL_DATA"},{"description":"Required only when running the MCP server with --transport http. Not needed for the default local stdio transport.","isSecret":true,"name":"KASEYA_BMS_MCP_HTTP_TOKEN"},{"description":"Optional. Overrides the User-Agent the CLI sends on Kaseya BMS requests. Leave blank to use the CLI's own built-in User-Agent.","name":"KASEYA_BMS_USER_AGENT"},{"description":"Optional: binds the MCP server to an existing tenant-gated Printing Press client profile. Leave unset for a single-tenant install.","isSecret":true,"name":"PRINTING_PRESS_CLIENT_PROFILE"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-11-06T04:41:31.846514Z","publishedAt":"2026-11-06T04:41:31.846514Z","updatedAt":"2026-11-06T04:41:31.846514Z","isLatest":true}}}],"metadata":{"count":1}}
