Read only access to Kaseya Quote Manager (Datto Commerce) for MSPs and resellers managing quotes, orders, and procurement. You get 39 tools across five domains: sales (quotes, orders, payments), procurement (POs, suppliers), catalog (products, categories, brands), CRM (customers, contacts), and org data (employees, warehouses). Each entity exposes list and get operations with pagination and filters. Respects the 60 requests per minute rate limit with automatic retry logic. Ships as an MCPB file for one click installation in Claude Desktop, or run it via Docker with HTTP Streamable transport. Authenticate with a single API key from your Quote Manager settings.
A Model Context Protocol (MCP) server that gives AI assistants read-only access to Kaseya Quote Manager (Datto Commerce) — quotes, sales orders, purchasing, the product catalog, and customers.
Maintained by Wyre Technology.
Claude Desktop — download, open, done:
kaseya-quote-manager-mcp.mcpb from the latest releaseClaude Code (CLI):
claude mcp add kaseya-quote-manager-mcp \
-e KASEYA_QUOTE_MANAGER_API_KEY=your-api-key \
-- npx -y github:wyre-technology/kaseya-quote-manager-mcp
Quote Manager authenticates with a single API key sent in the apiKey header. Generate
one in Quote Manager under Settings → API. Set it as KASEYA_QUOTE_MANAGER_API_KEY.
list/get; no tool can
mutate your data.kqm_navigate / kqm_status discovery tools.kqm_navigate to explore a domain's tools.Tools are named kqm_<entity>_list and kqm_<entity>_get.
| Domain | Entities |
|---|---|
sales | quote, quote_section, quote_line, sales_order, sales_order_line, sales_order_payment |
procurement | purchase_order, purchase_order_line, purchase_order_cost, supplier, product_supplier |
catalog | product, product_image (list only), category, brand |
crm | customer, customer_address, contact |
org | employee, warehouse |
list tools accept page, pageSize (max 100), and modifiedAfter where supported, plus
entity-specific filters (e.g. quoteNumber, customerID, purchaseOrderID).
kqm_navigate { "domain": "sales" }
kqm_quote_list { "page": 1, "pageSize": 50 }
kqm_quote_get { "id": 12345 }
kqm_quote_section_list { "quoteID": 12345 }
docker build -t kaseya-quote-manager-mcp .
docker run --rm -p 8080:8080 \
-e MCP_TRANSPORT=http \
-e KASEYA_QUOTE_MANAGER_API_KEY=your-api-key \
kaseya-quote-manager-mcp
# Health: curl localhost:8080/health
In the WYRE MCP Gateway the image runs with AUTH_MODE=gateway; the gateway injects the
key as the x-kaseya-quote-manager-api-key header per request.
npm install
npm run build
npm test
npm run lint
Apache-2.0 © WYRE Technology
KASEYA_QUOTE_MANAGER_API_KEY*secretKaseya Quote Manager API key (Settings → API). Sent in the apiKey header.
MCP_TRANSPORTdefault: stdioTransport mode for the server. Set to 'stdio' for local CLI use; the image defaults to 'http' for gateway hosting.
AUTH_MODEdefault: envCredential source: 'env' reads vars locally, 'gateway' expects header injection from the WYRE MCP Gateway.
LOG_LEVELdefault: infoLog verbosity: debug, info, warn, error
io.github.shelvick/shopify-subscription-reconciliation
zleventer/google-ads-mcp
csoai-org/meok-stripe-acp-checkout-mcp
io.github.mharnett/google-ads
csoai-org/stripe-billing-mcp
co.pipeboard/google-ads-mcp