Site Settings
Read and update safe Faurya site, domain, dashboard, widget, report, KPI, and tracking-exclusion settings through MCP.
Site Settings tools
The settings feature includes read and write tools for safe site configuration. Settings tools accept only explicit allowlisted fields and do not accept or return API keys, OAuth tokens, payment-provider secrets, webhook signing secrets, or internal credentials.
Supported access levels
| Access | Supported | Allows |
|---|---|---|
| Read | Yes | Read safe site, dashboard, widget, report, and tracking-exclusion settings. |
| Write | Yes | Update safe settings, domains, KPI, dashboard order, widget/report flags, and tracking exclusions. |
Role requirements and site scoping
Settings tools require settings:read or settings:write for the selected site. Some operations are owner-only in service logic, especially widget settings and widget enablement. Supply siteId for multi-site connections.
Tracking exclusion types are hostname, ip, and path.
Tool summary
| Tool | Access | Purpose |
|---|---|---|
faurya_get_site_settings | Read | Reads safe site settings. |
faurya_get_dashboard_configuration | Read | Reads dashboard layout and AI crawl card configuration. |
faurya_get_widget_settings | Read | Reads owner-only safe widget settings. |
faurya_get_report_settings | Read | Reads weekly report settings. |
faurya_list_tracking_exclusions | Read | Lists host/IP/path tracking exclusions. |
faurya_update_site_settings | Write | Updates timezone and/or currency. |
faurya_set_primary_kpi | Write | Sets or clears the primary KPI. |
faurya_update_site_name | Write | Updates site display name. |
faurya_update_primary_domain | Write | Updates primary hostname. |
faurya_add_additional_domain | Write | Adds an additional tracked hostname. |
faurya_remove_additional_domain | Write | Removes an additional tracked hostname. |
faurya_update_dashboard_layout | Write | Updates dashboard layout order. |
faurya_set_ai_crawl_card_enabled | Write | Enables or disables the AI crawl dashboard card. |
faurya_set_widgets_enabled | Write | Enables or disables public widgets; owner role required. |
faurya_set_weekly_report_enabled | Write | Enables or disables weekly reports. |
faurya_add_tracking_exclusion | Write | Adds one tracking exclusion. |
faurya_remove_tracking_exclusion | Write | Removes one tracking exclusion. |
Common errors
SETTINGS_SCOPE_REQUIRED, INSUFFICIENT_SCOPE, SITE_SCOPE_REQUIRED, owner_access_required, INVALID_TIMEZONE, INVALID_CURRENCY, INVALID_DOMAIN, DOMAIN_ALREADY_EXISTS, INVALID_PRIMARY_KPI, INVALID_DASHBOARD_ORDER, INVALID_EXCLUSION_TYPE, INVALID_EXCLUSION_VALUE, EXCLUSION_ALREADY_EXISTS, VALIDATION_ERROR, and NOT_FOUND.
faurya_get_site_settings
What it does
Reads safe site settings including site name, domains, timezone, KPI, dashboard, widgets, reports, and tracking exclusions.
Permission required
Site Settings: Read.
When to use it
Use for a full safe settings overview.
Example prompt
Show the safe settings 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 safe settings fields.
Example output
{
"success": true,
"requestId": "req_example",
"data": {
"site": {
"id": "site_example",
"name": "Example Site",
"domain": "example.com",
"timezone": "UTC",
"currency": "USD"
},
"widgetsEnabled": true,
"weeklyReportEnabled": false
},
"meta": {
"warnings": [],
"pagination": { "nextCursor": null, "hasMore": false }
}
}Common errors
INSUFFICIENT_SCOPE, SITE_SCOPE_REQUIRED.
Notes
Secrets and provider credentials are never returned.
faurya_update_site_settings
What it does
Updates explicit safe site settings. Only supplied fields are changed.
Permission required
Site Settings: Write.
When to use it
Use to change timezone or 3-letter currency code.
Example prompt
Set this site's timezone to UTC and currency to USD.Input
| Parameter | Type | Required | Description |
|---|---|---|---|
timezone | string | Conditional | 1-64 chars. Required if currency omitted. |
currency | string | Conditional | 3-letter currency code. Required if timezone omitted. |
siteId | string | Conditional | Required for multi-site connections. |
Example MCP input
{ "siteId": "site_example", "timezone": "UTC", "currency": "USD" }Output
data contains updated settings.
Example output
{
"success": true,
"requestId": "req_example",
"data": { "timezone": "UTC", "currency": "USD" },
"meta": {
"warnings": [],
"pagination": { "nextCursor": null, "hasMore": false }
}
}Common errors
INVALID_TIMEZONE, INVALID_CURRENCY, INSUFFICIENT_SCOPE.
Notes
This changes persistent site configuration.
faurya_set_primary_kpi
What it does
Sets the selected site's primary KPI safely.
Permission required
Site Settings: Write.
When to use it
Use to focus dashboard reporting on a preferred KPI.
Example prompt
Set revenue as the primary KPI.Input
| Parameter | Type | Required | Description |
|---|---|---|---|
primaryKpi | string or null | Yes | KPI name, 1-64 chars, or null to clear. |
siteId | string | Conditional | Required for multi-site connections. |
Example MCP input
{ "siteId": "site_example", "primaryKpi": "revenue" }Output
data contains the updated primary KPI.
Example output
{
"success": true,
"requestId": "req_example",
"data": { "primaryKpi": "revenue" },
"meta": {
"warnings": [],
"pagination": { "nextCursor": null, "hasMore": false }
}
}Common errors
INVALID_PRIMARY_KPI, INSUFFICIENT_SCOPE.
Notes
Persistent setting update.
faurya_update_site_name
What it does
Updates the selected site's display name.
Permission required
Site Settings: Write.
When to use it
Use to rename a site in Faurya.
Example prompt
Rename this site to Example Marketing.Input
| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | Yes | 1-120 chars. |
siteId | string | Conditional | Required for multi-site connections. |
Example MCP input
{ "siteId": "site_example", "name": "Example Marketing" }Output
data contains updated site name.
Example output
{
"success": true,
"requestId": "req_example",
"data": { "name": "Example Marketing" },
"meta": {
"warnings": [],
"pagination": { "nextCursor": null, "hasMore": false }
}
}Common errors
VALIDATION_ERROR, INSUFFICIENT_SCOPE.
Notes
Persistent setting update.
faurya_update_primary_domain
What it does
Updates the selected site's primary hostname.
Permission required
Site Settings: Write.
When to use it
Use when a site's main tracked domain changes.
Example prompt
Set the primary domain to example.com.Input
| Parameter | Type | Required | Description |
|---|---|---|---|
domain | string | Yes | Hostname only, 1-253 chars. |
siteId | string | Conditional | Required for multi-site connections. |
Example MCP input
{ "siteId": "site_example", "domain": "example.com" }Output
data contains updated domain.
Example output
{
"success": true,
"requestId": "req_example",
"data": { "domain": "example.com" },
"meta": {
"warnings": [],
"pagination": { "nextCursor": null, "hasMore": false }
}
}Common errors
INVALID_DOMAIN, DOMAIN_ALREADY_EXISTS, INSUFFICIENT_SCOPE.
Notes
Use hostnames, not full URLs or paths.
faurya_add_additional_domain
What it does
Adds an additional tracked hostname to the selected site.
Permission required
Site Settings: Write.
When to use it
Use for cross-domain or alternate-host tracking.
Example prompt
Add docs.example.com as an additional domain.Input
| Parameter | Type | Required | Description |
|---|---|---|---|
domain | string | Yes | Hostname only, 1-253 chars. |
siteId | string | Conditional | Required for multi-site connections. |
Example MCP input
{ "siteId": "site_example", "domain": "docs.example.com" }Output
data confirms the additional domain.
Example output
{
"success": true,
"requestId": "req_example",
"data": { "domain": "docs.example.com", "added": true },
"meta": {
"warnings": [],
"pagination": { "nextCursor": null, "hasMore": false }
}
}Common errors
INVALID_DOMAIN, DOMAIN_ALREADY_EXISTS.
Notes
Persistent setting update.
faurya_remove_additional_domain
What it does
Removes an additional tracked hostname from the selected site.
Permission required
Site Settings: Write.
When to use it
Use when an alternate hostname should no longer be tracked as an additional domain.
Example prompt
Remove docs.example.com from additional domains.Input
| Parameter | Type | Required | Description |
|---|---|---|---|
domain | string | Yes | Hostname only, 1-253 chars. |
siteId | string | Conditional | Required for multi-site connections. |
Example MCP input
{ "siteId": "site_example", "domain": "docs.example.com" }Output
data confirms removal.
Example output
{
"success": true,
"requestId": "req_example",
"data": { "domain": "docs.example.com", "removed": true },
"meta": {
"warnings": [],
"pagination": { "nextCursor": null, "hasMore": false }
}
}Common errors
INVALID_DOMAIN, NOT_FOUND, INSUFFICIENT_SCOPE.
Notes
This removes a tracked hostname from the additional-domain list.
faurya_get_dashboard_configuration
What it does
Reads safe dashboard layout and AI crawl card configuration.
Permission required
Site Settings: Read.
When to use it
Use to inspect dashboard component order and AI crawl card visibility.
Example prompt
Show dashboard layout configuration.Input
| Parameter | Type | Required | Description |
|---|---|---|---|
siteId | string | Conditional | Required for multi-site connections. |
Example MCP input
{ "siteId": "site_example" }Output
data contains dashboard order and safe flags.
Example output
{
"success": true,
"requestId": "req_example",
"data": {
"componentOrder": ["overview", "goals"],
"aiCrawlCardEnabled": true
},
"meta": {
"warnings": [],
"pagination": { "nextCursor": null, "hasMore": false }
}
}Common errors
INSUFFICIENT_SCOPE.
Notes
Read-only.
faurya_update_dashboard_layout
What it does
Updates and sanitizes the selected site's dashboard layout order.
Permission required
Site Settings: Write.
When to use it
Use to reorder dashboard components.
Example prompt
Set the dashboard order to overview, goals, revenue.Input
| Parameter | Type | Required | Description |
|---|---|---|---|
componentOrder | string[] | Yes | 1-4 strings, each 1-16 chars. |
siteId | string | Conditional | Required for multi-site connections. |
Example MCP input
{ "siteId": "site_example", "componentOrder": ["overview", "goals", "revenue"] }Output
data contains sanitized layout order.
Example output
{
"success": true,
"requestId": "req_example",
"data": { "componentOrder": ["overview", "goals", "revenue"] },
"meta": {
"warnings": [],
"pagination": { "nextCursor": null, "hasMore": false }
}
}Common errors
INVALID_DASHBOARD_ORDER, VALIDATION_ERROR.
Notes
Persistent dashboard configuration update.
faurya_set_ai_crawl_card_enabled
What it does
Enables or disables the selected site's AI crawl dashboard card.
Permission required
Site Settings: Write.
When to use it
Use to control whether the AI crawl card appears in the dashboard.
Example prompt
Enable the AI crawl dashboard card.Input
| Parameter | Type | Required | Description |
|---|---|---|---|
enabled | boolean | Yes | Desired enabled state. |
siteId | string | Conditional | Required for multi-site connections. |
Example MCP input
{ "siteId": "site_example", "enabled": true }Output
data contains the updated state.
Example output
{
"success": true,
"requestId": "req_example",
"data": { "aiCrawlCardEnabled": true },
"meta": {
"warnings": [],
"pagination": { "nextCursor": null, "hasMore": false }
}
}Common errors
INSUFFICIENT_SCOPE.
Notes
This changes dashboard configuration only.
faurya_get_widget_settings
What it does
Reads owner-only safe widget settings for the selected site.
Permission required
Site Settings: Read. Owner role required by the service.
When to use it
Use to check public widget settings and enabled state.
Example prompt
Show widget settings 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 safe widget settings.
Example output
{
"success": true,
"requestId": "req_example",
"data": {
"widgetsEnabled": true,
"availableTypes": ["realtime", "analytics"]
},
"meta": {
"warnings": [],
"pagination": { "nextCursor": null, "hasMore": false }
}
}Common errors
owner_access_required, INSUFFICIENT_SCOPE.
Notes
No secrets or internal data are returned.
faurya_set_widgets_enabled
What it does
Enables or disables public widgets for the selected site.
Permission required
Site Settings: Write. Owner role required.
When to use it
Use to turn public widget access on or off.
Example prompt
Enable public widgets for this site.Input
| Parameter | Type | Required | Description |
|---|---|---|---|
enabled | boolean | Yes | Desired enabled state. |
siteId | string | Conditional | Required for multi-site connections. |
Example MCP input
{ "siteId": "site_example", "enabled": true }Output
data contains updated widget state.
Example output
{
"success": true,
"requestId": "req_example",
"data": { "widgetsEnabled": true },
"meta": {
"warnings": [],
"pagination": { "nextCursor": null, "hasMore": false }
}
}Common errors
owner_access_required, INSUFFICIENT_SCOPE.
Notes
Generating iframe HTML remains separate and read-only in Tracking Setup.
faurya_get_report_settings
What it does
Reads safe weekly report settings for the selected site.
Permission required
Site Settings: Read.
When to use it
Use to check report state.
Example prompt
Are weekly reports enabled?Input
| Parameter | Type | Required | Description |
|---|---|---|---|
siteId | string | Conditional | Required for multi-site connections. |
Example MCP input
{ "siteId": "site_example" }Output
data contains report settings.
Example output
{
"success": true,
"requestId": "req_example",
"data": { "weeklyReportEnabled": false },
"meta": {
"warnings": [],
"pagination": { "nextCursor": null, "hasMore": false }
}
}Common errors
INSUFFICIENT_SCOPE.
Notes
Read-only.
faurya_set_weekly_report_enabled
What it does
Enables or disables weekly reports for the selected site.
Permission required
Site Settings: Write.
When to use it
Use when the user asks to change weekly report delivery state.
Example prompt
Turn on weekly reports.Input
| Parameter | Type | Required | Description |
|---|---|---|---|
enabled | boolean | Yes | Desired enabled state. |
siteId | string | Conditional | Required for multi-site connections. |
Example MCP input
{ "siteId": "site_example", "enabled": true }Output
data contains updated state.
Example output
{
"success": true,
"requestId": "req_example",
"data": { "weeklyReportEnabled": true },
"meta": {
"warnings": [],
"pagination": { "nextCursor": null, "hasMore": false }
}
}Common errors
INSUFFICIENT_SCOPE.
Notes
Persistent site configuration update.
faurya_list_tracking_exclusions
What it does
Lists safe tracking exclusions for hostnames, IPs, and paths.
Permission required
Site Settings: Read.
When to use it
Use to audit what traffic is excluded from tracking.
Example prompt
List tracking exclusions 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 exclusion rows.
Example output
{
"success": true,
"requestId": "req_example",
"data": { "exclusions": [{ "type": "path", "value": "/internal" }] },
"meta": {
"warnings": [],
"pagination": { "nextCursor": null, "hasMore": false }
}
}Common errors
INSUFFICIENT_SCOPE.
Notes
Read-only.
faurya_add_tracking_exclusion
What it does
Adds one tracking exclusion to the selected site.
Permission required
Site Settings: Write.
When to use it
Use to exclude a hostname, IP, or path from tracking.
Example prompt
Exclude /internal from tracking.Input
| Parameter | Type | Required | Description |
|---|---|---|---|
type | enum | Yes | hostname, ip, or path. |
value | string | Yes | 1-2048 chars. |
siteId | string | Conditional | Required for multi-site connections. |
Example MCP input
{ "siteId": "site_example", "type": "path", "value": "/internal" }Output
data confirms addition.
Example output
{
"success": true,
"requestId": "req_example",
"data": { "type": "path", "value": "/internal", "added": true },
"meta": {
"warnings": [],
"pagination": { "nextCursor": null, "hasMore": false }
}
}Common errors
INVALID_EXCLUSION_TYPE, INVALID_EXCLUSION_VALUE, EXCLUSION_ALREADY_EXISTS.
Notes
Persistent exclusion update.
faurya_remove_tracking_exclusion
What it does
Removes one tracking exclusion from the selected site.
Permission required
Site Settings: Write.
When to use it
Use when an exclusion should no longer apply.
Example prompt
Remove the /internal path tracking exclusion.Input
| Parameter | Type | Required | Description |
|---|---|---|---|
type | enum | Yes | hostname, ip, or path. |
value | string | Yes | 1-2048 chars. |
siteId | string | Conditional | Required for multi-site connections. |
Example MCP input
{ "siteId": "site_example", "type": "path", "value": "/internal" }Output
data confirms removal.
Example output
{
"success": true,
"requestId": "req_example",
"data": { "type": "path", "value": "/internal", "removed": true },
"meta": {
"warnings": [],
"pagination": { "nextCursor": null, "hasMore": false }
}
}Common errors
INVALID_EXCLUSION_TYPE, INVALID_EXCLUSION_VALUE, NOT_FOUND.
Notes
This removes an exclusion entry. Confirm before calling.
Example prompts
- “Show safe settings for this site.”
- “Update the site's primary domain to example.com.”
- “Enable the AI crawl dashboard card.”
- “List tracking exclusions.”
- “Enable public widgets.”