Skip to content

MCP Supported Tools

Learn what you can do with Amethyst MCP tools.

Amethyst MCP exposes tools that AI clients can call through the Model Context Protocol. These tools let you read analytics data, manage projects and workspaces, and configure Index Workers — all from natural language prompts.

The tools work together. With a single prompt, you can list workspaces, pick a project, fetch aggregated data, and create a view from the results.

Each section below is organized by feature area. Read tools (safe to call repeatedly) and mutating tools (require confirmation) are grouped together so you can see everything available in each domain.

Lists workspaces available to the current user.

Use when the AI client needs to know which workspaces exist before calling workspace-scoped tools.

Parameters: none

Example prompts:

  • “List the Amethyst workspaces I can access”
  • “Which workspaces do I have?”

Lists projects in a workspace.

Use when a user needs project IDs or names before calling project-scoped tools.

ParameterTypeRequiredDescription
workspaceIdstringYesTarget workspace ID.

Example prompts:

  • “Show all projects in this workspace”
  • “What Search Analytics projects do I have?”

Lists all BigQuery configurations for a workspace, covering both Search Analytics and User Analytics.

ParameterTypeRequiredDescription
organizationIdstringYesTarget workspace ID.
only"sa" | "ua"NoFilter to SA or UA only. When omitted, both are returned.

Example prompts:

  • “Show the BigQuery datasets configured in this workspace”

Registers a Search Analytics BigQuery table configuration for a workspace.

ParameterTypeRequiredDescription
projectIDstringConditionalGoogle Cloud project ID for BigQuery. Required when manageType is SELF.
datasetNamestringConditionalBigQuery dataset name. Required when manageType is SELF.
manageType"SELF" | "JADE"NoDefault SELF. Use SELF when the user provides a GCP project/dataset.
organizationIdstringConditionalWorkspace ID. Required unless projectId is provided.
projectIdstringConditionalSearch Analytics Project ID (resolves organization automatically).

Example prompts:

  • “Connect my BigQuery dataset to Search Analytics”
  • “Register BigQuery project my-gcp-project dataset search_data for SA”

Registers a User Analytics BigQuery table configuration for a workspace.

ParameterTypeRequiredDescription
projectIDstringYesGoogle Cloud project ID for BigQuery.
datasetNamestringYesBigQuery dataset name.
organizationIdstringConditionalWorkspace ID. Required unless projectId is provided.
projectIdstringConditionalUser Analytics Project ID (resolves organization automatically).

Example prompts:

  • “Connect my BigQuery dataset to User Analytics”
  • “Register BigQuery project my-gcp-project dataset ua_events for UA”

Creates a new project (Index Worker, Search Analytics, or User Analytics).

ParameterTypeRequiredDescription
organizationIdstringYesWorkspace ID.
namestringYesProject name.
kindstringYesINDEX_WORKER, SEARCH_ANALYTICS, or USER_ANALYTICS.
colorstringNoHex color #RRGGBB (e.g. #4F46E5).
descriptionstringNoProject description.
bigQueryIdstringConditionalBigQuery config ID. Required for SA and UA projects.
keyEventsstring[]NoUA only: key events to track. Default: ["purchase"].

Example prompts:

  • “Create a new Search Analytics project called ‘Blog’”
  • “Add an Index Worker project for monitoring sitemaps”

Renames a project, changes its color, or updates its description. At least one of name, color, or description must be provided.

ParameterTypeRequiredDescription
projectIdstringYesProject ID to update.
namestringNoNew project name.
colorstringNoNew color in #RRGGBB format.
descriptionstringNoNew description.
organizationIdstringNoWorkspace ID for building result path.

Example prompts:

  • “Rename this project to ‘Main Site’”
  • “Change the project color to blue”

Duplicates an existing project.

ParameterTypeRequiredDescription
projectIdstringYesSource Project ID.
organizationIdstringNoWorkspace ID for building the URL path.

Example prompts:

  • “Make a copy of this project”

Deletes an entire project. Use only when the user explicitly requests deletion of a project container.

ParameterTypeRequiredDescription
projectIdstringYesProject ID to delete.

Example prompts:

  • “Delete the ‘Old Site’ project”

Lists dashboards for a workspace.

Use when a user asks which dashboards exist or wants to choose one.

ParameterTypeRequiredDescription
organizationIdstringYesWorkspace ID.

Example prompts:

  • “Show my dashboards”
  • “Which dashboards are in this workspace?”

Creates a new dashboard in a workspace.

ParameterTypeRequiredDescription
organizationIdstringYesWorkspace ID.
namestringYesDashboard name.

Example prompts:

  • “Create a dashboard called ‘Weekly Overview‘“

Renames or updates a dashboard’s description. At least one of name or description must be provided.

ParameterTypeRequiredDescription
dashboardIdstringYesDashboard ID.
namestringNoNew dashboard name.
descriptionstringNoNew description.
organizationIdstringNoWorkspace ID for navigation links.

Example prompts:

  • “Rename this dashboard to ‘Monthly Report‘“

Deletes a workspace dashboard. This operation is destructive.

ParameterTypeRequiredDescription
dashboardIdstringYesDashboard ID to delete.

Example prompts:

  • “Delete the ‘Test Dashboard‘“

Adds a metric card to an existing dashboard.

