Faurya MCP

Analytics

Analytics MCP tools for traffic, visitors, sessions, events, revenue, attribution, cohorts, paths, and AI crawler data.

Analytics tools

The analytics feature is read-only. It allows an approved MCP client to inspect Faurya analytics for permitted sites without changing configuration.

Supported access levels

AccessSupportedAllows
ReadYesAnalytics queries, catalogs, visitors, sessions, events, payments, paths, attribution, cohorts, realtime snapshots, AI crawler analytics, and site context.
WriteNoAnalytics does not expose write tools.

Role requirements and site scoping

Analytics tools are available to connections with analytics:read for the selected site. Supply siteId when the connection has multiple permitted sites. Hidden events are excluded and public metrics, dimensions, filters, operators, event names, and goal names should be discovered with faurya_get_analytics_catalog.

Analytics query model

faurya_query_analytics, faurya_analyze_goals, faurya_analyze_revenue, faurya_analyze_cohorts, and faurya_analyze_attribution share the semantic analytics model:

ParameterDetails
modesummary, timeseries, breakdown, distribution, top_values, compare_periods, or compare_segments; default summary.
periodOptional object with start, end, and timezone defaulting to UTC.
filtersRecursive public filter object using and, or, not, field, operator, value, and values.
metricsUp to 20 public metric names. Use faurya_get_analytics_catalog for the current list.
dimensionsUp to 5 public dimensions, or tool-specific lower limits where documented.
granularityhour, day, week, month, quarter, or year.
limitPositive integer up to 5000 for analytics queries unless a tool specifies a smaller maximum.
siteIdOptional when one site is permitted; required for multi-site connections.

Tool summary

ToolAccessPurpose
faurya_get_site_contextReadReads site context, coverage, goals, currency/timezone, capabilities, and warnings.
faurya_get_analytics_catalogReadLists public metrics, dimensions, operators, visible events, goals, properties, granularities, and capabilities.
faurya_list_dimension_valuesReadDiscovers common values for one public dimension.
faurya_query_analyticsReadRuns semantic analytics without SQL.
faurya_get_realtime_snapshotReadReturns recent active visitor and event snapshot.
faurya_search_visitorsReadCursor-paginated visitor search.
faurya_get_visitorReadReads one visitor's lifetime analytics summary.
faurya_trace_visitorReadReads a chronological visitor trace grouped by session.
faurya_search_sessionsReadCursor-paginated session search.
faurya_get_sessionReadReads one reconstructed visible session timeline.
faurya_search_eventsReadCursor-paginated visible event search.
faurya_find_journeysReadFinds journeys matching ordered behavior steps.
faurya_analyze_goalsReadAnalyzes goal completions and conversion rates.
faurya_analyze_pathsReadAnalyzes ranked paths with bounded depth.
faurya_analyze_cohortsReadAnalyzes cohorts and retention.
faurya_search_paymentsReadCursor-paginated payment event search.
faurya_analyze_revenueReadAnalyzes revenue and payment metrics.
faurya_analyze_attributionReadAnalyzes controlled attribution models.
faurya_query_ai_crawlsReadQueries AI crawler analytics.
faurya_analyze_changesReadCompares periods and highlights changes.

Common analytics errors

SITE_SCOPE_REQUIRED, INSUFFICIENT_SCOPE, VALIDATION_ERROR, INVALID_FILTER, INVALID_FIELD, INVALID_OPERATOR, INVALID_LIMIT, INVALID_DATE_RANGE, INVALID_CURSOR, QUERY_TOO_COMPLEX, QUERY_TIMEOUT, DATA_NOT_AVAILABLE, and RATE_LIMITED.

faurya_get_site_context

What it does

Returns authenticated site context, available date coverage, configured goals, currency/timezone, capabilities, and data-source warnings. No secrets or internal IDs are returned.

Permission required

Analytics: Read.

When to use it

Use before analysis to understand the site, time coverage, configured goals, currency, timezone, and any non-fatal data warnings.

Example prompt

Summarize the context and available date coverage for my Faurya site.

Input

ParameterTypeRequiredDescription
siteIdstringConditionalRequired when the connection has multiple permitted sites.

Example MCP input

{ "siteId": "site_example" }

Output

data contains safe site context, date coverage, goals, currency/timezone, capabilities, and warnings.

Example output

