list_active_projects to find your project, then list_conversions and list_attribution_models to resolve the right IDs, and finally get_report_table to fetch the data.
Projects and account
Tools for listing projects and checking your account.list_active_projects
list_active_projects
bigqueryProjectId, bigqueryDatasetId). Super users also see serviceAccountEmail.Parameters: NoneReturns: Array of project objects with ID, name, timezone, type, account info, and BigQuery settings.Example prompts:- “List all my SegmentStream projects”
- “Which projects do I have access to?”
- “What is the BigQuery dataset ID for my project?”
get_project
get_project
| Name | Type | Required | Description |
|---|---|---|---|
projectId | string | Yes | The project ID |
- “Show me the details of project X”
- “What timezone and currency is this project configured with?”
- “What features are enabled for this project?”
get_current_user
get_current_user
- “Who am I logged in as?”
- “What role do I have?”
Data sources
Tools for inspecting connected advertising platforms and their import status.list_data_sources
list_data_sources
| Name | Type | Required | Description |
|---|---|---|---|
projectId | string | Yes | The project ID |
- “What ad platforms are connected to this project?”
- “Show me all data sources”
- “Which data sources are enabled?”
get_data_source
get_data_source
isEnabled, isAuthenticated, options, authMeta, and workflow status.Parameters:| Name | Type | Required | Description |
|---|---|---|---|
dataSourceId | string | Yes | The data source ID |
- “Show me the configuration of the Facebook data source”
- “Is the Google Ads data source authenticated?”
get_data_source_logs
get_data_source_logs
startedAt, fillDate, status, errors, and message.Parameters:| Name | Type | Required | Description |
|---|---|---|---|
projectId | string | Yes | The project ID |
dataSourceId | string | Yes | The data source ID |
- “Show me the recent import logs for our Facebook data source”
- “Are there any import errors for Google Ads?”
- “When was the last successful import for this data source?”
Data streams
Tools for inspecting event data streams (GA4 BigQuery exports, SDK streams, etc.).list_data_streams
list_data_streams
isEnabled, isConnected, displayName, destinationTableName, and config.Parameters:| Name | Type | Required | Description |
|---|---|---|---|
projectId | string | Yes | The project ID |
- “What data streams are configured?”
- “Show me all connected event tracking sources”
- “Is the GA4 BigQuery stream connected?”
get_data_stream
get_data_stream
isEnabled, isConnected, displayName, destinationTableName, and config.Parameters:| Name | Type | Required | Description |
|---|---|---|---|
dataStreamId | string | Yes | The data stream ID |
- “Show me the configuration of this data stream”
- “What table does this stream write to?”
test_data_stream_connection
test_data_stream_connection
| Name | Type | Required | Description |
|---|---|---|---|
dataStreamId | string | Yes | The data stream ID |
- “Test the connection for our GA4 data stream”
- “Is the data stream still connected?”
Conversions
Tools for inspecting conversion definitions, statistics, and geographic breakdowns.list_conversions
list_conversions
modelledConversionId, isUniqueConversion, hidden, and legacy fields.Parameters:| Name | Type | Required | Description |
|---|---|---|---|
projectId | string | Yes | The project ID |
- “What conversions are configured in this project?”
- “List all active conversions”
- “Show me the conversion IDs I need for reporting”
get_conversion
get_conversion
| Name | Type | Required | Description |
|---|---|---|---|
conversionId | string | Yes | The conversion ID |
- “Show me how the Purchase conversion is configured”
- “What events trigger this conversion?”
- “What deduplication settings does this conversion use?”
get_conversion_statistics
get_conversion_statistics
totalConversions, totalSessions, totalValues, visitors, conversionsHistory (per date), and exportsHistory.Parameters:| Name | Type | Required | Description |
|---|---|---|---|
projectId | string | Yes | The project ID |
conversionId | string | Yes | The conversion ID |
dateFrom | string | No | Start date in YYYY-MM-DD format |
dateTo | string | No | End date in YYYY-MM-DD format |
chartGranularity | string | No | DAY or HOUR |
- “How many purchases happened last month?”
- “Show me the daily conversion trend for the past 30 days”
- “What is the total conversion value this quarter?”
get_conversions_by_country
get_conversions_by_country
| Name | Type | Required | Description |
|---|---|---|---|
conversionId | string | Yes | The conversion ID |
projectId | string | Yes | The project ID |
startDate | string | Yes | Start date in YYYY-MM-DD format |
endDate | string | Yes | End date in YYYY-MM-DD format |
- “Which countries had the most purchases last month?”
- “Break down lead conversions by country for Q4”
Attribution models
Tools for inspecting attribution model configurations.list_attribution_models
list_attribution_models
attributionWindow, adjustment, filter, dimension, isDefault, and isDisabled.Parameters:| Name | Type | Required | Description |
|---|---|---|---|
projectId | string | Yes | The project ID |
- “What attribution models are available?”
- “Which attribution model is the default?”
- “Show me all attribution model IDs”
get_attribution_model
get_attribution_model
| Name | Type | Required | Description |
|---|---|---|---|
id | string | Yes | The attribution model ID |
projectId | string | Yes | The project ID |
- “Show me the configuration of the Multi-Touch attribution model”
- “What is the attribution window for the Last Click model?”
- “Does this model use self-reported attribution?”
Reports and analytics
Tools for querying campaign performance data — the primary way to pull metrics from SegmentStream.get_report_table
get_report_table
format: "csv" for a compact representation that uses fewer tokens.Supports 30 built-in dimensions (campaign_name, ad_platform, country, source_medium, date, etc.) plus custom dimensions. Returns data as CSV (default) or JSON.Parameters:| Name | Type | Required | Description |
|---|---|---|---|
projectId | string | Yes | The project ID |
format | string | No | Response format: csv (default) or json |
params.firstDateRange | object | Yes | Primary date range with from and to in YYYY-MM-DD |
params.secondDateRange | object | No | Comparison date range for period-over-period analysis |
params.dimensions | array | No | Dimensions to group by (e.g., campaign_name, ad_platform) |
params.attributionMetrics | array | No | Attribution metrics: clicks, cost, impressions, sessions, users, CPC, CPM, CTR, etc. |
params.conversionsMetrics | array | No | Conversion metrics: conversions, conversionValue, CPA, ROAS, AOV, CRR, etc. |
params.attributedConversions | array | No | Conversion + attribution model pairs (required when using conversion metrics) |
params.filter | object | No | Filter expression with member, operator, and values — supports and/or combinators |
params.orderByAttributionMetrics | array | No | Sort by attribution metrics |
params.orderByConversionMetrics | array | No | Sort by conversion metrics |
params.limit | number | No | Max rows (default 1000, max 1000) |
params.offset | number | No | Row offset for pagination |
params.timeMachineDate | string | No | Time machine date (YYYY-MM-DD) — sets ML score date and max conversion date |
- “Show me the top 10 campaigns by cost for the last 30 days”
- “What is the ROAS by ad platform for last month?”
- “Give me a breakdown of conversions by source/medium and country”
- “Compare campaign performance between this month and last month”
get_report_chart
get_report_chart
| Name | Type | Required | Description |
|---|---|---|---|
projectId | string | Yes | The project ID |
params.dateRange | object | Yes | Date range with from and to in YYYY-MM-DD |
params.granularity | string | No | Day (default), Hour, Week, or Month |
params.attributionMetrics | array | No | Attribution metrics to chart |
params.conversionsMetrics | array | No | Conversion metrics to chart |
params.attributedConversions | array | No | Conversion + attribution model pairs |
params.filter | object | No | Filter expression |
params.timeMachineDate | string | No | Time machine date (YYYY-MM-DD) |
- “Show me the daily cost trend for the past 30 days”
- “Plot weekly conversions over the last 3 months”
- “Chart the ROAS trend by week for Facebook campaigns”
list_report_configs
list_report_configs
| Name | Type | Required | Description |
|---|---|---|---|
projectId | string | Yes | The project ID |
- “What reports are saved in this project?”
- “List all report configurations”
get_report_config
get_report_config
| Name | Type | Required | Description |
|---|---|---|---|
projectId | string | Yes | The project ID |
reportId | string | Yes | The report config ID |
- “Show me the configuration of the Performance Overview report”
- “What dimensions and metrics does this report use?”
get_report_dimension_values
get_report_dimension_values
commonDimensionV4 for built-in dimensions or customField for custom fields.Parameters:| Name | Type | Required | Description |
|---|---|---|---|
projectId | string | Yes | The project ID |
commonDimensionV4 | string | No | Built-in dimension name (e.g., campaign_name, ad_platform, source_medium) |
customField | string | No | Custom field name (e.g., event.name) |
customFieldScope | string | No | Custom field scope (table name) |
prefix | string | No | Prefix to filter returned values |
- “What campaign names are available for filtering?”
- “List all ad platform values in this project”
- “What values are available for the source_medium dimension?”
download_report_csv
download_report_csv
get_download_job (type: csv-v4) to get the download URL once the export is ready.Parameters:| Name | Type | Required | Description |
|---|---|---|---|
projectId | string | Yes | The project ID |
params | object | Yes | Same parameters as get_report_table |
reportName | string | No | Human-readable report name for the CSV file |
billingAccountName | string | No | Billing account name to include in the CSV |
interval | string | No | Date interval label: Custom, Last7Days, Last14Days, Last28Days, Last30Days, Last60Days, Last90Days, Last6Months, Last12Months, Yesterday |
get_download_job.Example prompts:- “Export this report as a CSV”
- “Download campaign performance data for the last quarter”
get_download_job
get_download_job
| Name | Type | Required | Description |
|---|---|---|---|
projectId | string | Yes | The project ID |
jobId | string | Yes | Job ID returned by download_report_csv |
type | string | Yes | Job type: csv-v4 or google-sheets-v4 |
progress (0-100), status (waiting, active, completed, failed), download URL, and failedReason.Example prompts:- “Is my CSV export ready?”
- “Check the status of the download job”
get_report_bigquery_sql
get_report_bigquery_sql
| Name | Type | Required | Description |
|---|---|---|---|
projectId | string | Yes | The project ID |
params | object | Yes | Same parameters as get_report_table |
sqlQueryString and attributed conversions JSON.Example prompts:- “Show me the SQL that would be generated for this report”
- “What BigQuery query does SegmentStream run for campaign performance?”
User journey
Tools for tracing individual user paths and attribution credit distribution.get_user_journey
get_user_journey
anonymousId or userId.Parameters:| Name | Type | Required | Description |
|---|---|---|---|
projectId | string | Yes | The project ID |
params.dateFrom | string | Yes | Start date (YYYY-MM-DD) |
params.dateTo | string | Yes | End date (YYYY-MM-DD) |
params.useCookieMatchingByUserId | boolean | Yes | Whether to use cookie matching by user ID |
params.attributedConversions | array | Yes | Conversion + attribution model pairs |
params.conversionInternalIds | array | Yes | Conversion internal IDs to include |
params.selectedAnonymousId | string | No | Filter to a specific anonymous ID |
params.selectedUserId | string | No | Filter to a specific user ID |
- “Show me the user journey for anonymous ID
abc123over the last 30 days” - “What touchpoints led to the last conversion for user
[email protected]?” - “Trace the journey for this anonymous ID and show attribution credits”
debug_user_journey
debug_user_journey
| Name | Type | Required | Description |
|---|---|---|---|
projectId | string | Yes | The project ID |
params | object | Yes | Same parameters as get_user_journey |
- “Show me the SQL behind this user journey query”
- “Debug the user journey query for this anonymous ID”
BigQuery
Direct SQL access to your project’s BigQuery dataset.bigquery_execute_sql
bigquery_execute_sql
hitsSet instead of project.dataset.hitsSet).Parameters:| Name | Type | Required | Description |
|---|---|---|---|
projectId | string | Yes | The SegmentStream project ID |
query | string | Yes | The BigQuery SQL query to execute |
- “Run a query to count sessions by country for last week”
- “Show me the schema of the sessions table”
- “Query the raw events table for the last 24 hours”
- “How many unique users visited the site yesterday?”
bigquery_get_table_schema
bigquery_get_table_schema
null if the table does not exist.Parameters:| Name | Type | Required | Description |
|---|---|---|---|
projectId | string | Yes | The SegmentStream project ID |
tableName | string | Yes | The table name within the project dataset (e.g., hitsSet, sessions). Do not fully qualify — the project dataset is used automatically. |
- “What columns does the sessions table have?”
- “Show me the schema for hitsSet”
- “What fields are available in the stitched_sessions table?”
Custom dimensions
Tools for inspecting custom dimensions configured in your project.list_custom_dimensions
list_custom_dimensions
| Name | Type | Required | Description |
|---|---|---|---|
projectId | string | Yes | The project ID |
- “What custom dimensions are available?”
- “List all custom dimension keys I can use in reports”
get_custom_dimension
get_custom_dimension
| Name | Type | Required | Description |
|---|---|---|---|
projectId | string | Yes | The project ID |
key | string | Yes | The custom dimension key |
- “Show me the SQL expression for the brand/non-brand custom dimension”
- “How is this custom dimension calculated?”
Self-reported attribution
Tools for inspecting self-reported attribution (SRA) settings.get_sra_settings
get_sra_settings
extractionSql, classifierEnabled, channelMappings, overrideConditions, and isMigrated.Parameters:| Name | Type | Required | Description |
|---|---|---|---|
projectId | string | Yes | The project ID |
- “Show me the self-reported attribution settings”
- “What channel mappings are configured for SRA?”
- “Is the SRA classifier enabled?”
Audiences
Tools for inspecting audience definitions and memberships.list_audiences
list_audiences
isForever, filter, membershipDurationDays, and status for each audience.Parameters:| Name | Type | Required | Description |
|---|---|---|---|
projectId | string | Yes | The project ID |
mlModelId | string | No | Filter audiences by ML model |
conversionId | string | No | Filter audiences by conversion |
- “What audiences are defined in this project?”
- “List all audiences associated with the Purchase conversion”
get_audience
get_audience
projectId, isForever, filter, filterSql, membershipDurationDays, status, createdAt, and updatedAt.Parameters:| Name | Type | Required | Description |
|---|---|---|---|
audienceId | string | Yes | The audience ID |
- “Show me the filter criteria for this audience”
- “How long do users stay in this audience?”
query_audiences_by_client_id
query_audiences_by_client_id
audienceId, audienceName, entryTime, and expirationTime for each membership.Parameters:| Name | Type | Required | Description |
|---|---|---|---|
projectId | string | Yes | The project ID |
anonymousId | string | Yes | The anonymous client ID |
from | string | Yes | Start date (ISO date, e.g., 2025-01-01) |
to | string | Yes | End date (ISO date, e.g., 2025-01-31) |
- “What audiences does anonymous ID
abc123belong to?” - “Show me audience memberships for this user over the last 30 days”
get_audiences_inclusion
get_audiences_inclusion
allUsers count. Optionally filter by ML model.Parameters:| Name | Type | Required | Description |
|---|---|---|---|
projectId | string | Yes | The project ID |
mlModelId | string | No | Filter inclusion stats by ML model |
- “What percentage of users are in each audience?”
- “Show me audience inclusion statistics”
Workflows
Tools for monitoring data processing workflows.list_workflows
list_workflows
| Name | Type | Required | Description |
|---|---|---|---|
projectId | string | Yes | The project ID |
limit | number | No | Maximum number of workflows to return (default 20) |
- “Show me the recent workflows”
- “What data processing jobs ran today?”
get_workflow_status
get_workflow_status
| Name | Type | Required | Description |
|---|---|---|---|
workflowId | string | Yes | The workflow ID |
- “What is the status of this workflow?”
- “Did this workflow complete successfully?”
- “Show me any errors from the last workflow run”
Cost data quality
Tools for monitoring advertising cost data accuracy.get_cost_data_quality
get_cost_data_quality
| Name | Type | Required | Description |
|---|---|---|---|
projectId | string | Yes | The project ID |
dataSourceId | number | No | Scope results to a specific data source |
dateFrom | string | No | Start date (YYYY-MM-DD) |
dateTo | string | No | End date (YYYY-MM-DD) |
- “What is the cost data quality score for this project?”
- “Show me the data quality for the Facebook data source”
- “How has cost data quality changed over the last 30 days?”
Identity graph
Tools for inspecting user identity stitching.get_identity_graph_statistics
get_identity_graph_statistics
| Name | Type | Required | Description |
|---|---|---|---|
projectId | string | Yes | The project ID |
conversionInternalId | string | No | Filter by internal conversion ID |
daysBack | number | No | Number of days to look back |
useUsersV2 | boolean | No | Whether to use the users v2 engine |
- “Show me the identity graph statistics”
- “How many users have cross-device stitching?”
- “What is the user stitching distribution for the last 30 days?”
Incidents
Tools for checking project health alerts.list_incidents
list_incidents
| Name | Type | Required | Description |
|---|---|---|---|
projectId | string | Yes | The project ID |
status | string | No | Filter by status: Ok or Error |
limit | number | No | Maximum number of incidents to return |
offset | number | No | Number of incidents to skip for pagination |
minimumUpdatedAt | string | No | Only return incidents updated after this ISO-8601 date |
- “Are there any active incidents?”
- “Show me recent errors for this project”
- “List all incidents from the last week”
Classifiers (ML models)
Tools for inspecting ML-based classifiers used for conversion scoring.list_classifiers
list_classifiers
| Name | Type | Required | Description |
|---|---|---|---|
projectId | string | Yes | The project ID |
- “What ML classifiers are configured?”
- “Show me the classifier settings for this project”
get_classifier
get_classifier
| Name | Type | Required | Description |
|---|---|---|---|
classifierId | string | Yes | The classifier ID |
- “Show me the details of this classifier”
- “What model does this classifier use?”
list_classifier_models
list_classifier_models
- “What classifier models are available?”
- “Show me the pricing for classifier models”
Portfolios (budget optimization)
Tools for inspecting portfolio configurations, performance history, and optimization scenarios.list_portfolios
list_portfolios
potentialMetric, actualMetric, actualSpend), targetsCount, isReady, and lastApplyTime.Parameters:| Name | Type | Required | Description |
|---|---|---|---|
projectId | string | Yes | The project ID |
- “What portfolios are configured in this project?”
- “List all optimization portfolios”
- “Which portfolios are ready for optimization?”
get_portfolio_history
get_portfolio_history
portfolioId (and optional period), returns a summary with per-period rows and plots. When startDate and endDate are provided, returns detailed period data including per-campaign breakdowns.Parameters:| Name | Type | Required | Description |
|---|---|---|---|
portfolioId | string | Yes | The portfolio ID |
period | string | No | History period: LAST_MONTH, LAST_THREE_MONTHS (default), or LAST_SIX_MONTHS |
startDate | string | No | Period start date (ISO-8601, e.g., 2025-01-01). When provided with endDate, returns detailed per-campaign breakdowns. |
endDate | string | No | Period end date (ISO-8601, e.g., 2025-01-31). When provided with startDate, returns detailed per-campaign breakdowns. |
- “Show me the portfolio performance over the last 3 months”
- “What was the campaign-level breakdown for January?”
- “How has this portfolio performed over the last 6 months?”
get_portfolio_optimization
get_portfolio_optimization
| Name | Type | Required | Description |
|---|---|---|---|
portfolioId | string | Yes | The portfolio ID |
totalBudgetLimit | number | No | Total budget constraint for the optimization period |
totalDailyBudgetLimit | number | No | Daily budget constraint for optimization |
optimizationVersion | string | No | Optimization algorithm version (default: v7) |
- “Show me the optimization recommendations for this portfolio”
- “What would the optimal budget allocation look like with a €50,000 monthly budget?”
- “Show me the diminishing returns curves for portfolio targets”
Experiments (geo tests)
Tools for inspecting geo-lift experiments.list_experiments
list_experiments
| Name | Type | Required | Description |
|---|---|---|---|
projectId | string | Yes | The project ID |
- “What experiments are running?”
- “Show me all geo tests and their status”
- “List completed experiments with their results”
get_experiment
get_experiment
| Name | Type | Required | Description |
|---|---|---|---|
experimentId | string | Yes | The experiment ID |
- “Show me the results of this geo test”
- “What was the measured lift in this experiment?”
- “Show me the experiment preparation details”
list_experiment_custom_parameter_keys
list_experiment_custom_parameter_keys
| Name | Type | Required | Description |
|---|---|---|---|
conversionId | string | Yes | The conversion ID |
- “What custom parameters can I use for geo test segmentation?”
- “List available custom parameter keys for experiments”