ParameterTypeRequiredDescription
dashboardIdstringYesDashboard ID.
typestringYesItem type: IW_CRAWL, IW_INDEX, IW_NOT_INDEX, SA_CLICK, SA_IMP, SA_CTR, SA_RANK, SA_UNIQ_QUERY, SA_UNIQ_URL, UA_SESSION_COUNT, UA_UNIQUE_USER_COUNT, UA_CONVERSION_RATE, UA_SURF_RATE, UA_ENGAGEMENT_RATE, UA_CONVERSION_COUNT, UA_PAGE_VIEW_EVENT_COUNT.
featureIdstringYesFeature ID (base64-encoded). Accepts IndexWorker, SearchAnalytics, UserAnalytics, or view IDs.

Example prompts:

  • “Add a clicks card to this dashboard”
  • “Add an Index Worker crawl metric to the dashboard”

Updates a dashboard item’s title, description, or linked feature. At least one of name, description, or featureId must be provided.

ParameterTypeRequiredDescription
idstringYesDashboard item ID.
namestringNoNew item name.
descriptionstringNoNew description.
featureIdstringNoNew feature/view/job ID.

Example prompts:

  • “Rename this card to ‘Weekly Clicks‘“

Removes a card or widget from a dashboard.

ParameterTypeRequiredDescription
dashboardIdstringYesDashboard ID containing the item.
dashboardItemIdstringYesDashboard item ID to delete.

Example prompts:

  • “Remove this metric from the dashboard”

Retrieves all Index Workers belonging to a specific Index Worker project.

ParameterTypeRequiredDescription
projectIdstringYesIndex Worker project ID.

Example prompts:

  • “Show every Index Worker inside project X”
  • “List the IW jobs in this project”

Retrieves recent Index Worker jobs for a specific Index Worker, including per-task crawl/index status and Google coverage results.

ParameterTypeRequiredDescription
indexWorkerIdstringYesIndex Worker ID.
jobIdstringNoSpecific job ID. When provided, only this job is returned.
jobsLimitnumberNoMax jobs to fetch (1–50). Default: 5.
tasksLimitnumberNoMax tasks per job (1–2000). Default: 50.
crawledOnlybooleanNoFilter to crawled tasks only.
indexedOnlybooleanNoFilter to indexed tasks only.
notIndexedOnlybooleanNoFilter to non-indexed tasks only.

Example prompts:

  • “Show the latest job results for this Index Worker”
  • “Check if the last crawl had any indexing errors”

Prepares Index Worker export parameters for downloading trend or URL data as CSV, Excel, or JSON.

ParameterTypeRequiredDescription
indexWorkerIdstringYesIndex Worker ID (GraphQL global ID).
exportTargetstringYestrends (chart data) or urls (URL table).
formatstringYescsv, excel, or json. Only csv allowed when exportTarget is trends.
dateRangeobjectNo{ start?, end } in ISO-8601 UTC. start defaults to 2000-01-01.
isComparingbooleanNoSet true for comparison export.
comparingDateRangeobjectNoComparison range. Enables comparison mode.

Example prompts:

  • “Export the trend CSV for this Index Worker”
  • “Download the URL table as Excel”

Creates an Index Worker with configurable fields matching the GUI form — URL source, schedule, filters, and more.

ParameterTypeRequiredDescription
organizationIdstringYesWorkspace ID.
namestringYesIndex Worker name.
urlTypestringYesSITEMAP, RSS, or MANUAL.
projectIdstringNoIndex Worker project ID (preferred when known).
projectNamestringNoProject name (resolved within workspace).
notestringNoOptional note/description.
propertyIdstringNoSearch Console property ID. Required to execute.
samplingCountnumberNoSample size (1–2000). Default: 500.
scheduleobjectNoSchedule: { type } where type is run-once, not-set, daily, weekly, or custom. Default: not-set.
sitemapstringConditionalSitemap URL. Required when urlType is SITEMAP.
rssFeedstringConditionalRSS feed URL. Required when urlType is RSS.
rssFeedSamplingPeriodnumberConditionalRSS sampling period: 0 (all), 1, 3, 7, 28, 365. Required when urlType is RSS.
urlsstring | string[]ConditionalManual URLs. Required when urlType is MANUAL.
urlGroupobjectNo{ op, patterns[] } — URL group filter with AND/OR operator.
ignoreURLParametersstring | string[]NoURL parameters to ignore.

Example prompts:

  • “Create a new Index Worker using the sitemap for example.com”
  • “Set up a daily Index Worker for the RSS feed”

Updates Index Worker settings such as name, note, sample size, and schedule.

ParameterTypeRequiredDescription
organizationIdstringYesWorkspace ID.
indexWorkerIdstringNoTarget Index Worker ID (preferred).
indexWorkerNamestringNoTarget Index Worker name.
projectIdstringNoIndex Worker project ID.
projectNamestringNoProject name.
namestringNoNew Index Worker name.
notestringNoNew note.
propertyIdstringNoSearch Console property ID.
urlTypestringNoSITEMAP, RSS, or MANUAL.
samplingCountnumberNoNew sample size (1–2000).
scheduleobjectNoSchedule update. Use not-set to pause.
sitemapstringConditionalSitemap URL (required when urlType is SITEMAP).
rssFeedstringConditionalRSS feed URL (required when urlType is RSS).
rssFeedSamplingPeriodnumberConditionalRSS sampling period (required when urlType is RSS).
urlsstring | string[]ConditionalManual URLs (required when urlType is MANUAL).
urlGroupobject | nullNoURL group filter. Set null to clear.
ignoreURLParametersstring | string[]NoURL parameters to ignore.