{
  "success": true,
  "requestId": "req_example",
  "data": {
    "site": {
      "id": "site_example",
      "domain": "example.com",
      "timezone": "UTC",
      "currency": "USD"
    },
    "coverage": {
      "firstEventAt": "2026-07-01T00:00:00.000Z",
      "lastEventAt": "2026-07-18T00:00:00.000Z"
    },
    "goals": ["signup"],
    "capabilities": ["analytics", "revenue", "ai_crawls"],
    "warnings": []
  },
  "meta": {
    "warnings": [],
    "pagination": { "nextCursor": null, "hasMore": false }
  }
}

Common errors

SITE_SCOPE_REQUIRED, INSUFFICIENT_SCOPE, SITE_NOT_FOUND.

Notes

This is safe to call repeatedly and does not expose secrets.

faurya_get_analytics_catalog

What it does

Lists public metrics, dimensions, semantic fields, operators, visible event names, goal names, approved property keys, granularities, attribution models, and tool capabilities. Hidden event types are excluded.

Permission required

Analytics: Read.

When to use it

Use it before constructing filters, metrics, dimensions, attribution requests, or event searches.

Example prompt

Show the analytics metrics and dimensions I can query.

Input

ParameterTypeRequiredDescription
siteIdstringConditionalRequired for multi-site connections.

Example MCP input

{ "siteId": "site_example" }

Output

data contains allowlisted metrics, dimensions, operators, granularities, attribution models, visible event and goal names, public property keys, and capabilities.

Example output

{
  "success": true,
  "requestId": "req_example",
  "data": {
    "metrics": ["visitors", "sessions", "pageviews", "revenue"],
    "dimensions": ["country", "browser", "source", "path"],
    "operators": ["equals", "contains", "in"],
    "granularities": ["day", "week", "month"],
    "attributionModels": ["first_touch", "last_touch", "linear"]
  },
  "meta": {
    "warnings": [],
    "pagination": { "nextCursor": null, "hasMore": false }
  }
}

Common errors

SITE_SCOPE_REQUIRED, INSUFFICIENT_SCOPE.

Notes

Use this as the source of truth for public analytics vocabulary. The MCP tools do not accept SQL.

faurya_list_dimension_values

What it does

Discovers values for a public dimension and returns value/count rows with optional search and limit.

Permission required

Analytics: Read.

When to use it

Use before building filters for countries, browsers, paths, campaigns, sources, events, or goals.

Example prompt

List the top campaign values for the last month.

Input

ParameterTypeRequiredDescription
fieldenumYesOne of country, region, city, browser, os, device, referrer, path, hostname, source, medium, campaign, term, content, referrer_host, event_name, goal_name.
periodobjectNostart, end, timezone.
searchstringNoSearch text, max 256 chars.
limitintegerNoPositive integer, max 5000.
siteIdstringConditionalRequired for multi-site connections.

Example MCP input

{
  "siteId": "site_example",
  "field": "campaign",
  "period": { "start": "2026-07-01", "end": "2026-07-18", "timezone": "UTC" },
  "limit": 10
}

Output

data contains dimension value rows with counts.

Example output

{
  "success": true,
  "requestId": "req_example",
  "data": {
    "field": "campaign",
    "rows": [{ "value": "summer_launch", "count": 42 }]
  },
  "meta": {
    "warnings": [],
    "pagination": { "nextCursor": null, "hasMore": false }
  }
}

Common errors

VALIDATION_ERROR, INVALID_DATE_RANGE, INSUFFICIENT_SCOPE.

Notes

Values are based on visible public analytics fields.

faurya_query_analytics

What it does

Runs semantic analytics in summary, timeseries, breakdown, distribution, top-values, compare-periods, or compare-segments mode. SQL is not accepted.

Permission required

Analytics: Read.

When to use it

Use for aggregate traffic, conversion, revenue, metric, dimension, and period-comparison questions.

Example prompt

Compare visitors and conversions this week with the previous week.

Input

ParameterTypeRequiredDescription
modeenumNosummary, timeseries, breakdown, distribution, top_values, compare_periods, compare_segments; default summary.
periodobjectNostart, end, timezone.
filtersobjectNoPublic semantic filter tree.
metricsstring[]No1-20 public metrics.
dimensionsstring[]NoUp to 5 public dimensions.
granularityenumNohour, day, week, month, quarter, year.
limitintegerNoMax 5000.
siteIdstringConditionalRequired for multi-site connections.

