Tool Reference
Reference for every public CloudX MCP tool, including parameters, supported filters, and response fields.
Tool Reference
CloudX MCP currently exposes 24 public tools: eight reporting tools, four auction-inspection tools, five configuration tools, six Task tools, and one documentation search tool. The authenticated user is always scoped to their CloudX account.
Tool Summary
| Tool | Purpose | Extra Filters | Main Response Fields |
|---|---|---|---|
GetReportDashboard | Summary KPIs plus chart data | test_mode, country, device_os, source, granularity | summary, chart_data |
GetReportBreakdown | Custom grouped report rows | by, metrics, ranking and metric filters | dimensions, metrics, rows, row_count |
GetReportBidders | Bidder-level performance | test_mode, country, device_os | bidders |
GetReportApps | App-level performance | test_mode, country, device_os, source | apps |
GetReportAdUnits | Ad unit-level performance | test_mode, country, device_os, app_bundle, ad_unit_type, source | ad_units |
GetReportExport | Raw export rows in JSON shape | country, device_os, granularity | columns, rows, row_count |
GetReportABTest | Control and test-variant performance | ab_test_id | control, test, statistical fields |
GetReportTotalRevenue | Total Publisher Revenue across CloudX and connected mediation platforms | measures, dimensions, dimension filters, query_part, limit | totals, series, dimensionTables, dataCompleteThrough |
GetAuctionList | Recent auctions matching filters | app, ad unit, traffic, ILRD, and mediator filters | auctions |
GetAuctionShow | One auction with optional related details | with | auctions, rounds, bids, ilrd, external_ilrd |
GetAuctionRounds | Auction rounds or aggregate round metrics | auction_id, metric, traffic filters | rounds, metrics |
GetAuctionBids | Bid and non-bid rows | traffic filters, floor_source | bids |
GetConfigShow | Live, published, or draft configuration | id, version, draft | config metadata, data, yaml |
GetConfigValidate | Server-side config validation | id, version | valid, issues, counts, source |
GetConfigHistory | Recent config history | since, author, include_drafts, limit | entries |
PostConfigEdit | Typed inventory configuration edits | body.config_id, body.operations, body.summary | draft or published config result |
PostConfigPublish | Validate and publish a draft | body.draft_id, body.version_label | config_id, version_number, validation |
ListScheduledAgents | List accessible Tasks, newest first | none | scheduled_agents |
GetScheduledAgent | Get one Task | scheduled_agent_id | Task details |
CreateScheduledAgent | Create a recurring Task | body.prompt, body.schedule | Created Task |
UpdateScheduledAgent | Change a Task | scheduled_agent_id, body | Updated Task |
DeleteScheduledAgent | Delete a Task | scheduled_agent_id | Task deleted. |
RunScheduledAgent | Queue an immediate run | scheduled_agent_id | Task run queued. |
SearchDocs | CloudX documentation search | none | results |
Reporting Tool Parameters
| Parameter | Required | Supported By | Notes |
|---|---|---|---|
start_time | Yes | Reporting tools | Unix timestamp in seconds, UTC |
end_time | Yes | Reporting tools | Unix timestamp in seconds, UTC |
country | No | Dashboard, Breakdown, Bidders, Apps, Ad Units, Export | ISO-2 country code |
device_os | No | Dashboard, Breakdown, Bidders, Apps, Ad Units, Export | iOS or Android |
test_mode | No | Dashboard, Breakdown, Bidders, Apps, Ad Units | production, test, or all |
app_bundle | No | Ad Units only | Bundle ID such as com.example.game |
ad_unit_type | No | Ad Units only | BANNER, INTERSTITIAL, REWARDED, MREC, or NATIVE |
source | No | Dashboard, Apps, Ad Units | Omit or use cloudx for CloudX-only data. Use a mediation platform (applovin for AppLovin MAX, admob for AdMob Mediation, levelplay for ironSource LevelPlay), a comma-separated list, or all to include impression-level revenue data (ILRD) forwarded by publisher SDKs |
granularity | No | Dashboard, Breakdown, Export | daily or hourly; defaults to daily |
GetReportDashboard
Use this tool for top-line reporting across a time range.
Best For
- total revenue and fill rate checks
- daily trend analysis
- quick health checks by country or platform
Parameters
| Parameter | Type | Required |
|---|---|---|
start_time | integer | Yes |
end_time | integer | Yes |
country | string | No |
device_os | string | No |
test_mode | string | No |
source | string | No |
granularity | string | No |
Response Shape
summarychart_data
summary includes fields such as total_requests, total_impressions, revenue, fill_rate, ecpm, total_clicks, ctr, and total_users.
GetReportBreakdown
Use this tool to choose the grouping dimensions and metrics for a report instead of using a fixed dashboard shape.
Parameters
| Parameter | Type | Required | Notes |
|---|---|---|---|
start_time | integer | Yes | Unix seconds; range cannot exceed 31 days |
end_time | integer | Yes | Unix seconds; range cannot exceed 31 days |
by | string | Yes | Comma-separated, up to four: hour, day, week, month, country, os, app, ad_unit, format, bidder. bidder requires a period beginning on or after 2026-06-01 |
metrics | string | Yes | Comma-separated: requests, bid_requests, fills, impressions, revenue, fill_rate, ecpm, clicks, ctr. bid_requests requires the bidder dimension |
country | string | No | ISO-2 country code |
device_os | string | No | iOS or Android |
test_mode | string | No | Defaults to production |
granularity | string | No | daily or hourly; defaults to daily |
top | integer | No | Top 1–1000 rows by the first metric |
bottom | integer | No | Bottom 1–1000 rows by the first metric |
having | string | No | Metric expression such as revenue > 10 |
Response Shape
dimensions: requested dimension namesmetrics: requested metric namesrows: objects containingdimensionsandmetricsmapsrow_count
For dimension and metric definitions, see cloudx report breakdown.
GetReportBidders
Use this tool when you want to compare demand partners.
Best For
- finding the highest-revenue bidder
- checking bid rate and win rate by partner
- comparing supply quality across countries or platforms
Parameters
| Parameter | Type | Required |
|---|---|---|
start_time | integer | Yes |
end_time | integer | Yes |
country | string | No |
device_os | string | No |
test_mode | string | No |
Response Shape
bidders
Each bidder row can include name, requests, bids, bid_rate, impressions, win_rate, revenue, and ecpm.
GetReportApps
Use this tool to compare app-level performance within an account.
Best For
- ranking apps by revenue
- comparing iOS and Android portfolio performance
- spotting low fill-rate apps
Parameters
| Parameter | Type | Required |
|---|---|---|
start_time | integer | Yes |
end_time | integer | Yes |
country | string | No |
device_os | string | No |
test_mode | string | No |
source | string | No |
Response Shape
apps
Each app row can include app_id, name, platform, impressions, fill_rate, revenue, and ecpm.
GetReportAdUnits
Use this tool for placement-level investigation.
Best For
- comparing banners vs rewarded vs interstitial
- isolating a single app bundle
- finding weak or high-value ad placements
Parameters
| Parameter | Type | Required |
|---|---|---|
start_time | integer | Yes |
end_time | integer | Yes |
country | string | No |
device_os | string | No |
test_mode | string | No |
app_bundle | string | No |
ad_unit_type | string | No |
source | string | No |
Response Shape
ad_units
Each row can include ad_unit_id, name, app_name, app_bundle, type, impressions, fill_rate, revenue, and ecpm.
GetReportExport
Use this tool when you need tabular data rather than a summarized report.
Best For
- passing data into spreadsheets
- validating downstream analytics
- handing structured rows to another tool or agent
Parameters
| Parameter | Type | Required |
|---|---|---|
start_time | integer | Yes |
end_time | integer | Yes |
country | string | No |
device_os | string | No |
granularity | string | No |
Response Shape
columnsrowsrow_count
GetReportABTest
Use this tool to compare an A/B test’s control and test variants over a time range.
Parameters
| Parameter | Type | Required |
|---|---|---|
ab_test_id | string | Yes |
start_time | integer | Yes |
end_time | integer | Yes |
The requested range cannot exceed 31 days.
Response Shape
controlandtest, each withcumulativemetrics and daily rows- statistical fields when available:
lift,p_value,chi_squared_p,ci_low,ci_high,n_control,n_test, andrequired_n status, such asin_progress,directional,achieved, orinvalidated
GetReportTotalRevenue
Use this tool to read the Total Publisher Revenue report shown on the Total Revenue dashboard. It combines CloudX with the mediation platforms you connected in Data Sources.
Best For
- total publisher revenue and CloudX share of wallet
- comparing mediation platforms by app, format, or country
- daily revenue trends that include traffic outside CloudX
Parameters
| Parameter | Type | Required | Notes |
|---|---|---|---|
start_time | integer | Yes | Unix seconds; range cannot exceed 31 days. Rounded down to the start of the UTC day |
end_time | integer | Yes | Unix seconds. Rounded up to the end of the UTC day and capped at the latest complete mediator reporting day |
measures | string[] | No | totalAdRequests, totalFills, totalImpressions, totalClicks, totalRevenue, cxRevenue, cxSOW, eCPM, fillRate, clearRate, ctr. Omit for the report defaults |
dimensions | string[] | No | mediation, appBundle, appName, appOsCategory, appIabCategory, mediationAppId, os, country, adFormat, adUnitId, adUnitName, day, week. Omit for the report defaults |
dimension_filters | object | No | Values to include, keyed by dimension name, for example {"country": ["US"]} |
dimension_excludes | object | No | Values to exclude, keyed by dimension name |
query_part | string | No | totals, series, or dimensions to return one section. Omit to return all three |
limit | integer | No | Maximum rows per dimension table, 1–25 |
Mediator reports sync daily. Before 12:00 UTC, data is complete through the end of the UTC day before yesterday; from 12:00 UTC, through the end of yesterday.
Response Shape
totals: one value per requested measureseries: daily pointsdimensionTables: one table per requested dimensionmeasures,dimensions,availableMeasures,availableDimensionsstartTime,endTime,requestedEndTime,dataCompleteThroughreportLink: a link to the same view in the dashboard
Auction Inspection Tools
Auction time-range tools accept Unix timestamps in seconds and a maximum range of 31 days. Their common optional filters are test_mode, app_bundle, ad_unit_id, country, and device_os. Row limits default to 50 and accept values from 1 to 500.
GetAuctionList
Use this tool to find recent auctions before drilling into one auction.
Parameters
| Parameter | Type | Required | Notes |
|---|---|---|---|
start_time | integer | Yes | Unix seconds |
end_time | integer | Yes | Unix seconds |
test_mode | string | No | production, test, or all |
app_bundle | string | No | App bundle identifier |
ad_unit_id | string | No | Ad unit ID |
country | string | No | ISO-2 country code |
device_os | string | No | iOS or Android |
has_ilrd | boolean | No | Require CloudX impression-level revenue data |
has_external_ilrd | boolean | No | Require external impression-level revenue data |
mediator | string | No | applovin (AppLovin MAX), admob (AdMob Mediation), or levelplay (ironSource LevelPlay) |
limit | integer | No | 1–500; defaults to 50 |
has_ilrd and has_external_ilrd are mutually exclusive. mediator can only be used with has_external_ilrd: true.
The response contains an auctions array with IDs, timestamps, app and ad-unit context, winner details, bid counts, duration, A/B test context, and ILRD availability.
GetAuctionShow
Use this tool after GetAuctionList when you know the auction ID.
Parameters
| Parameter | Type | Required | Notes |
|---|---|---|---|
auction_id | string | Yes | CloudX auction ID |
with | string | No | Comma-separated: rounds, bids, ilrd, external-ilrd |
The response includes auction_id and auctions. Requested related data appears in rounds, bids, ilrd, and external_ilrd.
GetAuctionRounds
Use this tool either to inspect rounds for one auction_id or to aggregate round behavior over a time range.
Parameters
| Parameter | Type | Required | Notes |
|---|---|---|---|
auction_id | string | Conditional | Use for one auction |
start_time | integer | Conditional | Use with end_time for aggregate analysis |
end_time | integer | Conditional | Use with start_time for aggregate analysis |
metric | string | No | distribution, duration, cleared-on, or skip-reason when auction_id is omitted |
test_mode | string | No | production, test, or all |
app_bundle | string | No | App bundle identifier |
ad_unit_id | string | No | Ad unit ID |
country | string | No | ISO-2 country code |
device_os | string | No | iOS or Android |
limit | integer | No | 1–500; defaults to 50 |
The response contains detailed rounds, aggregate metrics, or both.
GetAuctionBids
Use this tool to inspect bid and non-bid rows across a time range.
Parameters
| Parameter | Type | Required | Notes |
|---|---|---|---|
start_time | integer | Yes | Unix seconds |
end_time | integer | Yes | Unix seconds |
test_mode | string | No | production, test, or all |
app_bundle | string | No | App bundle identifier |
ad_unit_id | string | No | Ad unit ID |
country | string | No | ISO-2 country code |
device_os | string | No | iOS or Android |
floor_source | string | No | static, dynamic, publisher, or configured |
limit | integer | No | 1–500; defaults to 50 |
The bids response array includes bidder, status, price, winner, latency, floor, rejection, and auction context.
Configuration Tools
GetConfigShow
Fetch the live config by omitting all parameters, or select a draft or published version.
| Parameter | Type | Required | Notes |
|---|---|---|---|
id | string | No | Published or draft config row ID |
version | integer | No | Published version number |
draft | boolean | No | Return the account draft; use id if multiple drafts exist |
The response includes id, kind, version and author metadata, parsed data, and yaml.
GetConfigValidate
Validate the live config by omitting all parameters, or select a config with id or version.
| Parameter | Type | Required |
|---|---|---|
id | string | No |
version | integer | No |
The response includes valid, error_count, warning_count, issues, source, and yaml. Each issue can include its severity, code, message, path, line, and column.
GetConfigHistory
List recent configuration rows, newest first. This returns at most 200 rows and is not an exhaustive account history.
| Parameter | Type | Required | Notes |
|---|---|---|---|
since | string | No | RFC3339 timestamp or YYYY-MM-DD |
author | string | No | User ID, email, or name substring |
include_drafts | boolean | No | Defaults to published versions only |
limit | integer | No | 1–200; defaults to 50 |
Each entries row includes the config ID, kind, version, author, creation time, description, and publish-time diff counts.
PostConfigEdit
Apply typed changes to apps, ad units, ad unit groups, account bidders, network mappings, lists, tags, test devices, line items, or A/B tests.
Request Shape
| Parameter | Type | Required | Notes |
|---|---|---|---|
body.config_id | string | No | Defaults to live; edits drafts in place and copies published configs to a new draft |
body.operations | array | Yes | Each object must contain exactly one supported action |
body.summary | string | Conditional | Required for ordinary draft edits; optional for A/B test operations |
Supported actions are:
- apps:
create_app,update_app,delete_app - ad units:
create_ad_unit,update_ad_unit,delete_ad_unit - network and bidder settings:
upsert_network_mapping,delete_network_mapping,upsert_account_bidder - ad unit groups:
create_ad_unit_group,update_ad_unit_group,delete_ad_unit_group,remove_ad_unit_from_group - lists and tags:
create_list,update_list,delete_list,create_tag,update_tag,delete_tag - test devices:
upsert_test_device,delete_test_device - A/B tests:
create_ab_test,update_ab_test,start_ab_test,end_ab_test,promote_ab_test,delete_ab_test - line items:
create_line_item,update_line_item,delete_line_item
Ordinary edits and create_ab_test return a draft. The A/B test update, start, end, promote, and delete actions publish immediately and must be the only operation in the request. Set price floors on line items; ad-unit create and update operations do not accept bidfloor. Line-item bidfloor values are decimal USD CPM.
PostConfigPublish
Publish a draft as the live configuration. The same server-side checks used by the CloudX app run before the draft becomes live.
| Parameter | Type | Required |
|---|---|---|
body.draft_id | string | Yes |
body.version_label | string | No |
The response includes config_id, version_number, and validation. A blocking validation failure returns an MCP error and does not publish the draft.
Task Tools
Use these tools to manage recurring Tasks from an MCP client. A Task runs its prompt on a five-field cron schedule in an IANA timezone. Tasks are private by default; set access_mode to workspace to share one. A private Task is visible only to its creator.
| Tool | Required arguments | Optional arguments | Response |
|---|---|---|---|
ListScheduledAgents | none | none | scheduled_agents array, newest first (up to 25) |
GetScheduledAgent | scheduled_agent_id | none | Task object |
CreateScheduledAgent | body.prompt, body.schedule | body.name, body.timezone, body.enabled, body.access_mode | Created Task object |
UpdateScheduledAgent | scheduled_agent_id, body with at least one field | body.name, body.prompt, body.schedule, body.timezone, body.enabled, body.access_mode | Updated Task object |
DeleteScheduledAgent | scheduled_agent_id | none | Task deleted. |
RunScheduledAgent | scheduled_agent_id | none | Task run queued. |
For creation, name defaults to a name derived from the prompt, timezone defaults to UTC, enabled defaults to true, and access_mode defaults to private. The schedule field accepts a five-field cron expression. Updates preserve omitted fields. Only the Task creator can change a workspace Task to private.
Task objects include id, name, prompt, cron_expression, timezone, schedule_description, enabled, access_mode, next_run_at, and timestamps. The list response wraps Task objects in scheduled_agents.
{
"name": "CreateScheduledAgent",
"arguments": {
"body": {
"prompt": "Review weekly revenue and flag material changes",
"schedule": "0 9 * * 1",
"timezone": "Europe/Madrid"
}
}
}RunScheduledAgent requires an enabled Task with no active run. DeleteScheduledAgent rejects a Task with an active run.
SearchDocs
Use this tool to search CloudX documentation from an MCP client before answering setup, configuration, SDK, CLI, dashboard, network, or reporting questions.
Best For
- finding the right documentation page for a CloudX workflow
- grounding an answer in current docs before explaining a feature
- retrieving relevant setup or troubleshooting snippets without leaving the AI client
Parameters
| Parameter | Type | Required | Notes |
|---|---|---|---|
body.query | string | Yes | Natural-language search query |
Tool Call Shape
{
"name": "SearchDocs",
"arguments": {
"body": {
"query": "report filters"
}
}
}Response Shape
results
Each result includes:
content: matching documentation snippetpath: documentation path such as/en/cli/reportingurl: absolute docs URLmetadata: page metadata such as title, when available
Error Behavior
These tools return MCP error results when the request cannot be fulfilled. Common causes include:
- missing
start_timeorend_time - invalid enum values such as
device_os: "ios"instead ofiOS - a time range longer than 31 days
- a missing auction or config ID
- insufficient permission for the requested tool
- config edit or publish validation failures
For SearchDocs, a blank or missing query returns query is required. If documentation search is temporarily unavailable, the tool returns a docs search error.