Example prompts:

  • “Pause this Index Worker’s schedule”
  • “Change the sample size to 1000”

Duplicates an existing Index Worker.

ParameterTypeRequiredDescription
indexWorkerIdstringYesSource Index Worker ID.
currentProjectIdstringConditionalCurrent project ID (one of currentProjectId / targetProjectId required).
targetProjectIdstringConditionalDestination project ID.
organizationIdstringNoWorkspace ID hint.

Example prompts:

  • “Duplicate this Index Worker into another project”

Deletes an Index Worker job. This is the default for ambiguous phrases like “delete IW”.

ParameterTypeRequiredDescription
indexWorkerIdstringYesIndex Worker ID to delete.

Example prompts:

  • “Delete this Index Worker”

Moves an Index Worker job to another project.

ParameterTypeRequiredDescription
indexWorkerIdstringYesIndex Worker ID.
targetProjectIdstringYesDestination project ID.

Example prompts:

  • “Move this Index Worker to the ‘Main Site’ project”

Triggers a one-time rerun for an Index Worker.

ParameterTypeRequiredDescription
indexWorkerIdstringYesIndex Worker ID.
projectIdstringNoProject ID for cache revalidation.

Example prompts:

  • “Rerun this Index Worker now”

Lists all service accounts registered for a workspace.

ParameterTypeRequiredDescription
organizationIdstringYesTarget workspace ID.

Example prompts:

  • “Which service accounts are registered?”

Registers a Google Search Console property to a workspace so Index Workers can use it.