Example MCP input

{
  "siteId": "site_example",
  "mode": "timeseries",
  "period": { "start": "2026-07-11", "end": "2026-07-18", "timezone": "UTC" },
  "metrics": ["visitors", "conversions"],
  "granularity": "day"
}

Output

data contains the requested semantic analytics result, such as totals, rows, timeseries buckets, or comparison objects.

Example output

{
  "success": true,
  "requestId": "req_example",
  "data": {
    "mode": "timeseries",
    "period": { "start": "2026-07-11", "end": "2026-07-18", "timezone": "UTC" },
    "metrics": ["visitors", "conversions"],
    "rows": [{ "date": "2026-07-11", "visitors": 120, "conversions": 8 }]
  },
  "meta": {
    "warnings": [],
    "pagination": { "nextCursor": null, "hasMore": false }
  }
}

Common errors

INVALID_FILTER, INVALID_FIELD, INVALID_OPERATOR, INVALID_LIMIT, QUERY_TOO_COMPLEX, QUERY_TIMEOUT.

Notes

Call faurya_get_analytics_catalog first for current metric and dimension names.

faurya_get_realtime_snapshot

What it does

Returns current recent active visitor and event activity for the authenticated site using the last few minutes of visible events.

Permission required

Analytics: Read.

When to use it

Use for “what is happening now?” questions.

Example prompt

Show me current realtime activity for my site.

Input

ParameterTypeRequiredDescription
siteIdstringConditionalRequired for multi-site connections.

Example MCP input

{ "siteId": "site_example" }

Output

data contains active visitor counts and recent visible events.

Example output

{
  "success": true,
  "requestId": "req_example",
  "data": {
    "activeVisitors": 7,
    "recentEvents": [
      {
        "type": "pageview",
        "path": "/pricing",
        "occurredAt": "2026-07-18T10:00:00.000Z"
      }
    ]
  },
  "meta": {
    "warnings": [],
    "pagination": { "nextCursor": null, "hasMore": false }
  }
}

Common errors

INSUFFICIENT_SCOPE, SITE_SCOPE_REQUIRED.

Notes

This is read-only and filters hidden events.

faurya_search_visitors

What it does

Searches visitors with acquisition, device, geography, event, page, goal, revenue, and semantic filter support.

Permission required

Analytics: Read.

When to use it

Use to find visitors matching behavior or attribution criteria.

Example prompt

Find visitors from organic search who completed a signup goal last week.

Input

ParameterTypeRequiredDescription
periodobjectNostart, end, timezone.
filtersobjectNoSemantic filters.
limitintegerNoMax 1000, default bounded server-side.
cursorstringNoCursor from previous response.
siteIdstringConditionalRequired for multi-site connections.

Example MCP input

{
  "siteId": "site_example",
  "period": { "start": "2026-07-01", "end": "2026-07-18" },
  "limit": 25
}

Output

data contains visitor rows and may include nextCursor.

Example output

{
  "success": true,
  "requestId": "req_example",
  "data": {
    "visitors": [
      {
        "visitorId": "visitor_example",
        "firstSeenAt": "2026-07-12T09:00:00.000Z",
        "sessions": 3,
        "revenue": 49
      }
    ],
    "nextCursor": "eyJ0cyI6IjIwMjYtMDctMTJUMDk6MDA6MDAuMDAwWiIsImlkIjoidmlzaXRvcl9leGFtcGxlIn0"
  },
  "meta": {
    "warnings": [],
    "pagination": {
      "nextCursor": "eyJ0cyI6IjIwMjYtMDctMTJUMDk6MDA6MDAuMDAwWiIsImlkIjoidmlzaXRvcl9leGFtcGxlIn0",
      "hasMore": true
    }
  }
}

Common errors

INVALID_CURSOR, INVALID_FILTER, INVALID_LIMIT, INSUFFICIENT_SCOPE.

Notes

Cursors are opaque base64url JSON cursors containing timestamp and ID fields. Do not modify them.

faurya_get_visitor

What it does

Returns one visitor lifetime analytics summary including sessions, pageviews, visible events, goals, revenue, payments, acquisition, technology, geography, profile metadata, and engaged time.

Permission required

Analytics: Read.

When to use it

Use after finding a visitor ID to inspect that visitor’s complete safe summary.

