qusto-mcp
v1.2.0
Published
Model Context Protocol server for Qusto Analytics (Core+ external API)
Maintainers
Readme
qusto-mcp
MCP server for Qusto Analytics. Wraps the Core+ External API
(X-Qusto-API-Key) so assistants (Claude Desktop, Cursor, etc.) can query account,
sites, traffic aggregates, realtime visitors, revenue, and plan-gated commerce metrics.
Docs: qusto.io/docs/api
OpenAPI: qusto.io/docs/api/openapi.yaml (API 1.1.0)
License
Proprietary — see LICENSE. For use with a valid Qusto Cloud plan (Core+). Not an open-source grant. Support: [email protected].
Setup
- Create an API key in Qusto → Settings → API Access (Core and above).
- Configure your MCP client:
{
"mcpServers": {
"qusto": {
"command": "npx",
"args": ["-y", "qusto-mcp"],
"env": {
"QUSTO_API_KEY": "qk_live_...",
"QUSTO_API_BASE": "https://app.qusto.io/api/v1"
}
}
}
}Tools
| Tool | API |
|------|-----|
| get-account | GET /external/account |
| list-sites | GET /external/sites |
| list-events | GET /external/events |
| get-aggregation | GET /external/stats/aggregate (+ breakdown/timeseries helpers) |
| get-current-visitors | GET /external/stats/realtime — returns { visitors: N } |
| get-revenue | GET /external/revenue |
| get-funnel-conversion | GET /external/funnel/conversion |
| get-cart-abandonment | GET /external/cart/abandonment (Growth+) |
| get-customer-ltv | GET /external/customers/ltv-bands (Growth+) |
| get-data-coverage | GET /external/data-coverage |
| get-attribution-summary | GET /external/attribution/summary (Professional+) |
Never put internal service keys in MCP env — only the merchant qk_live_* key from Settings → API Access.
Privacy boundary
Every tool returns aggregates only. No tool returns individual customers, customer tokens, order rows, or per-person spend, and no DSAR or personal-data endpoint is exposed over MCP.
Changed in 1.1.0 —
get-customer-ltv. It previously returned individual customer rows including a customer token and exact lifetime spend. It now returns a k-anonymity-suppressed distribution of spend bands with customer counts. The tool name and inputs are unchanged, so existing configurations keep working, but the shape of the result is different — anything parsing the old per-customer rows needs updating. If you need the previous behaviour, callGET /external/customers/ltvdirectly against the REST API; it is deprecated and not suppressed, and it is not reachable through this server.
What get-data-coverage is for
It answers "how many of my real, paid orders did my analytics tag never record?"
Orders reach Qusto by two independent paths: the on-site tag, and the store platform's server-to-server order webhook. Orders present only in the webhook had no tag session — script blocked, JavaScript off, consent declined, redirect abandoned. The tool returns those counts, the revenue behind them, and tag coverage as a percentage, taken from the store's own order record rather than estimated. It is the natural tool to reach for when a merchant's platform revenue and their analytics revenue disagree.