ParameterTypeRequiredDescription
workspaceIdstringNoWorkspace ID.
propertystringNoSearch Console property string (e.g. https://example.com/ or sc-domain:example.com).
typestringNoUSER or SERVICE_ACCOUNT.
serviceAccountIdstringConditionalRequired for SERVICE_ACCOUNT registrations.

Example prompts:

  • “Add a Search Console property”
  • “Register sc-domain:example.com”

Removes a registered Search Console property from the workspace.

ParameterTypeRequiredDescription
workspaceIdstringNoWorkspace ID.
propertyIdstringNoProperty ID to unregister.

Example prompts:

  • “Remove the Search Console property for example.com”

Unregisters a service account from a workspace. Provide either serviceAccountId or both organizationId and serviceAccountEmail.

ParameterTypeRequiredDescription
serviceAccountIdstringConditionalService account ID.
serviceAccountEmailstringConditionalService account email.
organizationIdstringConditionalWorkspace ID. Required when using serviceAccountEmail.

Example prompts:

  • “Delete the service account for Index Worker”

Lists saved Search Analytics views for a project, including each view’s filter conditions and default period.

ParameterTypeRequiredDescription
projectIdstringYesSearch Analytics project ID.

Example prompts:

  • “Show me the views in this Search Analytics project”

Lists Query Groups for a Search Analytics project.

ParameterTypeRequiredDescription
projectIdstringYesTarget project ID.

Example prompts:

  • “Show all Query Groups in this project”

Fetches daily aggregated Search Analytics data for a project or a saved view.

Metrics include clicks, impressions, CTR, average rank, distinct queries, and distinct URLs.

ParameterTypeRequiredDescription
projectIdstringOne of projectId / viewIdSA Project ID.
viewIdstringOne of projectId / viewIdSA View ID.
movingAveragestringYesMoving average window: none, 7d, 28d, both.
dateRangeobjectNo{ start, end } in ISO-8601.
comparingDateRangeobjectNoComparison time range in ISO-8601. Enables comparison mode.
isComparingbooleanNoSet true to retrieve comparison series. Default: false.
limitnumberNoRow limit (1–1000).
groupBystringNoQUERY_GROUP or URL_GROUP.
timeGroupBystringNoDATE, WEEK, MONTH, AUTO.
metricsstring[]NoMetrics to include: CLICKS, IMPRESSIONS, CTR, AVERAGE_OF_RANK, DISTINCT_QUERIES, DISTINCT_URLS.
Filter parameters
ParameterTypeRequiredDescription
querystringNoQuery filter value.
queryFilterTypeFilterEnumNoQuery filter operator.
queryGroupIDsstring[]NoQuery group IDs.
urlstringNoURL filter value.
urlFilterTypeFilterEnumNoURL filter operator.
urlGroupIDsstring[]NoURL group IDs.
devicesstring[]NoDevice filter.
countriesstring[]NoCountry filter.
searchTypesstring[]NoWEB, IMAGE, VIDEO, NEWS, DISCOVER, GOOGLE_NEWS. Default: ["WEB"].
rawKindsstring[]NoSearch appearance kinds.
isAnonymousQuerybooleanNoFilter anonymous queries.

FilterEnum values: CONTAINS, NOT_CONTAINS, EQUALS, STARTS_WITH, ENDS_WITH, REGEX, NOT_REGEX, INCLUDE

Example prompts:

  • “Show me the last 28 days of search performance”
  • “Compare this month’s clicks vs last month”
  • “Show Search Analytics trends grouped by URL Group”

Fetches raw Search Analytics rows with per-query/per-URL breakdowns.

Use when precise numbers or detailed reasons behind changes are needed — do not infer those from aggregated data.

ParameterTypeRequiredDescription
projectIdstringYesSearch Analytics Project ID.
dateRangeobjectNo{ start, end } in ISO-8601 UTC.
comparingDateRangeobjectNoComparison time range. Enables comparison mode.
isComparingbooleanNoSet true to retrieve comparing rows.
limitnumberNoPage size (1–500). Default: 100.
afterstringNoPagination cursor.
orderByobjectNo{ field, direction }. Fields: CLICKS, IMPRESSIONS, CTR, AVERAGE_OF_RANK, DISTINCT_URLS, DISTINCT_QUERIES, DATE, WEEK, MONTH.
comparingOrderByobjectNoOrdering for comparing rows. Includes *_DIFFERENCE fields.
groupBystring[]NoQUERY, QUERY_GROUP, URL, URL_GROUP, DATE, WEEK, MONTH, SEARCH_TYPE, DEVICE, COUNTRY, IS_ANONYMIZED_QUERY, IS_ANONYMIZED_DISCOVER.
metricsstring[]NoMetrics to include in output rows.
includeEdgesbooleanNoInclude raw GraphQL connection edges.
Filter and range parameters
ParameterTypeRequiredDescription
querystringNoQuery filter value.
queryFilterTypeFilterEnumNoQuery filter operator.
queryGroupIDsstring[]NoQuery group IDs.
urlstringNoURL filter value.
urlFilterTypeFilterEnumNoURL filter operator.
urlGroupIDsstring[]NoURL group IDs.
devicesstring[]NoDevice filter.
countriesstring[]NoCountry filter.
searchTypesstring[]NoDefault: ["WEB"].
rawKindsstring[]NoSearch appearance kinds.
isAnonymousQuerybooleanNoFilter anonymous queries.
clicksRangeIntRangeNo{ min?, max? } filter on clicks.
impressionsRangeIntRangeNo{ min?, max? } filter on impressions.
ctrRangeFloatRangeNo{ min?, max? } filter on CTR.
avgOfRankRangeFloatRangeNo{ min?, max? } filter on average rank.
distinctQueriesRangeIntRangeNo{ min?, max? } filter on distinct queries.
distinctURLsRangeIntRangeNo{ min?, max? } filter on distinct URLs.

Example prompts:

  • “Which queries had the most impressions last week?”
  • “Show the top 20 URLs by clicks for this project”

Creates a saved Search Analytics view with specified filters and conditions.

ParameterTypeRequiredDescription
projectIdstringConditionalSA Project ID (one of projectId / searchAnalyticsId required).
searchAnalyticsIdstringConditionalSearch Analytics ID.
namestringYesView name.
descriptionstringNoView description.
dataDateobjectNo{ type, dateRange? }. Types: LATEST, DAYS_7, DAYS_28, DAYS_90, DAYS_180, DAYS_365, DAYS_480, CUSTOM.
rawDataGroupBystring[]NoRawData groupings. Default: ["QUERY", "QUERY_GROUP", "URL", "URL_GROUP"].
Filter parameters
ParameterTypeRequiredDescription
querystringNoQuery filter.
queryFilterTypeFilterEnumNoQuery filter operator.
queryGroupIDsstring[]NoQuery group IDs.
urlstringNoURL filter.
urlFilterTypeFilterEnumNoURL filter operator.
urlGroupIDsstring[]NoURL group IDs.
devicesstring[]NoDESKTOP, MOBILE, TABLET.
countriesstring[]NoCountry filter.
searchTypesstring[]NoDefault: ["WEB"].
rawKindsstring[]NoSearch appearance kinds.
isAnonymousQuerybooleanNoAnonymous query filter.

Example prompts:

  • “Save the current filters as a Search Analytics view called ‘Mobile Only‘“

Edits a saved Search Analytics view’s name, filters, or date range.

ParameterTypeRequiredDescription
idstringYesSearch Analytics View ID.
namestringNoNew name.
descriptionstringNoNew description.
dataDateobjectNo{ type, dateRange? }.
rawDataOrderByobjectNo{ field, direction }.
rawDataGroupBystring[]NoRawData groupings.
Filter parameters (nullable to clear)
ParameterTypeRequiredDescription
querystring | nullNoQuery filter. Set null to clear.
queryFilterTypeFilterEnum | nullNoQuery filter operator.
queryGroupIDsstring[] | nullNoQuery group IDs.
urlstring | nullNoURL filter.
urlFilterTypeFilterEnum | nullNoURL filter operator.
urlGroupIDsstring[] | nullNoURL group IDs.
devicesstring[] | nullNoDevice filter.
countriesstring[] | nullNoCountry filter.
searchTypesstring[] | nullNoSearch types.
rawKindsstring[] | nullNoSearch appearance kinds.
isAnonymousQueryboolean | nullNoAnonymous query filter.

Example prompts:

  • “Rename this view to ‘Desktop Traffic’”
  • “Update the date range on this view”

Deletes a saved Search Analytics view.

ParameterTypeRequiredDescription
idstringYesView ID to delete.

Example prompts:

  • “Delete this view”

Creates a Query Group under a Search Analytics project.

ParameterTypeRequiredDescription
projectIdstringConditionalSA Project ID (one of projectId / searchAnalyticsId required).
searchAnalyticsIdstringConditionalSearch Analytics ID.
namestringYesGroup name.
opstringYesAND or OR.
patternsobject[]Yes[{ type, pattern }]. Types: INCLUDES, NOT_INCLUDES, CONTAINS, NOT_CONTAINS, STARTS_WITH, ENDS_WITH, EQUALS, REGEX, NOT_REGEX.
descriptionstringNoGroup description.
prependbooleanNoInsert at top of list.

Example prompts:

  • “Create a query group for branded keywords”

Updates an existing Query Group’s name, description, operator, or patterns. At least one field must be provided.

ParameterTypeRequiredDescription
idstringYesQuery Group ID.
namestringNoNew name.
descriptionstring | nullNoNew description.
opstringNoAND or OR.
patternsobject[]No[{ type, pattern }].

Example prompts:

  • “Add new patterns to the ‘Brand’ query group”

Updates the display order of Search Analytics Query Groups.

ParameterTypeRequiredDescription
projectIdstringYesSearchAnalyticsProject ID.
idsstring[]YesOrdered list of query group IDs.

Creates a URL Group under a Search Analytics project.

ParameterTypeRequiredDescription
projectIdstringConditionalSA Project ID (one of projectId / searchAnalyticsId required).
searchAnalyticsIdstringConditionalSearch Analytics ID.
namestringYesGroup name.
opstringYesAND or OR.
patternsobject[]Yes[{ type, pattern }]. Types include CONTAINS, NOT_CONTAINS, STARTS_WITH, ENDS_WITH, EQUALS, REGEX, NOT_REGEX, SUB_DOMAIN, DEPTH1, DEPTH2, DEPTH3, INCLUDES, NOT_INCLUDES.
descriptionstringNoGroup description.
prependbooleanNoInsert at top of list.

Example prompts:

  • “Create a URL group for all /blog/ pages”

Updates an existing Search Analytics URL Group’s name, description, operator, or patterns. At least one field must be provided.

ParameterTypeRequiredDescription
idstringYesURL Group ID.
namestringNoNew name.
descriptionstring | nullNoNew description.
opstringNoAND or OR.
patternsobject[]No[{ type, pattern }].

Example prompts:

  • “Add a new pattern to the ‘News’ URL group”

Deletes a Search Analytics Query Group.

ParameterTypeRequiredDescription
queryGroupIdstringYesQuery Group ID to delete.
searchAnalyticsIdstringNoParent Search Analytics ID.
projectIdstringNoProject ID.
namestringNoDisplay name for confirmation.

Example prompts:

  • “Remove the ‘Temp’ query group”

Deletes a Search Analytics URL Group.

ParameterTypeRequiredDescription
urlGroupIdstringYesURL Group ID to delete.
searchAnalyticsIdstringNoParent Search Analytics ID.
projectIdstringNoProject ID.
namestringNoDisplay name for confirmation.

Example prompts:

  • “Delete the ‘Old Blog’ URL group”

update_search_analytics_daily_export_setting

Section titled “update_search_analytics_daily_export_setting”

Updates the Google Spreadsheet used for daily export in Search Analytics.

ParameterTypeRequiredDescription
spreadsheetIdstringYesSpreadsheet ID from the Google Sheets URL.
viewIdstringConditionalSA View ID. Provide one of viewId, searchAnalyticsId, or projectId.
searchAnalyticsIdstringConditionalSearch Analytics ID (default view).
projectIdstringConditionalSA Project ID (resolved to SA ID).

Example prompts:

  • “Set the daily export spreadsheet for this view”

Lists saved User Analytics views for a project, including each view’s filter conditions.

ParameterTypeRequiredDescription
projectIdstringYesUser Analytics project ID.

Example prompts:

  • “Show me the views in this User Analytics project”

Lists GA4 sessions for a User Analytics project with filter support.

Use when the AI client needs concrete session rows (not aggregated metrics).

ParameterTypeRequiredDescription
projectIdstringYesUser Analytics Project ID.
dateRangeobjectNo{ start, end } in ISO-8601.
limitnumberNoNumber of sessions to fetch (1–50). Default: 10.
offsetnumberNoPagination offset. Default: 0.
Filter parameters
ParameterTypeRequiredDescription
firstPageLocationstringNoFirst page URL filter value.
firstPageLocationFilterTypeFilterEnumNoFilter operator for first page URL.
firstPageLocationUrlGroupIdsstring[]NoFirst page URL group IDs.
firstPageTitlestringNoFirst page title filter value.
firstPageTitleFilterTypeFilterEnumNoFilter operator for first page title.
secondPageLocationstringNoSecond page URL filter value.
secondPageLocationFilterTypeFilterEnumNoFilter operator for second page URL.
secondPageLocationUrlGroupIdsstring[]NoSecond page URL group IDs.
secondPageTitlestringNoSecond page title filter value.
secondPageTitleFilterTypeFilterEnumNoFilter operator for second page title.
visitedPagestringNoVisited page filter value.
visitedPageFilterTypeFilterEnumNoFilter operator for visited page.
osstring[]NoOS filter: ANDROID, IOS, WINDOWS, MACOS, LINUX, CHROME_OS, OTHER.
devicesstring[]NoDevice filter: MOBILE, TABLET, DESKTOP, SMART_TV, OTHER.
browsersstring[]NoBrowser filter: CHROME, FIREFOX, SAFARI, EDGE, etc.
sourcesstring[]NoTraffic source filter.
mediumsstring[]NoTraffic medium filter.
campaignsstring[]NoCampaign filter.
campaignsFilterTypeFilterEnum[]NoPer-campaign filter operators (length must match campaigns).
eventsstring[]NoInclude events.
eventsNotInstring[]NoExclude events.
expVariantStringstring[]NoExperiment variant strings.
defaultChannelGroupstring[]NoDefault channel groups.
isSessionWithNavigationbooleanNoFilter by navigation sessions.
pageLocationCountIntRangeNo{ min?, max? } range for page location count.
gaSessionNumberIntRangeNo{ min?, max? } range for GA session number.

FilterEnum values: CONTAINS, NOT_CONTAINS, STARTS_WITH, ENDS_WITH, EQUALS, REGEX, NOT_REGEX

Example prompts:

  • “Show me recent sessions filtered by mobile devices”
  • “List sessions from the last 7 days with purchase events”

Returns daily aggregated User Analytics data (sessions, conversions, engagement, surf rate, etc.) for a project or a saved view.

ParameterTypeRequiredDescription
projectIdstringYesUser Analytics project ID.
dateRangeobjectYes{ start, end } in ISO-8601.
movingAveragestringYesMoving average window: none, 7d, 28d, both.
viewIdstringNoUA View ID to reuse saved filters.
comparingDateRangeobjectNoComparison time range. Enables comparison mode.
isComparingbooleanNoSet true for comparison series. Default: false.
groupBystringNoFIRST_PAGE_LOCATION_URL_GROUP, SECOND_PAGE_LOCATION_URL_GROUP, FIRST_PAGE_TITLE, SECOND_PAGE_TITLE, SOURCE_MEDIUM, CAMPAIGN, DEFAULT_CHANNEL_GROUP, EXP_VARIANT_STRING.
timeGroupBystringNoDATE, WEEK, MONTH, AUTO.
metricsstring[]NoSESSION_COUNT, UNIQUE_USER_COUNT, CONVERSION_RATE, CONVERSION_COUNT, SURF_RATE, SURF_COUNT, ENGAGEMENT_RATE, ENGAGEMENT_COUNT, PAGE_VIEW_EVENT_COUNT.
Filter parameters
ParameterTypeRequiredDescription
firstPageLocationstringNoFirst page URL filter.
firstPageLocationFilterTypeFilterEnumNoFirst page URL filter operator.
firstPageLocationURLGroupIDsstring[]NoFirst page URL group IDs.
secondPageLocationstringNoSecond page URL filter.
secondPageLocationFilterTypeFilterEnumNoSecond page URL filter operator.
secondPageLocationURLGroupIDsstring[]NoSecond page URL group IDs.
firstPageTitlestringNoFirst page title filter.
firstPageTitleFilterTypeFilterEnumNoFirst page title filter operator.
secondPageTitlestringNoSecond page title filter.
secondPageTitleFilterTypeFilterEnumNoSecond page title filter operator.
osstring[]NoOS filter.
devicesstring[]NoDevice filter.
browsersstring[]NoBrowser filter.
sourcesstring[]NoTraffic source filter.
mediumsstring[]NoTraffic medium filter.
campaignsstring[]NoCampaign filter.
campaignsFilterTypeFilterEnum[]NoPer-campaign filter operators.
eventsstring[]NoInclude events.
eventsNotInstring[]NoExclude events.
expVariantStringstring[]NoExperiment variant strings.
defaultChannelGroupstring[]NoDefault channel groups.
isSessionWithNavigationbooleanNoFilter by navigation sessions.
pageLocationCountIntRangeNo{ min?, max? } range.
gaSessionNumberIntRangeNo{ min?, max? } range.
visitedPagestringNoVisited page filter.
visitedPageFilterTypeFilterEnumNoVisited page filter operator.

Example prompts:

  • “Show UA session trends for the last 28 days”
  • “Compare conversion rates this month vs last month”

Fetches raw User Analytics session performance rows.

Use when the user asks for exact conversion/purchase counts or their increase/decrease reasons.

ParameterTypeRequiredDescription
projectIdstringYesUser Analytics Project ID.
dateRangeobjectNo{ start, end } in ISO-8601 UTC.
comparingDateRangeobjectNoComparison time range. Enables comparison mode.
isComparingbooleanNoSet true to retrieve comparing rows.
groupBystring[]NoGrouping dimensions: DATE, WEEK, MONTH, DEFAULT_CHANNEL_GROUP, SOURCE_MEDIUM, CAMPAIGN, FIRST_PAGE_LOCATION, FIRST_PAGE_LOCATION_URL_GROUP, FIRST_PAGE_TITLE, SECOND_PAGE_LOCATION, SECOND_PAGE_LOCATION_URL_GROUP, SECOND_PAGE_TITLE, DEVICE, OS, BROWSER, EXP_VARIANT_STRING.
orderByobjectNo{ field, direction }. Fields: DATE, WEEK, MONTH, SESSION_COUNT, UNIQUE_USER_COUNT, FIRST_SESSION_RATE, CONVERSION_RATE, CONVERSION_COUNT, SURF_RATE, AVG_SESSION_DURATION, ENGAGEMENT_RATE, ENGAGEMENT_COUNT, AVG_PAGE_LOCATION_COUNT, PAGE_VIEW_EVENT_COUNT.
limitnumberNoRow limit (1–500). Default: 100.
offsetnumberNoPagination offset. Default: 0.
metricsstring[]NoMetrics to include in output rows.
Filter parameters
ParameterTypeRequiredDescription
firstPageLocationstringNoFirst page URL filter.
firstPageLocationFilterTypeFilterEnumNoFilter operator.
firstPageLocationUrlGroupIdsstring[]NoFirst page URL group IDs.
firstPageTitlestringNoFirst page title filter.
firstPageTitleFilterTypeFilterEnumNoFilter operator.
secondPageLocationstringNoSecond page URL filter.
secondPageLocationFilterTypeFilterEnumNoFilter operator.
secondPageLocationUrlGroupIdsstring[]NoSecond page URL group IDs.
secondPageTitlestringNoSecond page title filter.
secondPageTitleFilterTypeFilterEnumNoFilter operator.
visitedPagestringNoVisited page filter.
visitedPageFilterTypeFilterEnumNoFilter operator.
osstring[]NoOS filter.
devicesstring[]NoDevice filter.
browsersstring[]NoBrowser filter.
sourcesstring[]NoTraffic source filter.
mediumsstring[]NoTraffic medium filter.
campaignsstring[]NoCampaign filter.
campaignsFilterTypeFilterEnum[]NoPer-campaign filter operators.
eventsstring[]NoInclude events.
eventsNotInstring[]NoExclude events.
expVariantStringstring[]NoExperiment variant strings.
defaultChannelGroupstring[]NoDefault channel groups.
isSessionWithNavigationbooleanNoFilter by navigation sessions.
pageLocationCountIntRangeNo{ min?, max? } range.
gaSessionNumberIntRangeNo{ min?, max? } range.

Example prompts:

  • “Show me sessions grouped by channel for the last 7 days”
  • “Why did purchases change compared to last month?”

Fetches which key events (conversions) are configured for a User Analytics project.

ParameterTypeRequiredDescription
projectIdstringYesUser Analytics project ID.

Example prompts:

  • “Which key events are set up in this UA project?”

Gets GA4 session details for a specific user and session in User Analytics.

ParameterTypeRequiredDescription
projectIdstringYesProject ID.
gaSessionIdnumberYesGA4 session ID.
userPseudoIdstringYesUser pseudo ID (user ID).

Example prompts:

  • “Show me the details for this session”

Creates a saved User Analytics view with specified filters and conditions.

ParameterTypeRequiredDescription
projectIdstringConditionalUA Project ID (one of projectId / userAnalyticsId required).
userAnalyticsIdstringConditionalUser Analytics ID.
namestringYesView name.
detailGroupBystring[]YesGrouping dimensions for detail table.
detailOrderByobjectYes{ field, direction }.
descriptionstringNoView description.
defaultDateRangeobjectNo{ type, dateRange? }. Types: LATEST, DAYS_7, DAYS_28, DAYS_90, DAYS_180, DAYS_365, DAYS_480, CUSTOM, MONTHS_3, MONTHS_6, MONTHS_12, MONTHS_16.
Filter parameters
ParameterTypeRequiredDescription
visitedPagestringNoVisited page filter.
visitedPageFilterTypeFilterEnumNoFilter operator.
firstPageLocationURLGroupIDsstring[]NoFirst page URL group IDs.
firstPageLocationURLstringNoFirst page URL filter.
firstPageLocationFilterTypeFilterEnumNoFilter operator.
firstPageTitlestringNoFirst page title filter.
firstPageTitleFilterTypeFilterEnumNoFilter operator.
secondPageLocationURLGroupIDsstring[]NoSecond page URL group IDs.
secondPageLocationURLstringNoSecond page URL filter.
secondPageLocationFilterTypeFilterEnumNoFilter operator.
secondPageTitlestringNoSecond page title filter.
secondPageTitleFilterTypeFilterEnumNoFilter operator.
devicesstring[]NoMOBILE, TABLET, DESKTOP, SMART_TV, OTHER.
osstring[]NoANDROID, IOS, WINDOWS, MACOS, LINUX, CHROME_OS, OTHER.
browsersstring[]NoCHROME, FIREFOX, SAFARI, EDGE, etc.
sourcesstring[]NoTraffic source filter.
mediumsstring[]NoTraffic medium filter.
countriesstring[]NoCountry filter.
regionsstring[]NoRegion filter.
citiesstring[]NoCity filter.
campaignsstring[]NoCampaign filter.
campaignsFilterTypeFilterEnum[]NoPer-campaign filter operators.
defaultChannelGroupstring[]NoDefault channel groups.
eventsstring[]NoInclude events.
eventsNotInstring[]NoExclude events.
expVariantStringstring[]NoExperiment variant strings.
isSessionWithNavigationbooleanNoFilter by navigation sessions.
pageLocationCountIntRangeNo{ min?, max? } range.
gaSessionNumberIntRangeNo{ min?, max? } range.

Example prompts:

  • “Save these filters as a UA view called ‘Organic Sessions‘“

Edits a saved User Analytics view’s name, filters, or date range.

ParameterTypeRequiredDescription
idstringYesUser Analytics View ID.
namestringNoNew name.
descriptionstringNoNew description.
defaultDateRangeobjectNo{ type, dateRange? }.
detailGroupBystring[]NoGrouping dimensions.
detailOrderByobjectNo{ field, direction }.
Filter parameters (nullable to clear)
ParameterTypeRequiredDescription
visitedPagestring | nullNoVisited page filter.
visitedPageFilterTypeFilterEnum | nullNoFilter operator.
firstPageLocationURLGroupIDsstring[] | nullNoFirst page URL group IDs.
firstPageLocationURLstring | nullNoFirst page URL filter.
firstPageLocationFilterTypeFilterEnum | nullNoFilter operator.
firstPageTitlestring | nullNoFirst page title filter.
firstPageTitleFilterTypeFilterEnum | nullNoFilter operator.
secondPageLocationURLGroupIDsstring[] | nullNoSecond page URL group IDs.
secondPageLocationURLstring | nullNoSecond page URL filter.
secondPageLocationFilterTypeFilterEnum | nullNoFilter operator.
secondPageTitlestring | nullNoSecond page title filter.
secondPageTitleFilterTypeFilterEnum | nullNoFilter operator.
devicesstring[] | nullNoDevice filter.
osstring[] | nullNoOS filter.
browsersstring[] | nullNoBrowser filter.
sourcesstring[] | nullNoTraffic source filter.
mediumsstring[] | nullNoTraffic medium filter.
countriesstring[] | nullNoCountry filter.
regionsstring[] | nullNoRegion filter.
citiesstring[] | nullNoCity filter.
campaignsstring[] | nullNoCampaign filter.
campaignsFilterTypeFilterEnum[] | nullNoPer-campaign filter operators.
defaultChannelGroupstring[] | nullNoDefault channel groups.
eventsstring[] | nullNoInclude events.
eventsNotInstring[] | nullNoExclude events.
expVariantStringstring[] | nullNoExperiment variant strings.
isSessionWithNavigationboolean | nullNoNavigation sessions filter.
pageLocationCountIntRange | nullNoPage location count range.
gaSessionNumberIntRange | nullNoGA session number range.

Example prompts:

  • “Add a device filter to this view”

Deletes a saved User Analytics view.

ParameterTypeRequiredDescription
idstringYesView ID to delete.

Example prompts:

  • “Delete this UA view”

Creates a URL Group under a User Analytics project.

ParameterTypeRequiredDescription
projectIdstringConditionalUA Project ID (one of projectId / userAnalyticsId required).
userAnalyticsIdstringConditionalUser Analytics ID.
namestringYesGroup name.
opstringYesAND or OR.
patternsobject[]Yes[{ type, pattern }].
descriptionstringNoGroup description.
prependbooleanNoInsert at top of list.

Example prompts:

  • “Create a URL group for /products/ pages”

Updates an existing User Analytics URL Group’s name, description, operator, or patterns. At least one field must be provided.

ParameterTypeRequiredDescription
idstringYesURL Group ID.
namestringNoNew name.
descriptionstring | nullNoNew description.
opstringNoAND or OR.
patternsobject[]No[{ type, pattern }].

Example prompts:

  • “Update the patterns for this URL group”

Deletes a User Analytics URL Group.

ParameterTypeRequiredDescription
urlGroupIdstringYesURL Group ID to delete.
userAnalyticsIdstringNoParent User Analytics ID.
projectIdstringNoProject ID.
namestringNoDisplay name for confirmation.

Example prompts:

  • “Remove this URL group”

Sets which events are treated as key events (conversions) for a User Analytics project. This replaces the entire key events list.

ParameterTypeRequiredDescription
keyEventsstring[]YesEvent names (e.g. ["purchase", "sign_up"]). Replaces the entire list.
userAnalyticsIdstringConditionalUser Analytics node ID. Required unless projectId is provided.
projectIdstringConditionalUser Analytics Project ID. Required unless userAnalyticsId is provided.

Example prompts:

  • “Set purchase and sign_up as key events”
  • “Change the key events to only purchase”

These tools work across both Search Analytics and User Analytics projects.

Lists URL Groups for a project (works with both Search Analytics and User Analytics).

ParameterTypeRequiredDescription
projectIdstringYesTarget project ID.

Example prompts:

  • “Show URL Groups for this project”

Updates the display order of URL Groups (works with both Search Analytics and User Analytics).

ParameterTypeRequiredDescription
projectIdstringYesSA or UA project ID.
idsstring[]YesOrdered list of URL group IDs.
targetstringNosa or ua.

Lists inbox notifications for the authenticated user.

ParameterTypeRequiredDescription
workspaceIdstringYesWorkspace ID to scope notifications.
limitnumberNoNumber of notifications to fetch (1–50). Default: 10.
afterstringNoPagination cursor.
unreadbooleanNoWhen true, fetch only unread notifications.
archivedbooleanNoFilter by archived state.
typestringNoFilter by type: ANNOUNCEMENT, REPORT, ERROR, ANOMALY_DETECTED, NEW_DATA.
severitystringNoFilter by severity: HIGH, MIDDLE, LOW.

Example prompts:

  • “Show my latest notifications”
  • “Are there any unread notifications?”