Example prompt

Show the lifetime summary for visitor_example.

Input

ParameterTypeRequiredDescription
visitorIdstringYes1-256 chars.
siteIdstringConditionalRequired for multi-site connections.

Example MCP input

{ "siteId": "site_example", "visitorId": "visitor_example" }

Output

data contains the visitor summary and related safe analytics fields.

Example output

{
  "success": true,
  "requestId": "req_example",
  "data": {
    "visitorId": "visitor_example",
    "sessions": 3,
    "pageviews": 14,
    "goals": ["signup"],
    "revenue": 49
  },
  "meta": {
    "warnings": [],
    "pagination": { "nextCursor": null, "hasMore": false }
  }
}

Common errors

NOT_FOUND, INSUFFICIENT_SCOPE, VALIDATION_ERROR.

Notes

Use placeholders in prompts and avoid exposing real visitor IDs outside approved workflows.

faurya_trace_visitor

What it does

Returns a chronological visitor trace grouped by session with visible pageviews, custom events, goals, payments, milestones, and derived session data.

Permission required

Analytics: Read.

When to use it

Use to reconstruct a visitor journey across sessions.

Example prompt

Trace visitor_example and summarize their journey.

Input

ParameterTypeRequiredDescription
visitorIdstringYes1-256 chars.
limitintegerNoMax 1000.
cursorstringNoCursor for next trace page.
siteIdstringConditionalRequired for multi-site connections.

Example MCP input

{ "siteId": "site_example", "visitorId": "visitor_example", "limit": 50 }

Output

data contains grouped sessions, visible timeline events, and optional nextCursor.

Example output

{
  "success": true,
  "requestId": "req_example",
  "data": {
    "visitorId": "visitor_example",
    "sessions": [
      {
        "sessionId": "session_example",
        "events": [{ "type": "pageview", "path": "/" }]
      }
    ],
    "nextCursor": null
  },
  "meta": {
    "warnings": [],
    "pagination": { "nextCursor": null, "hasMore": false }
  }
}

Common errors

INVALID_CURSOR, NOT_FOUND, INSUFFICIENT_SCOPE.

Notes

Hidden events never appear.

faurya_search_sessions

What it does

Searches sessions by date, entry/exit pages, technology, geography, visible event count, goals, payments, revenue, and semantic filters.

Permission required

Analytics: Read.

When to use it

Use to find sessions matching page, goal, revenue, or acquisition behavior.

Example prompt

Find sessions that entered on /pricing and completed signup.

Input

ParameterTypeRequiredDescription
periodobjectNostart, end, timezone.
filtersobjectNoSemantic filters.
limitintegerNoMax 1000.
cursorstringNoCursor from previous response.
siteIdstringConditionalRequired for multi-site connections.

Example MCP input

{
  "siteId": "site_example",
  "period": { "start": "2026-07-01", "end": "2026-07-18" },
  "limit": 25
}

Output

data contains session rows and may include nextCursor.

Example output

{
  "success": true,
  "requestId": "req_example",
  "data": {
    "sessions": [
      {
        "sessionId": "session_example",
        "entryPage": "/pricing",
        "goals": ["signup"]
      }
    ],
    "nextCursor": null
  },
  "meta": {
    "warnings": [],
    "pagination": { "nextCursor": null, "hasMore": false }
  }
}

Common errors

INVALID_CURSOR, INVALID_FILTER, INVALID_LIMIT.

Notes

Cursor pagination is supported.

faurya_get_session

What it does

Returns one reconstructed visible session timeline, summary metrics, payments, revenue, and engaged time.

Permission required

Analytics: Read.

When to use it

Use after finding a session ID to understand exactly what happened during that session.

Example prompt

Explain what happened in session_example.

Input

ParameterTypeRequiredDescription
sessionIdstringYes1-256 chars.
siteIdstringConditionalRequired for multi-site connections.

Example MCP input

{ "siteId": "site_example", "sessionId": "session_example" }

Output

data contains session summary and visible timeline.

Example output

{
  "success": true,
  "requestId": "req_example",
  "data": {
    "sessionId": "session_example",
    "pageviews": 5,
    "events": [{ "type": "pageview", "path": "/pricing" }],
    "revenue": 0
  },
  "meta": {
    "warnings": [],
    "pagination": { "nextCursor": null, "hasMore": false }
  }
}

