MCP tool
get_brand_analytics
Read advertiser-owned Plausible website traffic, an optional exact goal display-name filter and currency-preserved revenue for a date range. The Stats API proves its executed filter but does not enumerate configured goal identities, so zero is explicitly ambiguous. Prefer tenant-scoped campaignId, which resolves the campaign’s immutable analytics key; the stored destination URL is context, not a page/path filter, and raw campaign is advanced compatibility only. The response is correlated brand-site evidence, not a causal media claim.
Input
Pass fields from this schema as the tool arguments. Runtime ownership, product scope and readiness checks still apply.
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"fromDate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"toDate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"goal": {
"type": "string",
"minLength": 1,
"maxLength": 120
},
"campaignId": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"campaign": {
"type": "string",
"minLength": 1,
"maxLength": 200
}
},
"required": [
"fromDate",
"toDate"
]
}REST mapping and authority
The tool wraps this REST endpoint. The mapping identifies path/query/body transformations and approval or idempotency headers.
{
"method": "GET",
"path": "/api/v1/workspace/analytics",
"pathFields": [],
"pathSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
},
"pathEncoding": "encodeURIComponent for each path field",
"governedAction": null,
"headers": {},
"querySchema": {
"type": "object",
"properties": {
"fromDate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"toDate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"goal": {
"type": "string",
"minLength": 1,
"maxLength": 120
},
"campaignId": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"campaign": {
"type": "string",
"minLength": 1,
"maxLength": 200
}
},
"additionalProperties": false,
"required": [
"fromDate",
"toDate"
]
},
"queryEncoding": "URLSearchParams; omit undefined fields, stringify supplied values",
"responseMapping": "REST JSON is returned as MCP structuredContent and a compatibility text block; privacy-sensitive tools validate their output schema."
}Output
This is the registered MCP output envelope. Nested fields are only modeled where the schema explicitly defines them.
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {},
"additionalProperties": {}
}Safety annotations
{
"readOnlyHint": true,
"destructiveHint": false,
"idempotentHint": false,
"openWorldHint": false
}Annotations help a client present the tool. The API independently enforces authorization and exact action approvals. Error and retry guidance →