Tracking Setup
Read-only MCP tools for Faurya installation snippets, SDK setup, widgets, AI crawler setup, and revenue integration guidance.
Tracking Setup tools
The setup feature is read-only. These tools generate instructions, code snippets, setup references, safe configuration status, and validation feedback. They do not edit a user's local project, execute terminal commands, connect providers, store credentials, or expose webhook secrets.
Supported access levels
| Access | Supported | Allows |
|---|---|---|
| Read | Yes | Installation plans, tracking snippets, SDK configuration, validation, goal/scroll setup, widgets, AI crawler setup, and revenue integration guidance. |
| Write | No | No setup write tools are exposed. |
Tool summary
| Tool | Access | Purpose |
|---|---|---|
faurya_get_tracking_setup | Read | Returns a site-tailored installation plan. |
faurya_get_tracking_code | Read | Returns one focused tracking snippet. |
faurya_get_tracking_configuration | Read | Returns SDK configuration reference and example. |
faurya_validate_tracking_setup | Read | Validates code/config supplied in the request. |
faurya_get_goal_tracking_code | Read | Generates goal tracking code. |
faurya_get_scroll_goal_tracking_code | Read | Generates scroll-goal tracking code. |
faurya_get_goal_tracking_reference | Read | Returns goal and scroll-goal API reference. |
faurya_list_widget_types | Read | Lists supported public widget types and defaults. |
faurya_get_widget_embed_code | Read | Generates safe iframe embed HTML. |
faurya_get_ai_crawl_setup | Read | Returns AI crawler setup guidance. |
faurya_get_ai_crawl_configuration | Read | Returns safe AI crawler configuration status. |
faurya_list_revenue_integrations | Read | Lists supported revenue integrations and safe status. |
faurya_get_revenue_integration_status | Read | Reads one or all provider statuses. |
faurya_get_revenue_integration_setup | Read | Returns provider setup guide. |
faurya_get_payment_webhook_configuration | Read | Returns public webhook setup details. |
Common input and output behavior
All tools accept optional siteId, required when a connection has multiple permitted sites. Success responses use the standard response envelope from Overview. Validation tools inspect only code or configuration supplied in the request and do not read arbitrary local files.
Common errors: SITE_SCOPE_REQUIRED, INSUFFICIENT_SCOPE, VALIDATION_ERROR, INVALID_FIELD, SITE_NOT_FOUND, and RATE_LIMITED.
faurya_get_tracking_setup
What it does
Returns a site-tailored installation plan with steps, code, configuration, warnings, and documentation.
Permission required
Tracking Setup: Read.
When to use it
Use for complete setup guidance for script, npm, Next.js, React, Vue, Svelte, SPA, React Native, Shopify, WordPress, or custom installations.
Example prompt
Show the available tracking setup for my Next.js website.Input
| Parameter | Type | Required | Description |
|---|---|---|---|
platform | enum | Yes | script, npm, nextjs, react, vue, svelte, spa, react_native, shopify, wordpress, custom. |
environment | enum | No | production, development, both; default production. |
includeExamples | boolean | No | Default true. |
siteId | string | Conditional | Required for multi-site connections. |
Example MCP input
{ "siteId": "site_example", "platform": "nextjs", "environment": "production" }Output
data contains setup steps, generated snippets, configuration notes, warnings, and documentation links.
Example output
{
"success": true,
"requestId": "req_example",
"data": {
"platform": "nextjs",
"steps": [{ "title": "Install Faurya", "code": "npm install @faurya/web" }],
"warnings": []
},
"meta": {
"warnings": [],
"pagination": { "nextCursor": null, "hasMore": false }
}
}Common errors
VALIDATION_ERROR, SITE_SCOPE_REQUIRED, INSUFFICIENT_SCOPE.
Notes
This tool does not install packages or modify project files.
faurya_get_tracking_code
What it does
Returns one ready-to-use tracking snippet tailored to the selected site.
Permission required
Tracking Setup: Read.
When to use it
Use for script installation, npm install, initialization, event tracking, pageview tracking, identification, flush behavior, SPA route tracking, cross-domain setup, or custom storage.
Example prompt
Give me a React event tracking snippet for a signup goal.Input
| Parameter | Type | Required | Description |
|---|---|---|---|
codeType | enum | Yes | script, script_localhost, npm_install, npm_init, npm_env, web_init, react_init, nextjs_init, react_native_provider, track_event, track_pageview, identify, flush, spa_tracking, cross_domain, custom_storage. |
options | object | No | allowLocalhost, allowIframe, allowedHostnames max 20, debug, eventName max 80, userIdExample. |
siteId | string | Conditional | Required for multi-site connections. |
Example MCP input
{
"siteId": "site_example",
"codeType": "track_event",
"options": { "eventName": "signup" }
}Output
data contains a focused code snippet, placement notes, and warnings.
Example output
{
"success": true,
"requestId": "req_example",
"data": {
"codeType": "track_event",
"code": "faurya.track('signup')",
"notes": ["Place after initialization."]
},
"meta": {
"warnings": [],
"pagination": { "nextCursor": null, "hasMore": false }
}
}Common errors
VALIDATION_ERROR, INSUFFICIENT_SCOPE.
Notes
The snippet is generated only; the MCP server does not execute it.
faurya_get_tracking_configuration
What it does
Returns SDK configuration fields, defaults, and a generated example for the selected site.
Permission required
Tracking Setup: Read.
When to use it
Use when configuring web, React Native, or core SDK initialization.
Example prompt
Show the supported Faurya SDK configuration fields.Input
| Parameter | Type | Required | Description |
|---|---|---|---|
platform | enum | No | web, react_native, core; default web. |
includeDefaults | boolean | No | Default true. |
siteId | string | Conditional | Required for multi-site connections. |
Example MCP input
{ "siteId": "site_example", "platform": "web", "includeDefaults": true }Output
data contains allowed fields, defaults, and an example config.
Example output
{
"success": true,
"requestId": "req_example",
"data": {
"platform": "web",
"fields": [{ "name": "siteId", "required": true }],
"example": { "siteId": "site_example" }
},
"meta": {
"warnings": [],
"pagination": { "nextCursor": null, "hasMore": false }
}
}Common errors
VALIDATION_ERROR, INSUFFICIENT_SCOPE.
Notes
No settings are mutated.
faurya_validate_tracking_setup
What it does
Validates code or configuration supplied in the request. It checks selected-site IDs, domains, package names, duplicate initialization, and unsupported fields without reading files, making network calls, or modifying anything.
Permission required
Tracking Setup: Read.
When to use it
Use after pasting a snippet or config object into the AI client for review.
Example prompt
Validate this Faurya setup snippet for my production domain.Input
| Parameter | Type | Required | Description |
|---|---|---|---|
platform | enum | Yes | Tracking platform plus web, core, or all. |
code | string | Conditional | Max 20,000 chars. Required if configuration is omitted. |
configuration | object | Conditional | Up to 25 simple config keys. Required if code is omitted. |
expectedDomain | string | No | Hostname only, max 253 chars. |
siteId | string | Conditional | Required for multi-site connections. |
Example MCP input
{
"siteId": "site_example",
"platform": "nextjs",
"code": "<script data-website-id=\"site_example\"></script>",
"expectedDomain": "example.com"
}Output
data contains validation status, issues, suggestions, and warnings.
Example output
{
"success": true,
"requestId": "req_example",
"data": { "valid": true, "issues": [], "warnings": [], "suggestions": [] },
"meta": {
"warnings": [],
"pagination": { "nextCursor": null, "hasMore": false }
}
}Common errors
VALIDATION_ERROR, INVALID_FIELD.
Notes
This tool cannot inspect local files unless the user explicitly provides their contents.
faurya_get_goal_tracking_code
What it does
Generates goal tracking code tailored to the selected site and platform.
Permission required
Tracking Setup: Read.
When to use it
Use for client, declarative, or hook-based custom goals.
Example prompt
Generate a Next.js signup goal snippet.Input
| Parameter | Type | Required | Description |
|---|---|---|---|
platform | enum | Yes | web, react, nextjs, react_native. |
goalName | string | Yes | Lowercase letters, numbers, underscores, or hyphens; max 64. |
properties | object | No | Up to 10 simple custom properties. |
method | enum | No | client, declarative, hook; default client. |
siteId | string | Conditional | Required for multi-site connections. |
Example MCP input
{
"siteId": "site_example",
"platform": "nextjs",
"goalName": "signup",
"method": "client"
}Output
data contains code, placement guidance, and payload shape.
Example output
{
"success": true,
"requestId": "req_example",
"data": {
"goalName": "signup",
"code": "faurya.trackGoal('signup')",
"placement": "Run after a successful signup."
},
"meta": {
"warnings": [],
"pagination": { "nextCursor": null, "hasMore": false }
}
}Common errors
VALIDATION_ERROR.
Notes
This does not create a dashboard goal.
faurya_get_scroll_goal_tracking_code
What it does
Generates scroll-goal code for web, React, Next.js, or React Native.
Permission required
Tracking Setup: Read.
When to use it
Use to track scroll-depth goals with optional delay and element targeting.
Example prompt
Create a scroll-depth goal snippet for 75% of the page.Input
| Parameter | Type | Required | Description |
|---|---|---|---|
platform | enum | Yes | web, react, nextjs, react_native. |
goalName | string | Yes | Lowercase goal name, max 64. |
threshold | number | No | 0.01 to 1, default 0.5. |
delayMs | integer | No | 0 to 60000, default 0. |
elementId | string | No | Valid element ID, max 128. |
customProperties | object | No | Up to 10 simple properties. |
siteId | string | Conditional | Required for multi-site connections. |
Example MCP input
{
"siteId": "site_example",
"platform": "web",
"goalName": "read_article",
"threshold": 0.75
}Output
data contains scroll tracking snippet and setup notes.
Example output
{
"success": true,
"requestId": "req_example",
"data": {
"goalName": "read_article",
"threshold": 0.75,
"code": "// scroll tracking snippet"
},
"meta": {
"warnings": [],
"pagination": { "nextCursor": null, "hasMore": false }
}
}Common errors
VALIDATION_ERROR.
Notes
This validates threshold and delay inputs and does not modify goal settings.
faurya_get_goal_tracking_reference
What it does
Returns the current Faurya goal and scroll-goal APIs, attributes, examples, and common mistakes.
Permission required
Tracking Setup: Read.
When to use it
Use for API reference rather than a tailored snippet.
Example prompt
Show the Faurya goal tracking reference.Input
| Parameter | Type | Required | Description |
|---|---|---|---|
platform | enum | No | web, react_native, all; default all. |
siteId | string | Conditional | Required for multi-site connections. |
Example MCP input
{ "siteId": "site_example", "platform": "all" }Output
data contains reference sections, examples, attributes, and common mistakes.
Example output
{
"success": true,
"requestId": "req_example",
"data": { "platform": "all", "methods": ["trackGoal", "track"] },
"meta": {
"warnings": [],
"pagination": { "nextCursor": null, "hasMore": false }
}
}Common errors
VALIDATION_ERROR.
Notes
For performance metrics, use Analytics goal tools.
faurya_list_widget_types
What it does
Returns supported widget types, defaults, route formats, and enabled state for the selected site.
Permission required
Tracking Setup: Read.
When to use it
Use before generating public widget embed HTML.
Example prompt
List the public widgets I can embed.Input
| Parameter | Type | Required | Description |
|---|---|---|---|
siteId | string | Conditional | Required for multi-site connections. |
Example MCP input
{ "siteId": "site_example" }Output
data contains widget type definitions and enabled state.
Example output
{
"success": true,
"requestId": "req_example",
"data": { "widgets": [{ "type": "realtime", "enabled": true }] },
"meta": {
"warnings": [],
"pagination": { "nextCursor": null, "hasMore": false }
}
}Common errors
INSUFFICIENT_SCOPE.
Notes
This does not enable widgets.
faurya_get_widget_embed_code
What it does
Generates safe iframe HTML for Faurya realtime, analytics, or chart widgets.
Permission required
Tracking Setup: Read.
When to use it
Use when the selected site has widgets enabled and you need iframe HTML.
Example prompt
Generate an analytics widget iframe with lazy loading.Input
| Parameter | Type | Required | Description |
|---|---|---|---|
widgetType | enum | Yes | realtime, analytics, chart. |
mainTextSize | integer | No | 10-48. |
primaryColor, secondaryColor, barColor | string | No | Hex color such as #10b981. |
width, height | string | No | px, %, or auto, max 16 chars. |
loading | enum | No | lazy or eager; default lazy. |
siteId | string | Conditional | Required for multi-site connections. |
Example MCP input
{
"siteId": "site_example",
"widgetType": "analytics",
"loading": "lazy",
"primaryColor": "#10b981"
}Output
data contains iframe HTML and embed metadata.
Example output
{
"success": true,
"requestId": "req_example",
"data": {
"widgetType": "analytics",
"html": "<iframe src=\"https://faurya.com/embed/site_example/analytics\" loading=\"lazy\"></iframe>"
},
"meta": {
"warnings": [],
"pagination": { "nextCursor": null, "hasMore": false }
}
}Common errors
VALIDATION_ERROR, INSUFFICIENT_SCOPE.
Notes
Generating iframe HTML is read-only and does not automatically enable widgets.
faurya_get_ai_crawl_setup
What it does
Returns an AI crawler setup guide tailored to the selected site, active state, standard tracking code, verification steps, and docs.
Permission required
Tracking Setup: Read.
When to use it
Use when setting up or checking AI crawler analytics collection guidance.
Example prompt
Show AI crawler setup guidance for my site.Input
| Parameter | Type | Required | Description |
|---|---|---|---|
platform | string | No | Platform label, max 64 chars. |
siteId | string | Conditional | Required for multi-site connections. |
Example MCP input
{ "siteId": "site_example", "platform": "nextjs" }Output
data contains setup status, tracking guidance, verification steps, and docs.
Example output
{
"success": true,
"requestId": "req_example",
"data": {
"active": true,
"requiresSeparateScript": false,
"verificationSteps": ["Visit the site and check AI crawl reporting."]
},
"meta": {
"warnings": [],
"pagination": { "nextCursor": null, "hasMore": false }
}
}Common errors
VALIDATION_ERROR, INSUFFICIENT_SCOPE.
Notes
This does not enable AI crawler collection.
faurya_get_ai_crawl_configuration
What it does
Returns a safe AI crawler configuration summary for the selected site.
Permission required
Tracking Setup: Read.
When to use it
Use to check current AI crawler setup status.
Example prompt
Check whether AI crawler analytics is configured.Input
| Parameter | Type | Required | Description |
|---|---|---|---|
siteId | string | Conditional | Required for multi-site connections. |
Example MCP input
{ "siteId": "site_example" }Output
data contains safe status and documentation references.
Example output
{
"success": true,
"requestId": "req_example",
"data": { "enabled": true, "docs": "/docs" },
"meta": {
"warnings": [],
"pagination": { "nextCursor": null, "hasMore": false }
}
}Common errors
INSUFFICIENT_SCOPE.
Notes
Detection internals are not exposed.
faurya_list_revenue_integrations
What it does
Lists supported revenue integrations, safe enabled booleans, setup methods, webhook requirements, and docs.
Permission required
Tracking Setup: Read.
When to use it
Use to discover available provider setup options.
Example prompt
List supported revenue integrations for this site.Input
| Parameter | Type | Required | Description |
|---|---|---|---|
siteId | string | Conditional | Required for multi-site connections. |
Example MCP input
{ "siteId": "site_example" }Output
data contains provider catalog and safe status booleans.
Example output
{
"success": true,
"requestId": "req_example",
"data": {
"providers": [
{ "provider": "stripe", "enabled": false, "requiresWebhook": true }
]
},
"meta": {
"warnings": [],
"pagination": { "nextCursor": null, "hasMore": false }
}
}Common errors
INSUFFICIENT_SCOPE.
Notes
Provider credentials are never returned.
faurya_get_revenue_integration_status
What it does
Returns safe revenue provider status for one or all supported providers.
Permission required
Tracking Setup: Read.
When to use it
Use to check whether Stripe, Paddle, Razorpay, or another provider is configured without revealing stored values.
Example prompt
Check Stripe revenue integration status.Input
| Parameter | Type | Required | Description |
|---|---|---|---|
provider | enum | No | stripe, dodo, lemonsqueezy, creem, polar, paddle, cashfree, razorpay, whop, easytools, payments_api. |
siteId | string | Conditional | Required for multi-site connections. |
Example MCP input
{ "siteId": "site_example", "provider": "stripe" }Output
data contains allowlisted status booleans only.
Example output
{
"success": true,
"requestId": "req_example",
"data": {
"provider": "stripe",
"enabled": false,
"webhookConfigured": false
},
"meta": {
"warnings": [],
"pagination": { "nextCursor": null, "hasMore": false }
}
}Common errors
VALIDATION_ERROR, INSUFFICIENT_SCOPE.
Notes
Stored provider credentials are not returned.
faurya_get_revenue_integration_setup
What it does
Returns provider setup guidance for revenue attribution, tailored to the selected site and provider.
Permission required
Tracking Setup: Read.
When to use it
Use when configuring revenue integrations such as Stripe, Paddle, Cashfree, Razorpay, Whop, or Payments API.
Example prompt
Show live Stripe revenue integration setup steps.Input
| Parameter | Type | Required | Description |
|---|---|---|---|
provider | enum | Yes | stripe, dodo, lemonsqueezy, creem, polar, paddle, cashfree, razorpay, whop, easytools, payments_api. |
environment | enum | No | test or live; default live. |
siteId | string | Conditional | Required for multi-site connections. |
Example MCP input
{ "siteId": "site_example", "provider": "stripe", "environment": "live" }Output
data contains setup steps, public endpoints where safe, event names, and docs.
Example output
{
"success": true,
"requestId": "req_example",
"data": {
"provider": "stripe",
"environment": "live",
"steps": [{ "title": "Create webhook endpoint" }]
},
"meta": {
"warnings": [],
"pagination": { "nextCursor": null, "hasMore": false }
}
}Common errors
VALIDATION_ERROR, INSUFFICIENT_SCOPE.
Notes
This tool never connects providers or stores credentials.
faurya_get_payment_webhook_configuration
What it does
Returns public payment webhook configuration for a supported provider and selected site.
Permission required
Tracking Setup: Read.
When to use it
Use to get webhook endpoint, required events, documentation, and verification guidance.
Example prompt
Show the webhook configuration for Paddle.Input
| Parameter | Type | Required | Description |
|---|---|---|---|
provider | enum | Yes | stripe, dodo, lemonsqueezy, creem, polar, paddle, cashfree, razorpay, whop, easytools, payments_api. |
siteId | string | Conditional | Required for multi-site connections. |
Example MCP input
{ "siteId": "site_example", "provider": "paddle" }Output
data contains public endpoint information, event names, docs, and verification guidance.
Example output
{
"success": true,
"requestId": "req_example",
"data": {
"provider": "paddle",
"webhookEndpoint": "https://faurya.com/api/webhooks/example",
"events": ["payment.success", "payment.failed"]
},
"meta": {
"warnings": [],
"pagination": { "nextCursor": null, "hasMore": false }
}
}Common errors
VALIDATION_ERROR, INSUFFICIENT_SCOPE.
Notes
Private signing secrets and provider credentials are never returned.
Example prompts
- “Generate tracking code for a Next.js app.”
- “Validate this Faurya configuration object.”
- “Create scroll tracking code for a 75% article-read goal.”
- “List revenue integration options.”
- “Generate a safe analytics widget iframe.”