Common errors

NOT_FOUND, INSUFFICIENT_SCOPE, VALIDATION_ERROR.

Notes

Only visible events are included.

faurya_search_events

What it does

Provides cursor-paginated access to literal visible events with semantic filters across event, visitor, session, page, referrer, geography, technology, goal/payment fields, and approved properties.

Permission required

Analytics: Read.

When to use it

Use when you need event-level evidence behind an aggregate result.

Example prompt

Show recent visible signup events with their page paths.

Input

ParameterTypeRequiredDescription
periodobjectNostart, end, timezone.
filtersobjectNoSemantic filters.
limitintegerNoMax 1000.
cursorstringNoCursor from previous response.
siteIdstringConditionalRequired for multi-site connections.

Example MCP input

{
  "siteId": "site_example",
  "limit": 20,
  "filters": { "field": "event_name", "operator": "equals", "value": "signup" }
}

Output

data contains visible event rows and may include nextCursor.

Example output

{
  "success": true,
  "requestId": "req_example",
  "data": {
    "events": [
      {
        "eventId": "event_example",
        "eventName": "signup",
        "path": "/pricing",
        "occurredAt": "2026-07-18T10:00:00.000Z"
      }
    ],
    "nextCursor": null
  },
  "meta": {
    "warnings": [],
    "pagination": { "nextCursor": null, "hasMore": false }
  }
}

Common errors

INVALID_CURSOR, INVALID_FILTER, INVALID_FIELD.

Notes

Hidden events are excluded.

faurya_find_journeys

What it does

Finds visitor or session journeys matching ordered behavioral step conditions and returns aggregate match count and bounded examples.

Permission required

Analytics: Read.

When to use it

Use to find examples of journeys that pass through a sequence of pages, events, or goals.

Example prompt

Find sessions that visited /pricing and then completed signup.

Input

ParameterTypeRequiredDescription
periodobjectNostart, end, timezone.
stepsarrayYes1-10 steps. Each step has optional type (page, event, goal) and value max 512 chars.
scopeenumNovisitor or session; default session.
matchenumNostrict or loose; default loose.
limitintegerNoMax 200.
siteIdstringConditionalRequired for multi-site connections.

Example MCP input

{
  "siteId": "site_example",
  "steps": [
    { "type": "page", "value": "/pricing" },
    { "type": "goal", "value": "signup" }
  ],
  "scope": "session",
  "match": "loose"
}

Output

data contains counts and bounded example journeys.

Example output

{
  "success": true,
  "requestId": "req_example",
  "data": {
    "matchCount": 12,
    "examples": [{ "sessionId": "session_example", "matchedSteps": 2 }]
  },
  "meta": {
    "warnings": [],
    "pagination": { "nextCursor": null, "hasMore": false }
  }
}

Common errors

INVALID_JOURNEY_STEPS, INVALID_JOURNEY_STEP, INVALID_JOURNEY_SCOPE, INVALID_LIMIT.

Notes

Hidden events are excluded and example output is bounded.

faurya_analyze_goals

What it does

Analyzes goal completions, unique converters, conversion rates, time series, breakdowns, and revenue per converter where data supports it.

Permission required

Analytics: Read.

When to use it

Use for goal performance, conversion rate, and revenue-per-converter questions.

Example prompt

Analyze signup goal performance by source this month.

Input

Same semantic analytics fields as faurya_query_analytics: mode, period, filters, metrics, dimensions, granularity, limit, and conditional siteId.

Example MCP input

{
  "siteId": "site_example",
  "mode": "breakdown",
  "period": { "start": "2026-07-01", "end": "2026-07-18" },
  "dimensions": ["source"]
}

Output

data contains goal analytics rows, rates, or time buckets.

Example output

{
  "success": true,
  "requestId": "req_example",
  "data": {
    "mode": "breakdown",
    "rows": [
      { "source": "organic", "goalCompletions": 18, "conversionRate": 0.12 }
    ]
  },
  "meta": {
    "warnings": [],
    "pagination": { "nextCursor": null, "hasMore": false }
  }
}

Common errors

INVALID_FIELD, INVALID_FILTER, QUERY_TIMEOUT.

Notes

This is goal analytics, not goal setup. Use Tracking Setup tools for tracking code.

faurya_analyze_paths

What it does

Analyzes top visible paths starting from or ending at selected pages, goals, or payments with bounded depth and ranking.

Permission required

Analytics: Read.

When to use it

Use to understand navigation routes before or after a page or goal.

Example prompt

What paths lead users from the homepage to signup?

Input

ParameterTypeRequiredDescription
periodobjectNostart, end, timezone.
startingPagestringNoMax 2048 chars.
endingPagestringNoMax 2048 chars.
endingGoalstringNoMax 512 chars.
maximumDepthintegerNoPositive integer, max 5.
siteIdstringConditionalRequired for multi-site connections.

Example MCP input

{
  "siteId": "site_example",
  "startingPage": "/",
  "endingGoal": "signup",
  "maximumDepth": 4
}

Output

data contains ranked path rows and counts.

Example output

{
  "success": true,
  "requestId": "req_example",
  "data": { "paths": [{ "path": ["/", "/pricing", "signup"], "count": 9 }] },
  "meta": {
    "warnings": [],
    "pagination": { "nextCursor": null, "hasMore": false }
  }
}

Common errors

INVALID_PATH_DEPTH, INVALID_DATE_RANGE, INSUFFICIENT_SCOPE.

Notes

Path depth is bounded to control query cost.

faurya_analyze_cohorts

What it does

Analyzes first-seen, session, or acquisition cohorts and returns repeat visits, repeat goals/payments, and revenue retention using selected granularity.

Permission required

Analytics: Read.

When to use it

Use to inspect retention and revenue by acquisition or first-seen cohort.

Example prompt

Analyze weekly retention cohorts for visitors acquired in July.

Input

Same semantic analytics fields as faurya_query_analytics.

Example MCP input

{
  "siteId": "site_example",
  "mode": "timeseries",
  "period": { "start": "2026-07-01", "end": "2026-07-18" },
  "granularity": "week"
}

Output

data contains cohort rows or retention time buckets.

Example output

{
  "success": true,
  "requestId": "req_example",
  "data": {
    "cohorts": [
      {
        "cohort": "2026-W27",
        "visitors": 200,
        "returningVisitors": 48,
        "revenue": 320
      }
    ]
  },
  "meta": {
    "warnings": [],
    "pagination": { "nextCursor": null, "hasMore": false }
  }
}

Common errors

INVALID_FIELD, QUERY_TOO_COMPLEX, QUERY_TIMEOUT.

Notes

Use dimensions and granularity from the catalog.

faurya_search_payments

What it does

Searches payment events with transaction identifier, visitor/session, timestamp, amount, success/failure state, page, approved properties, and acquisition summary.

Permission required

Analytics: Read.

When to use it

Use to find payment events or investigate failed payments.

Example prompt

Show failed payment events from the last seven days.

Input

ParameterTypeRequiredDescription
periodobjectNostart, end, timezone.
filtersobjectNoSemantic filters.
limitintegerNoMax 1000.
cursorstringNoCursor from previous response.
failedbooleanNoFilter failed payment events.
transactionIdstringNoMax 256 chars.
siteIdstringConditionalRequired for multi-site connections.

Example MCP input

{ "siteId": "site_example", "failed": true, "limit": 20 }

Output

data contains payment rows and optional nextCursor.

Example output

{
  "success": true,
  "requestId": "req_example",
  "data": {
    "payments": [
      {
        "transactionId": "txn_example",
        "amount": 49,
        "currency": "USD",
        "failed": true
      }
    ],
    "nextCursor": null
  },
  "meta": {
    "warnings": [],
    "pagination": { "nextCursor": null, "hasMore": false }
  }
}

Common errors

INVALID_CURSOR, INVALID_FILTER, INSUFFICIENT_SCOPE.

Notes

Provider secrets and private payment credentials are never returned.

faurya_analyze_revenue

What it does

Analyzes tracked revenue, successful/failed payments, paying visitors, average order value, revenue per visitor/converter, success rate, timeseries, and dimension breakdowns.

Permission required

Analytics: Read.

When to use it

Use for revenue dashboards, payment success-rate analysis, and revenue attribution follow-up.

Example prompt

Show revenue, paying visitors, and average order value by source this month.

Input

Same semantic analytics fields as faurya_query_analytics.

Example MCP input

{
  "siteId": "site_example",
  "mode": "breakdown",
  "metrics": ["revenue", "paying_visitors"],
  "dimensions": ["source"]
}

Output

data contains revenue metrics, rows, or time buckets.

Example output

{
  "success": true,
  "requestId": "req_example",
  "data": {
    "rows": [
      {
        "source": "organic",
        "revenue": 320,
        "payingVisitors": 8,
        "averageOrderValue": 40
      }
    ]
  },
  "meta": {
    "warnings": [],
    "pagination": { "nextCursor": null, "hasMore": false }
  }
}

Common errors

DATA_NOT_AVAILABLE, INVALID_FIELD, QUERY_TIMEOUT.

Notes

Revenue results depend on tracked payment data.

faurya_analyze_attribution

What it does

Analyzes controlled attribution models and returns attributed visitors, conversions, payments, and revenue by selected dimensions.

Permission required

Analytics: Read.

When to use it

Use to compare first-touch, last-touch, linear, position-based, time-decay, and session-source attribution.

Example prompt

Compare last-touch revenue attribution by campaign this month.

Input

ParameterTypeRequiredDescription
modelenumNofirst_touch, last_touch, linear, position_based, time_decay, session_source.
dimensionenumNoreferrer, campaign, source, medium, landing_page, country, device.
mode, period, filters, metrics, dimensions, granularity, limit, siteIdmixedNo/conditionalSame semantic analytics fields as faurya_query_analytics.

Example MCP input

{
  "siteId": "site_example",
  "model": "last_touch",
  "dimension": "campaign",
  "period": { "start": "2026-07-01", "end": "2026-07-18" }
}

Output

data contains attribution rows and selected model metadata.

Example output

{
  "success": true,
  "requestId": "req_example",
  "data": {
    "model": "last_touch",
    "dimension": "campaign",
    "rows": [{ "campaign": "summer_launch", "revenue": 220, "conversions": 6 }]
  },
  "meta": {
    "warnings": [],
    "pagination": { "nextCursor": null, "hasMore": false }
  }
}

Common errors

VALIDATION_ERROR, INVALID_FIELD, QUERY_TIMEOUT.

Notes

The tool distinguishes controlled attribution fields from unrestricted SQL access.

faurya_query_ai_crawls

What it does

Queries AI crawler analytics by provider, agent, category, URL/path, status, source, timeseries/page rankings, coverage, frequency, and errors where data exists.

Permission required

Analytics: Read.

When to use it

Use to inspect AI crawler activity and content coverage.

Example prompt

Which AI crawlers visited my site most often this week?

Input

ParameterTypeRequiredDescription
periodobjectNostart, end, timezone.
providerstringNoMax 128 chars.
agentstringNoMax 256 chars.
categorystringNoMax 128 chars.
pathstringNoMax 2048 chars.
sourcestringNoMax 128 chars.
limitintegerNoMax 5000.
siteIdstringConditionalRequired for multi-site connections.

Example MCP input

{
  "siteId": "site_example",
  "period": { "start": "2026-07-11", "end": "2026-07-18" },
  "limit": 10
}

Output

data contains AI crawler rows, coverage, frequency, or error summaries where available.

Example output

{
  "success": true,
  "requestId": "req_example",
  "data": {
    "rows": [
      {
        "provider": "ExampleAI",
        "agent": "ExampleBot",
        "path": "/docs",
        "visits": 12,
        "errors": 0
      }
    ]
  },
  "meta": {
    "warnings": [],
    "pagination": { "nextCursor": null, "hasMore": false }
  }
}

Common errors

INVALID_DATE_RANGE, INVALID_LIMIT, DATA_NOT_AVAILABLE.

Notes

The response does not expose detection internals.

faurya_analyze_changes

What it does

Compares periods or segments for metric increases/decreases, absolute and percentage change, contributing dimensions, and basic anomaly/spike/drop detection. It distinguishes facts from inference.

Permission required

Analytics: Read.

When to use it

Use when investigating a conversion, traffic, or revenue change.

Example prompt

Investigate why conversions dropped compared with the previous week.

Input

ParameterTypeRequiredDescription
periodobjectNoContext period.
baselinePeriodobjectYesBaseline start, end, timezone.
comparisonPeriodobjectYesComparison start, end, timezone.
metricsstring[]No1-10 public metrics.
dimensionsstring[]NoUp to 3 public dimensions.
siteIdstringConditionalRequired for multi-site connections.

Example MCP input

{
  "siteId": "site_example",
  "baselinePeriod": { "start": "2026-07-01", "end": "2026-07-07" },
  "comparisonPeriod": { "start": "2026-07-08", "end": "2026-07-14" },
  "metrics": ["visitors", "conversions"],
  "dimensions": ["source"]
}

Output

data contains metric deltas, percentage changes, contributing dimensions, and basic anomaly notes.

Example output

{
  "success": true,
  "requestId": "req_example",
  "data": {
    "changes": [
      {
        "metric": "conversions",
        "baseline": 40,
        "comparison": 30,
        "absoluteChange": -10,
        "percentChange": -25
      }
    ],
    "contributors": [{ "dimension": "source", "value": "paid", "change": -8 }]
  },
  "meta": {
    "warnings": [],
    "pagination": { "nextCursor": null, "hasMore": false }
  }
}

Common errors

VALIDATION_ERROR, INVALID_DATE_RANGE, INVALID_FIELD, QUERY_TIMEOUT.

Notes

Treat inferred causes as hypotheses, not guaranteed explanations.

Example prompts

  • “Compare visitors and conversions this week with the previous week.”
  • “Find sessions that visited /pricing and then completed signup.”
  • “Which campaigns drove revenue this month?”
  • “Show failed payments in the last seven days.”
  • “What AI crawlers visited my docs pages?”

On this page

Analytics tools
Supported access levels
Role requirements and site scoping
Analytics query model
Tool summary
Common analytics errors
faurya_get_site_context
What it does
Permission required
When to use it
Example prompt
Input
Example MCP input
Output
Example output
Common errors
Notes
faurya_get_analytics_catalog
What it does
Permission required
When to use it
Example prompt
Input
Example MCP input
Output
Example output
Common errors
Notes
faurya_list_dimension_values
What it does
Permission required
When to use it
Example prompt
Input
Example MCP input
Output
Example output
Common errors
Notes
faurya_query_analytics
What it does
Permission required
When to use it
Example prompt
Input
Example MCP input
Output
Example output
Common errors
Notes
faurya_get_realtime_snapshot
What it does
Permission required
When to use it
Example prompt
Input
Example MCP input
Output
Example output
Common errors
Notes
faurya_search_visitors
What it does
Permission required
When to use it
Example prompt
Input
Example MCP input
Output
Example output
Common errors
Notes
faurya_get_visitor
What it does
Permission required
When to use it
Example prompt
Input
Example MCP input
Output
Example output
Common errors
Notes
faurya_trace_visitor
What it does
Permission required
When to use it
Example prompt
Input
Example MCP input
Output
Example output
Common errors
Notes
faurya_search_sessions
What it does
Permission required
When to use it
Example prompt
Input
Example MCP input
Output
Example output
Common errors
Notes
faurya_get_session
What it does
Permission required
When to use it
Example prompt
Input
Example MCP input
Output
Example output
Common errors
Notes
faurya_search_events
What it does
Permission required
When to use it
Example prompt
Input
Example MCP input
Output
Example output
Common errors
Notes
faurya_find_journeys
What it does
Permission required
When to use it
Example prompt
Input
Example MCP input
Output
Example output
Common errors
Notes
faurya_analyze_goals
What it does
Permission required
When to use it
Example prompt
Input
Example MCP input
Output
Example output
Common errors
Notes
faurya_analyze_paths
What it does
Permission required
When to use it
Example prompt
Input
Example MCP input
Output
Example output
Common errors
Notes
faurya_analyze_cohorts
What it does
Permission required
When to use it
Example prompt
Input
Example MCP input
Output
Example output
Common errors
Notes
faurya_search_payments
What it does
Permission required
When to use it
Example prompt
Input
Example MCP input
Output
Example output
Common errors
Notes
faurya_analyze_revenue
What it does
Permission required
When to use it
Example prompt
Input
Example MCP input
Output
Example output
Common errors
Notes
faurya_analyze_attribution
What it does
Permission required
When to use it
Example prompt
Input
Example MCP input
Output
Example output
Common errors
Notes
faurya_query_ai_crawls
What it does
Permission required
When to use it
Example prompt
Input
Example MCP input
Output
Example output
Common errors
Notes
faurya_analyze_changes
What it does
Permission required
When to use it
Example prompt
Input
Example MCP input
Output
Example output
Common errors
Notes
Example prompts
Related pages