RevenueScope: revenue-first analytics for your EC site
Server Details
Ask AI about your EC site's revenue by channel, RPS/AOV/CVR, search & AI traffic, budget split.
Glama couldn't complete the latest health check. If this server requires authentication, missing or expired test credentials may be the cause. A test profile lets Glama authenticate for health checks and discover tools; it is separate from your personal connections.
If you are the author, claim ownership, then add or update a test profile under Admin → Test Profile.
- Status
- Unhealthy
- Uptime
- 97.0% over 58 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 12 tools
Each tool targets a fairly distinct scope (today's activity, month-to-date summary, dimension breakdown, own query performance, competitor SERPs, single-page trend, content buckets, AI traffic). The four Google-Search-adjacent tools (get_keyword_performance, get_competitor_keywords, get_content_actions, get_page_trend) and the KPI trio (get_summary, get_today, get_breakdown) require reading the descriptions carefully, but the descriptions explicitly cross-reference when to use which. The two STOPPED tools are clearly labelled, reducing misselection risk.
Nearly all tools use the verb_noun snake_case pattern (get_ai_traffic, get_breakdown, get_summary, etc.), with only list_sites and suggest_budget_allocation deviating. The verb prefix reliably signals read vs list vs suggest. Minor deviation from a single verb does not impair readability.
Twelve tools is well within a reasonable range for an analytics server and each covers a distinct reporting lens. Two of them (get_priority_insights, suggest_budget_allocation) are dead weight since they only return stopped notices, slightly reducing the effective surface.
Core reporting is covered (summary, today, breakdowns, keyword/competitor/page/trend analysis, metadata, site listing), which is reasonable for a read-only analytics domain. However, two formerly useful functions are permanently stopped with only partial replacements, and get_competitor_keywords is a dead end when no research exists because the agent cannot trigger a research run. There is also no insights/recommendation surface left for the agent to use.
Available Tools
10 toolsget_ai_trafficAI assistant trafficRead-onlyInspect
Return AI-assistant traffic using dashboard_ai_referred, a separate RPC from the AI channels of dashboard_channels that the search screen shows (for the screen's number, use the AI channel in get_breakdown(dimension='channel')). By default, mode='referred' uses the site's calendar month to date and compares with the prior month through the same calendar day (clamped to the prior month's last day). Pass start_date and end_date together for another inclusive calendar range in the site's analysis timezone; optionally pass compare_start_date and compare_end_date. If comparison dates are omitted, the immediately preceding equal-length range is used. Or pass preset (last_4_weeks, last_12_weeks or year_to_date) instead of dates, for the same periods and comparison as the app's period picker: the period ends on the last Saturday that closes a complete week (weeks run Sunday to Saturday, judged in the site timezone), the comparison is the same number of days directly before it, and year_to_date starts on January 1 of the year of that Saturday. preset cannot be combined with start_date, end_date, compare_start_date or compare_end_date, and period.preset echoes it. The result carries totals, by_source and by_page aggregated from all returned data (not only the limit rows); totals.complete=false means the 200-row source cap may have cut data. mode='gaps' is STOPPED and returns only its stopped notice. site_id is optional when OAuth-authenticated (omitting it uses the primary site). When the user names a specific site, such as the sample site, call list_sites first and pass that site_id. Scope is clicked citations only. This tool has an attached view. When the host shows it, the figures are already on screen: do not repeat them as a table or list in your reply; give only a short takeaway (2-3 sentences).
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | referred | |
| limit | No | ||
| preset | No | ||
| site_id | No | ||
| end_date | No | ||
| start_date | No | ||
| compare_end_date | No | ||
| compare_start_date | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| mode | Yes | |
| rows | No | |
| basis | No | |
| notes | No | |
| period | No | |
| status | No | |
| totals | No | |
| by_page | No | |
| is_demo | No | |
| site_id | Yes | |
| by_source | No | |
| truncated | No | |
| ai_sources | No | |
| resume_plan | No | |
| source_rows | No | |
| alternatives | No | |
| display_note | No | |
| revenue_status | No | |
| stopped_reason | No | |
| previous_period | No | |
| comparison_status | No |
get_breakdownRevenue breakdown by dimensionRead-onlyInspect
get_breakdown compares channel, entry_page, visitor_history, page and session_attribute rows. By default it uses the site's calendar month to date and compares with the prior month through the same calendar day (clamped to the prior month's last day). Pass start_date and end_date together for another inclusive calendar range in the site's analysis timezone; optionally pass compare_start_date and compare_end_date. Without explicit comparison dates it uses the immediately preceding equal-length range. Or pass preset (last_4_weeks, last_12_weeks or year_to_date) instead of dates, for the same periods and comparison as the app's period picker: the period ends on the last Saturday that closes a complete week (weeks run Sunday to Saturday, judged in the site timezone), the comparison is the same number of days directly before it, and year_to_date starts on January 1 of the year of that Saturday. preset cannot be combined with start_date, end_date, compare_start_date or compare_end_date, and period.preset echoes it. Each row reports available prior values and deltas. Channel attribution_model supports last_touch, first_touch, linear and time_decay. Candidate ad revenue is not paid attribution. ad_spend_candidates returns ROAS (candidate revenue / ad spend) only for ad-only platforms (Google Ads, Yahoo! Ads, Microsoft Ads, Criteo, RTB House, MicroAd); others such as Meta include organic traffic and get roas_status=includes_organic. Monthly ad spend is prorated by overlapping days. No overall ROAS. Unattributed is the total of purchases that no session carries, shown as a separate row and not added to channel revenue. A purchase by someone who first came from an ad or a search and later opened the site directly belongs to the channel of the session it was made in (often Direct), so Direct is not only direct visits. When that return is on another device or after cookies were cleared, it cannot be linked to the earlier visit and cannot be separated. revenue_breakdown.total_event_jpy is channel-attributed revenue plus Unattributed, not a total cut by purchase-event time. Some dimensions do not support country/device filters; unsupported axes are identified in notes. site_id is optional when OAuth-authenticated (omitting it uses the primary site). When the user names a specific site, such as the sample site, call list_sites first and pass that site_id. This tool has an attached view. When the host shows it, the figures are already on screen: do not repeat them as a table or list in your reply; give only a short takeaway (2-3 sentences).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| device | No | ||
| filter | No | ||
| preset | No | ||
| country | No | ||
| site_id | No | ||
| end_date | No | ||
| dimension | Yes | ||
| start_date | No | ||
| visitor_type | No | ||
| compare_end_date | No | ||
| attribution_model | No | last_touch | |
| compare_start_date | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| path | No | |
| rows | No | |
| basis | No | |
| notes | No | |
| filter | No | |
| period | Yes | |
| is_demo | No | |
| message | No | |
| revenue | No | |
| site_id | Yes | |
| dimension | Yes | |
| truncated | No | |
| error_code | No | |
| assumptions | No | |
| limitations | No | |
| total_pages | No | |
| display_note | No | |
| total_entries | No | |
| data_freshness | Yes | |
| revenue_status | No | |
| previous_period | No | |
| total_pageviews | No | |
| attribution_model | No | |
| comparison_status | No | |
| revenue_breakdown | No | |
| presentation_hints | Yes | |
| session_attributes | No | |
| ad_spend_candidates | No | |
| period_boundary_definitions | Yes |
get_competitor_keywordsPeer shop keywords (external search snapshot)Read-onlyInspect
Return the keywords where the site's PEER SHOPS (up to 3 shops of a similar size that compete for the same searches) rank in Google's top 10 (Japan/ja), each listed beside the site's OWN rank, from the latest completed research of third-party search-result data. READ-ONLY — this tool never starts a research (a research is started from the search screen of the RevenueScope app and uses a monthly allowance); it only reads what was already fetched. The values equal the app's search screen ("Rank breakdown"); nothing is recounted. counts (total/top/near/out/unknown) always cover ALL keywords, independent of band and limit. keywords returns limit keywords (default 10, max 100) ordered by monthly search_volume (high first), starting at offset; truncated ({shown, matching_total, next_offset}) says whether more remain (a large limit can exceed the default output budget; page with offset instead). band filters by the site's own rank: top = 1-3, near = 4-20, out = 21 or lower or not in the top 100, unknown = the own rank could not be fetched (unknown is NOT out). Each keyword has own_rank / own_status (ranked | not_in_top100 | unknown) / own_url, top_domain and top_rank (the best peer), and every peer's rank in peers. shops lists the peer shops (scale_ratio is an estimated ratio of search traffic, not of revenue or visits; fetch_failed marks a shop whose fetch failed). Ranks are organic-result positions 1-100 and are NOT comparable with the ranks this tool returned before v7. No rank change, ETV or CPC is returned, and no previous research is compared. When the site has NO completed research of this kind the response is { researched:false } with a guidance string. site_id is OPTIONAL when OAuth-authenticated. For YOUR OWN search performance use get_keyword_performance, and for your content playbook use get_content_actions.
| Name | Required | Description | Default |
|---|---|---|---|
| band | No | ||
| limit | No | ||
| offset | No | ||
| site_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| band | No | |
| basis | Yes | |
| limit | No | |
| notes | No | |
| shops | No | |
| counts | No | |
| offset | No | |
| guidance | No | |
| keywords | No | |
| truncated | No | |
| fetch_rule | No | |
| fetched_at | No | |
| own_domain | No | |
| researched | Yes | |
| assumptions | Yes | |
| limitations | Yes | |
| research_id | No | |
| rule_params | No | |
| own_complete | No |
get_content_actionsContent actions (classify pages + playbook)Read-onlyInspect
Return content action buckets and page evidence. By default the window length is N=7 days and GSC data is delayed by 3 days. To choose a window, pass start_date and end_date together: end_date must be today's date in Japan time, and N is end_date minus start_date (2-365 days; e.g. September 21 through September 28 sets N=7), so the pair describes a length ending today rather than the GSC source dates. The response separates window (actual JST GSC dates, inclusive) from session_window (sessions, revenue and AI metrics over N×24 hours ending at database statement time). session_window gives the relative start/end and duration; exact timestamps are unavailable because the RPC does not return its now() value. Search classifications, thresholds, bucket_summary, row prioritization, caveats and limits are included in the response. A page carries title_change when its title was rewritten within the last 8 weeks (detected from the titles the tracker recorded): do not recommend another title rewrite for it while it is tracked, and read a rank change since the rewrite as a before/after comparison, not proof of effect. The app's home screen takes such pages off its to-do list, but this tool keeps them and their order in pages and only adds the mark; title_changes.status is 'unavailable' when the marks could not be read. Revenue values (revenue_jpy, ai_revenue_jpy, expected_revenue_gain and the bucket_summary revenue_jpy) are null when revenue_status is 'unconfirmed': null means unverified, not 0 yen. site_id is optional when OAuth-authenticated (omitting it uses the primary site). When the user names a specific site, such as the sample site, call list_sites first and pass that site_id. Google Search only; data lags 1-2 days.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| bucket | No | ||
| site_id | No | ||
| end_date | No | ||
| start_date | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| basis | Yes | |
| notes | No | |
| pages | Yes | |
| period | Yes | |
| window | Yes | |
| site_id | Yes | |
| warning | No | |
| criteria | Yes | |
| truncated | No | |
| assumptions | Yes | |
| limitations | Yes | |
| total_pages | Yes | |
| title_changes | Yes | |
| bucket_summary | Yes | |
| revenue_status | Yes | |
| session_window | Yes |
get_keyword_performanceSearch keyword performanceRead-onlyInspect
Return Google Search Console query metrics. Pass start_date and end_date together (inclusive JST GSC dates); comparison is the immediately preceding equal-length range. Omitting both uses a rolling now-minus-30-days window. Or pass preset (last_4_weeks, last_12_weeks or year_to_date) for the same periods as the app's period picker: the period ends on the last Saturday that closes a complete week (weeks run Sunday to Saturday, judged in the site time zone), and the comparison is the same number of days directly before it; year_to_date starts on January 1 of the year of that Saturday. preset cannot be combined with start_date or end_date, and period.preset echoes it. Each current and previous window uses a separate dashboard_keywords RPC call, capped at 200 queries by clicks. period and previous_period show the actual JST date ranges; date_basis / timezone identify the GSC calendar. source_windows exposes the exact p_from/p_to timestamps used for both RPC calls, whether the GSC date bounds are inclusive, and any JST date shared by the two windows. The rolling default has one shared boundary date; explicit date ranges have none. band='all' returns up to limit rows (default 100) with clicks, impressions, CTR, average position, top page and estimated revenue (search-organic RPS × Google clicks); query-matched changes and truncated disclose omitted/source-limited rows. A query absent from the previous top 200 may appear new. Explicit dates include both JST GSC dates, while session RPS uses [start, end) and excludes the final microsecond. band='striking' (default limit 10) ranks only candidates among the current top 200, with the search screen's borders (shown rank, the average position rounded to a whole number, from 4 to 20, and at least 10 impressions); it is not the best opportunity across all queries. band='keeping' (default limit 10) returns the search screen's 上位維持 list (shown rank 1 to 3 and at least 10 impressions, most impressions first) and band='declining' (default limit 10) returns its 流入減 list (clicks fell by at least max(3, 20% of the earlier clicks), biggest loss first); both judge only within the current and previous top 200 queries by clicks, and each row has current and previous clicks, impressions and rank (shown_position is the whole-number rank the screen shows), rise (previous shown rank minus current, positive is up) and, for declining, click_loss and click_change_pct. Revenue values (est_revenue_jpy, rps_search_jpy, est_revenue_change, est_incremental_revenue_jpy) are null when revenue_status is 'unconfirmed': null means unverified, not 0 yen. Values may differ from the former keyword_breakdown_aggregate because date boundaries, source limit and returned query set differ. Google-search only; data lags 1-2 days. site_id is optional when OAuth-authenticated (omitting it uses the primary site). When the user names a specific site, such as the sample site, call list_sites first and pass that site_id.
| Name | Required | Description | Default |
|---|---|---|---|
| band | No | all | |
| limit | No | ||
| preset | No | ||
| site_id | No | ||
| end_date | No | ||
| start_date | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| band | Yes | |
| rows | Yes | |
| basis | No | |
| notes | No | |
| period | Yes | |
| site_id | Yes | |
| warning | No | |
| criteria | No | |
| timezone | Yes | |
| truncated | No | |
| date_basis | Yes | |
| assumptions | No | |
| limitations | No | |
| band_criteria | No | |
| revenue_status | Yes | |
| rps_search_jpy | No | |
| source_windows | Yes | |
| previous_period | Yes | |
| revenue_estimate_basis | No |
get_metadataRevenueScope metric definitionsARead-onlyInspect
Return RevenueScope metric definitions, measurement boundaries, and the meaning of confirmed, unconfirmed, zero, sample, comparison-unavailable and retrieval-error states. This is generic metadata; use a site-scoped analytics tool for values. A missing purchase history does not prove purchase tracking is unconfigured.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| states | Yes | |
| metrics | Yes | |
| measurement | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered. The description adds real interpretive context beyond the structured data: it enumerates the specific states returned and warns that missing purchase history is not proof that purchase tracking is unconfigured.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences: what it returns first, then the disambiguation to value tools, then the interpretation caveat. Every sentence carries distinct information with no padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, output-schema-backed metadata tool, the description covers scope, alternative routing, returned state vocabulary, and a key interpretive pitfall. No gaps an agent would need to fill before calling it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so per the rubric the baseline is 4. Nothing in the description is needed to clarify parameter usage, and nothing misleading is added.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a concrete verb and resource (returns RevenueScope metric definitions, measurement boundaries, state meanings) and explicitly contrasts itself with value-returning tools. An agent can distinguish this metadata-only tool from every analytics sibling without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says to use a site-scoped analytics tool for values, establishing when this tool is the wrong choice. It does not name a specific sibling (e.g. get_summary, get_breakdown), so routing is slightly less precise than it could be.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_page_trendPage search trend over timeRead-onlyInspect
Return how ONE page's Google Search performance changed over time. Pass start_date and end_date together as inclusive JST dates; comparison dates are not supported. Or pass preset (last_4_weeks, last_12_weeks or year_to_date) for the same periods as the app's period picker: the period ends on the last Saturday that closes a complete week (weeks run Sunday to Saturday, judged in the site time zone), and year_to_date starts on January 1 of the year of that Saturday; preset cannot be combined with start_date or end_date, and period.preset echoes it. Omitting all of them preserves the current now-minus-30-days rolling window, which may touch 31 JST dates because GSC filters by date inclusively. Explicit dates are converted to JST day boundaries for GSC rows. granularity defaults to day for windows up to about 35 days and week for longer windows; pass it to override. Weeks run Sunday to Saturday and each weekly date is that week's Sunday; weeks at the edge of the period hold only the days inside it. Buckets without GSC rows are omitted. Google-search only; data lags 1-2 days. site_id is optional when OAuth-authenticated (omitting it uses the primary site). When the user names a specific site, such as the sample site, call list_sites first and pass that site_id. For cross-page snapshots use get_breakdown(dimension='page'); for query trends use get_keyword_performance.
| Name | Required | Description | Default |
|---|---|---|---|
| page | Yes | ||
| preset | No | ||
| site_id | No | ||
| end_date | No | ||
| start_date | No | ||
| granularity | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| page | Yes | |
| basis | Yes | |
| period | Yes | |
| series | Yes | |
| site_id | Yes | |
| summary | Yes | |
| warning | No | |
| assumptions | Yes | |
| granularity | Yes | |
| limitations | Yes |
get_summarySite KPI summaryRead-onlyInspect
Return headline KPIs (revenue, orders, sessions, RPS, AOV, CVR), engagement metrics and daily trends for the site's calendar month to date, compared with the prior month through the same calendar day (clamped to that month's last day). Pass start_date and end_date together for another inclusive calendar range in the site's analysis timezone; optionally pass compare_start_date and compare_end_date. If comparison dates are omitted, the preceding equal-length range is used. Or pass preset (last_4_weeks, last_12_weeks or year_to_date) instead of dates, for the same periods and comparison as the app's period picker: the period ends on the last Saturday that closes a complete week (weeks run Sunday to Saturday, judged in the site timezone), the comparison is the same number of days directly before it, and year_to_date starts on January 1 of the year of that Saturday. preset cannot be combined with start_date, end_date, compare_start_date or compare_end_date, and period.preset echoes it. Revenue-dependent metrics (revenue, orders, RPS, AOV, CVR) are null unless purchase measurement is confirmed; null means unverified, not zero. Required retrieval failures return isError=true and must not be read as zero. No overall ROAS is returned (kpis.roas is always null); per-platform ROAS for ad-only platforms is in get_breakdown ad_spend_candidates. Optional country (ISO2) and device filters scope session-derived metrics. site_id is optional when OAuth-authenticated (omitting it uses the primary site). When the user names a specific site, such as the sample site, call list_sites first and pass that site_id. This tool has an attached view. When the host shows it, the figures are already on screen: do not repeat them as a table or list in your reply; give only a short takeaway (2-3 sentences).
| Name | Required | Description | Default |
|---|---|---|---|
| device | No | ||
| preset | No | ||
| country | No | ||
| site_id | No | ||
| end_date | No | ||
| start_date | No | ||
| compare_end_date | No | ||
| compare_start_date | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| kpis | Yes | |
| basis | Yes | |
| notes | No | |
| trend | Yes | |
| period | Yes | |
| is_demo | Yes | |
| site_id | Yes | |
| display_note | No | |
| data_freshness | Yes | |
| previous_trend | Yes | |
| revenue_status | Yes | |
| previous_period | Yes | |
| comparison_status | Yes | |
| bot_excluded_count | Yes | |
| connected_channels | Yes | |
| presentation_hints | Yes | |
| path_recommendation | Yes | |
| ad_spend_data_status | Yes | |
| ad_spend_rows_in_period | Yes | |
| period_observation_status | Yes | |
| ad_spend_channels_in_period | Yes | |
| period_boundary_definitions | Yes |
get_todayToday's activityRead-onlyInspect
Return today's activity for a site: the site's timezone from 00:00 to now, provisional values. No screen of the RevenueScope app shows this view now. Purchase events are observed events, not confirmed orders; unverified revenue and unavailable sections are not zero. Sample-site values are those of a sample store, not your own site. No event-level or visitor-level rows are returned. For comparison with yesterday at the same time, use get_summary with start_date and end_date both set to today's site-local date. site_id is optional when OAuth-authenticated (omitting it uses the primary site). When the user names a specific site, such as the sample site, call list_sites first and pass that site_id. This tool has an attached view. When the host shows it, the figures are already on screen: do not repeat them as a table or list in your reply; give only a short takeaway (2-3 sentences).
| Name | Required | Description | Default |
|---|---|---|---|
| site_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| kpis | Yes | |
| basis | Yes | |
| notes | Yes | |
| period | Yes | |
| is_demo | Yes | |
| site_id | Yes | |
| channels | Yes | |
| ai_channels | Yes | |
| entry_pages | Yes | |
| display_note | No | |
| not_provided | Yes | |
| data_freshness | Yes | |
| revenue_status | Yes | |
| visitor_history | Yes | |
| measurement_status | Yes | |
| presentation_hints | Yes | |
| period_observation_status | Yes | |
| period_boundary_definitions | Yes |
list_sitesList available sitesARead-onlyInspect
List the sites this signed-in account can analyze, in two groups. Each site includes its timezone and today's date in that timezone. Requires OAuth; no site registration is needed. Prefer my_sites; if site_id is omitted, analytics tools use the primary site. When my_sites is empty, analytics tools use the first curated demo site and identify it as sample data.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| note | Yes | |
| my_sites | Yes | |
| demo_sites | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint annotation, the description discloses OAuth requirement, no registration needed, two grouping structure, per-site timezone/date, and fallback logic for analytics tools using primary or demo sample data. This is rich behavioral context that an agent needs to interpret results and site defaults.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the tool's core action, then adds necessary auth and downstream context in a few dense but purposeful sentences. There is no redundant or filler text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema exists and annotations cover safety, the description still supplies the auth requirement, grouping, per-site metadata, and fallback behavior that an agent needs to use the tool correctly. Nothing essential is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero input parameters, so the baseline is 4. The description mentions site_id only in relation to other analytics tools, not as a parameter of this tool, so there is no additional parameter semantics to add.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description starts with a specific verb and resource ('List the sites this signed-in account can analyze, in two groups') and distinguishes the tool from analytics siblings by explaining their default site selection behavior. It leaves no ambiguity about what the tool returns.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It names an alternative ('Prefer my_sites') and explains downstream defaults when site_id is omitted or my_sites is empty, which helps an agent understand when this tool is relevant. However, it does not explicitly state when not to use list_sites or what my_sites returns, so it falls short of full when/when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
4 tool updates
- Changed
get_ai_traffic1 field changed- added
Output schema / properties / display_noteAdded value: +{ + "type": "string" +}
- Changed
get_breakdown1 field changed- added
Output schema / properties / display_noteAdded value: +{ + "type": "string" +}
- Changed
get_summary1 field changed- added
Output schema / properties / display_noteAdded value: +{ + "type": "string" +}
- Changed
get_today1 field changed- added
Output schema / properties / display_noteAdded value: +{ + "type": "string" +}
1 tool update
- Changed
get_ai_traffic3 fields changed- added
Output schema / properties / by_pageAdded value: +{ + "items": { + "additionalProperties": false, + "properties": { + "page": { + "type": "string" + }, + "revenue_jpy": { + "type": [ + "number", + "null" + ] + }, + "sessions": { + "type": "number" + }, + "top_ai_source": { + "type": "string" + } + }, + "required": [ + "page", + "sessions", + "revenue_jpy", + "top_ai_source" + ], + "type": "object" + }, + "type": "array" +} - added
Output schema / properties / by_sourceAdded value: +{ + "items": { + "additionalProperties": false, + "properties": { + "ai_source": { + "type": "string" + }, + "revenue_jpy": { + "type": [ + "number", + "null" + ] + }, + "sessions": { + "type": "number" + } + }, + "required": [ + "ai_source", + "sessions", + "revenue_jpy" + ], + "type": "object" + }, + "type": "array" +} - added
Output schema / properties / totalsAdded value: +{ + "additionalProperties": false, + "properties": { + "complete": { + "type": "boolean" + }, + "pages": { + "minimum": 0, + "type": "integer" + }, + "previous_revenue_jpy": { + "type": [ + "number", + "null" + ] + }, + "previous_sessions": { + "type": [ + "number", + "null" + ] + }, + "revenue_jpy": { + "type": [ + "number", + "null" + ] + }, + "sessions": { + "type": "number" + } + }, + "required": [ + "sessions", + "pages", + "revenue_jpy", + "previous_sessions", + "previous_revenue_jpy", + "complete" + ], + "type": "object" +}
1 tool update
- Changed
get_competitor_keywords23 fields changed- added
Input schema / properties / bandAdded value: +{ + "enum": [ + "all", + "top", + "near", + "out", + "unknown" + ], + "type": "string" +} - removed
Input schema / properties / domainRemoved value: -{ - "minLength": 1, - "type": "string" -} - removed
Input schema / properties / min_volumeRemoved value: -{ - "minimum": 0, - "type": "integer" -} - added
Input schema / properties / offsetAdded value: +{ + "minimum": 0, + "type": "integer" +} - removed
Input schema / properties / sortRemoved value: -{ - "enum": [ - "etv", - "volume", - "rank" - ], - "type": "string" -} - removed
Output schema / properties / available_domainsRemoved value: -{ - "items": { - "type": "string" - }, - "type": "array" -} - added
Output schema / properties / bandAdded value: +{ + "enum": [ + "all", + "top", + "near", + "out", + "unknown" + ], + "type": "string" +} - added
Output schema / properties / countsAdded value: +{ + "additionalProperties": false, + "properties": { + "near": { + "type": "number" + }, + "out": { + "type": "number" + }, + "top": { + "type": "number" + }, + "total": { + "type": "number" + }, + "unknown": { + "type": "number" + } + }, + "required": [ + "total", + "top", + "near", + "out", + "unknown" + ], + "type": "object" +} - removed
Output schema / properties / domainsRemoved value: -{ - "items": { - "additionalProperties": false, - "properties": { - "domain": { - "type": "string" - }, - "keywords": { - "items": { - "additionalProperties": false, - "properties": { - "change": { - "enum": [ - "new", - "improved", - "declined", - "same", - "unknown" - ], - "type": "string" - }, - "cpc": { - "type": [ - "number", - "null" - ] - }, - "etv": { - "type": [ - "number", - "null" - ] - }, - "keyword": { - "type": "string" - }, - "prev_rank": { - "type": [ - "number", - "null" - ] - }, - "rank": { - "type": [ - "number", - "null" - ] - }, - "rank_delta": { - "type": [ - "number", - "null" - ] - }, - "search_volume": { - "type": [ - "number", - "null" - ] - }, - "serp_item_type": { - "type": [ - "string", - "null" - ] - }, - "serp_url": { - "type": [ - "string", - "null" - ] - } - }, - "required": [ - "keyword", - "rank", - "search_volume", - "cpc", - "etv", - "serp_url", - "serp_item_type", - "prev_rank", - "rank_delta", - "change" - ], - "type": "object" - }, - "type": "array" - }, - "lost_keywords": { - "items": { - "additionalProperties": false, - "properties": { - "etv": { - "type": [ - "number", - "null" - ] - }, - "keyword": { - "type": "string" - }, - "prev_rank": { - "type": [ - "number", - "null" - ] - }, - "search_volume": { - "type": [ - "number", - "null" - ] - } - }, - "required": [ - "keyword", - "prev_rank", - "search_volume", - "etv" - ], - "type": "object" - }, - "type": "array" - }, - "previous": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "fetched_at": { - "type": "string" - }, - "research_id": { - "type": "string" - } - }, - "required": [ - "research_id", - "fetched_at" - ], - "type": "object" - }, - { - "type": "null" - } - ] - }, - "summary": { - "additionalProperties": false, - "properties": { - "rank_bands": { - "additionalProperties": false, - "properties": { - "rank11_20": { - "type": "number" - }, - "rank21_50": { - "type": "number" - }, - "rank4_10": { - "type": "number" - }, - "rank51_plus": { - "type": "number" - }, - "top3": { - "type": "number" - }, - "unranked": { - "type": "number" - } - }, - "required": [ - "top3", - "rank4_10", - "rank11_20", - "rank21_50", - "rank51_plus", - "unranked" - ], - "type": "object" - }, - "total_etv": { - "type": "number" - }, - "total_keywords": { - "type": "number" - }, - "volume_bands": { - "additionalProperties": false, - "properties": { - "vol_1000_plus": { - "type": "number" - }, - "vol_100_999": { - "type": "number" - }, - "vol_under_100": { - "type": "number" - }, - "vol_unknown": { - "type": "number" - } - }, - "required": [ - "vol_1000_plus", - "vol_100_999", - "vol_under_100", - "vol_unknown" - ], - "type": "object" - }, - "vs_previous": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "declined": { - "type": "number" - }, - "improved": { - "type": "number" - }, - "lost_count": { - "type": "number" - }, - "new_count": { - "type": "number" - }, - "same": { - "type": "number" - } - }, - "required": [ - "new_count", - "lost_count", - "improved", - "declined", - "same" - ], - "type": "object" - }, - { - "type": "null" - } - ] - } - }, - "required": [ - "total_keywords", - "total_etv", - "volume_bands", - "rank_bands", - "vs_previous" - ], - "type": "object" - }, - "truncated": { - "additionalProperties": false, - "properties": { - "lost_total": { - "type": "number" - }, - "matching_total": { - "type": "number" - }, - "shown": { - "type": "number" - } - }, - "required": [ - "shown", - "matching_total", - "lost_total" - ], - "type": "object" - }, - "warning": { - "type": [ - "string", - "null" - ] - } - }, - "required": [ - "domain", - "summary", - "previous", - "keywords", - "lost_keywords", - "truncated", - "warning" - ], - "type": "object" - }, - "type": "array" -} - added
Output schema / properties / fetch_ruleAdded value: +{ + "type": "string" +} - removed
Output schema / properties / keyword_countRemoved value: -{ - "type": "number" -} - added
Output schema / properties / keywordsAdded value: +{ + "items": { + "additionalProperties": false, + "properties": { + "band": { + "enum": [ + "top", + "near", + "out", + "unknown" + ], + "type": "string" + }, + "keyword": { + "type": "string" + }, + "own_rank": { + "type": [ + "number", + "null" + ] + }, + "own_status": { + "enum": [ + "ranked", + "not_in_top100", + "unknown" + ], + "type": "string" + }, + "own_url": { + "type": [ + "string", + "null" + ] + }, + "peers": { + "items": { + "additionalProperties": false, + "properties": { + "domain": { + "type": "string" + }, + "rank": { + "type": "number" + } + }, + "required": [ + "domain", + "rank" + ], + "type": "object" + }, + "type": "array" + }, + "search_volume": { + "type": [ + "number", + "null" + ] + }, + "top_domain": { + "type": "string" + }, + "top_rank": { + "type": "number" + } + }, + "required": [ + "keyword", + "search_volume", + "band", + "own_rank", + "own_status", + "own_url", + "top_domain", + "top_rank", + "peers" + ], + "type": "object" + }, + "type": "array" +} - removed
Output schema / properties / language_codeRemoved value: -{ - "type": "string" -} - removed
Output schema / properties / location_codeRemoved value: -{ - "type": "number" -} - removed
Output schema / properties / min_volumeRemoved value: -{ - "type": [ - "number", - "null" - ] -} - added
Output schema / properties / notesAdded value: +{ + "items": { + "type": "string" + }, + "type": "array" +} - added
Output schema / properties / offsetAdded value: +{ + "type": "number" +} - added
Output schema / properties / own_completeAdded value: +{ + "type": "boolean" +} - added
Output schema / properties / own_domainAdded value: +{ + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / rule_paramsAdded value: +{ + "additionalProperties": false, + "properties": { + "rank_max": { + "type": [ + "number", + "null" + ] + }, + "row_cap": { + "type": [ + "number", + "null" + ] + }, + "scale_max_ratio": { + "type": [ + "number", + "null" + ] + }, + "volume_max": { + "type": [ + "number", + "null" + ] + }, + "volume_min": { + "type": [ + "number", + "null" + ] + } + }, + "required": [ + "rank_max", + "volume_min", + "volume_max", + "row_cap", + "scale_max_ratio" + ], + "type": "object" +} - added
Output schema / properties / shopsAdded value: +{ + "items": { + "additionalProperties": false, + "properties": { + "domain": { + "type": "string" + }, + "fetch_failed": { + "type": "boolean" + }, + "keyword_count": { + "type": [ + "number", + "null" + ] + }, + "researched": { + "type": "boolean" + }, + "scale_ratio": { + "type": [ + "number", + "null" + ] + }, + "source": { + "enum": [ + "auto", + "manual" + ], + "type": "string" + } + }, + "required": [ + "domain", + "source", + "scale_ratio", + "researched", + "keyword_count", + "fetch_failed" + ], + "type": "object" + }, + "type": "array" +} - removed
Output schema / properties / sortRemoved value: -{ - "enum": [ - "etv", - "volume", - "rank" - ], - "type": "string" -} - added
Output schema / properties / truncatedAdded value: +{ + "additionalProperties": false, + "properties": { + "matching_total": { + "type": "number" + }, + "next_offset": { + "type": [ + "number", + "null" + ] + }, + "shown": { + "type": "number" + } + }, + "required": [ + "shown", + "matching_total", + "next_offset" + ], + "type": "object" +}
5 tool updates
- Changed
get_breakdown5 fields changed- changed
Output schema / properties / presentation_hints / properties / recommended_followup_tools / items / enumPrevious value: -[ - "get_breakdown", - "get_priority_insights", - "get_summary" -]New value: +[ + "get_breakdown", + "get_summary" +] - changed
Output schema / properties / presentation_hints / properties / recommended_sections / items / enumPrevious value: -[ - "kpi_summary", - "trend", - "ad_spend_context", - "breakdown", - "priority_insights", - "recommended_actions" -]New value: +[ + "kpi_summary", + "trend", + "ad_spend_context", + "breakdown", + "recommended_actions" +] - changed
Output schema / properties / presentation_hints / properties / response_type / enumPrevious value: -[ - "analytics_summary", - "analytics_breakdown", - "priority_insights", - "analytics_today" -]New value: +[ + "analytics_summary", + "analytics_breakdown", + "analytics_today" +] - removed
Output schema / properties / presentation_hints / properties / show_priority_insightsRemoved value: -{ - "type": "boolean" -} - changed
Output schema / properties / presentation_hints / requiredPrevious value: -[ - "response_type", - "primary_metric", - "show_period_comparison", - "show_trend", - "show_breakdown", - "show_priority_insights", - "prefer_compact_visual_summary", - "avoid_long_prose", - "recommended_followup_tools", - "recommended_sections" -]New value: +[ + "response_type", + "primary_metric", + "show_period_comparison", + "show_trend", + "show_breakdown", + "prefer_compact_visual_summary", + "avoid_long_prose", + "recommended_followup_tools", + "recommended_sections" +]
- Removed
get_priority_insights - Changed
get_summary5 fields changed- changed
Output schema / properties / presentation_hints / properties / recommended_followup_tools / items / enumPrevious value: -[ - "get_breakdown", - "get_priority_insights", - "get_summary" -]New value: +[ + "get_breakdown", + "get_summary" +] - changed
Output schema / properties / presentation_hints / properties / recommended_sections / items / enumPrevious value: -[ - "kpi_summary", - "trend", - "ad_spend_context", - "breakdown", - "priority_insights", - "recommended_actions" -]New value: +[ + "kpi_summary", + "trend", + "ad_spend_context", + "breakdown", + "recommended_actions" +] - changed
Output schema / properties / presentation_hints / properties / response_type / enumPrevious value: -[ - "analytics_summary", - "analytics_breakdown", - "priority_insights", - "analytics_today" -]New value: +[ + "analytics_summary", + "analytics_breakdown", + "analytics_today" +] - removed
Output schema / properties / presentation_hints / properties / show_priority_insightsRemoved value: -{ - "type": "boolean" -} - changed
Output schema / properties / presentation_hints / requiredPrevious value: -[ - "response_type", - "primary_metric", - "show_period_comparison", - "show_trend", - "show_breakdown", - "show_priority_insights", - "prefer_compact_visual_summary", - "avoid_long_prose", - "recommended_followup_tools", - "recommended_sections" -]New value: +[ + "response_type", + "primary_metric", + "show_period_comparison", + "show_trend", + "show_breakdown", + "prefer_compact_visual_summary", + "avoid_long_prose", + "recommended_followup_tools", + "recommended_sections" +]
- Changed
get_today5 fields changed- changed
Output schema / properties / presentation_hints / properties / recommended_followup_tools / items / enumPrevious value: -[ - "get_breakdown", - "get_priority_insights", - "get_summary" -]New value: +[ + "get_breakdown", + "get_summary" +] - changed
Output schema / properties / presentation_hints / properties / recommended_sections / items / enumPrevious value: -[ - "kpi_summary", - "trend", - "ad_spend_context", - "breakdown", - "priority_insights", - "recommended_actions" -]New value: +[ + "kpi_summary", + "trend", + "ad_spend_context", + "breakdown", + "recommended_actions" +] - changed
Output schema / properties / presentation_hints / properties / response_type / enumPrevious value: -[ - "analytics_summary", - "analytics_breakdown", - "priority_insights", - "analytics_today" -]New value: +[ + "analytics_summary", + "analytics_breakdown", + "analytics_today" +] - removed
Output schema / properties / presentation_hints / properties / show_priority_insightsRemoved value: -{ - "type": "boolean" -} - changed
Output schema / properties / presentation_hints / requiredPrevious value: -[ - "response_type", - "primary_metric", - "show_period_comparison", - "show_trend", - "show_breakdown", - "show_priority_insights", - "prefer_compact_visual_summary", - "avoid_long_prose", - "recommended_followup_tools", - "recommended_sections" -]New value: +[ + "response_type", + "primary_metric", + "show_period_comparison", + "show_trend", + "show_breakdown", + "prefer_compact_visual_summary", + "avoid_long_prose", + "recommended_followup_tools", + "recommended_sections" +]
- Removed
suggest_budget_allocation
1 tool update
- Changed
get_content_actions3 fields changed- added
Output schema / properties / pages / items / properties / title_changeAdded value: +{ + "additionalProperties": false, + "properties": { + "measuring": { + "type": "boolean" + }, + "new_first_date": { + "type": "string" + }, + "new_title": { + "type": "string" + }, + "old_last_date": { + "type": "string" + }, + "old_title": { + "type": "string" + }, + "tracking_week": { + "maximum": 8, + "minimum": 1, + "type": "integer" + } + }, + "required": [ + "new_first_date", + "old_last_date", + "old_title", + "new_title", + "tracking_week", + "measuring" + ], + "type": "object" +} - added
Output schema / properties / title_changesAdded value: +{ + "additionalProperties": false, + "properties": { + "basis": { + "type": "string" + }, + "marked_pages": { + "minimum": 0, + "type": "integer" + }, + "record_days": { + "type": "number" + }, + "status": { + "enum": [ + "available", + "unavailable" + ], + "type": "string" + } + }, + "required": [ + "status", + "record_days", + "marked_pages", + "basis" + ], + "type": "object" +} - changed
Output schema / requiredPrevious value: -[ - "site_id", - "revenue_status", - "period", - "window", - "session_window", - "basis", - "assumptions", - "limitations", - "criteria", - "bucket_summary", - "total_pages", - "pages" -]New value: +[ + "site_id", + "revenue_status", + "period", + "window", + "session_window", + "basis", + "assumptions", + "limitations", + "criteria", + "bucket_summary", + "total_pages", + "pages", + "title_changes" +]
7 tool updates
- Changed
get_ai_traffic2 fields changed- added
Input schema / properties / presetAdded value: +{ + "enum": [ + "last_4_weeks", + "last_12_weeks", + "year_to_date" + ], + "type": "string" +} - changed
Output schema / properties / period / anyOfPrevious value: -[ - { - "additionalProperties": false, - "properties": { - "calendar_dates_touched": { - "minimum": 0, - "type": "integer" - }, - "days": { - "type": "number" - }, - "duration_hours": { - "type": "number" - }, - "end": { - "type": "string" - }, - "reference_bounds": { - "const": "start_inclusive_end_exclusive", - "type": "string" - }, - "reference_end_at": { - "format": "date-time", - "type": "string" - }, - "reference_start_at": { - "format": "date-time", - "type": "string" - }, - "source_alignment": { - "enum": [ - "exact", - "mixed" - ], - "type": "string" - }, - "source_boundaries": { - "items": { - "additionalProperties": false, - "properties": { - "applies_to": { - "items": { - "type": "string" - }, - "minItems": 1, - "type": "array" - }, - "boundary": { - "enum": [ - "reference_timestamp_window", - "database_statement_time_window", - "jst_calendar_dates_from_reference_start", - "jst_calendar_dates_from_database_window_start", - "jst_calendar_dates_inclusive", - "account_registry_not_period_scoped", - "derived_previous_daily_window", - "derived_from_current_and_previous", - "defined_per_output_item" - ], - "type": "string" - } - }, - "required": [ - "applies_to", - "boundary" - ], - "type": "object" - }, - "type": "array" - }, - "start": { - "type": "string" - }, - "timezone": { - "type": "string" - }, - "window_type": { - "enum": [ - "rolling", - "calendar_to_date", - "comparison", - "calendar_range" - ], - "type": "string" - } - }, - "required": [ - "start", - "end", - "days", - "reference_start_at", - "reference_end_at", - "window_type", - "reference_bounds", - "timezone", - "duration_hours", - "calendar_dates_touched", - "source_alignment", - "source_boundaries" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "days": { - "type": "number" - }, - "end": { - "type": "string" - }, - "start": { - "type": "string" - } - }, - "required": [ - "start", - "end", - "days" - ], - "type": "object" - } -]New value: +[ + { + "additionalProperties": false, + "properties": { + "calendar_dates_touched": { + "minimum": 0, + "type": "integer" + }, + "days": { + "type": "number" + }, + "duration_hours": { + "type": "number" + }, + "end": { + "type": "string" + }, + "preset": { + "enum": [ + "last_4_weeks", + "last_12_weeks", + "year_to_date" + ], + "type": "string" + }, + "reference_bounds": { + "const": "start_inclusive_end_exclusive", + "type": "string" + }, + "reference_end_at": { + "format": "date-time", + "type": "string" + }, + "reference_start_at": { + "format": "date-time", + "type": "string" + }, + "source_alignment": { + "enum": [ + "exact", + "mixed" + ], + "type": "string" + }, + "source_boundaries": { + "items": { + "additionalProperties": false, + "properties": { + "applies_to": { + "items": { + "type": "string" + }, + "minItems": 1, + "type": "array" + }, + "boundary": { + "enum": [ + "reference_timestamp_window", + "database_statement_time_window", + "jst_calendar_dates_from_reference_start", + "jst_calendar_dates_from_database_window_start", + "jst_calendar_dates_inclusive", + "account_registry_not_period_scoped", + "derived_previous_daily_window", + "derived_from_current_and_previous", + "defined_per_output_item" + ], + "type": "string" + } + }, + "required": [ + "applies_to", + "boundary" + ], + "type": "object" + }, + "type": "array" + }, + "start": { + "type": "string" + }, + "timezone": { + "type": "string" + }, + "window_type": { + "enum": [ + "rolling", + "calendar_to_date", + "comparison", + "calendar_range" + ], + "type": "string" + } + }, + "required": [ + "start", + "end", + "days", + "reference_start_at", + "reference_end_at", + "window_type", + "reference_bounds", + "timezone", + "duration_hours", + "calendar_dates_touched", + "source_alignment", + "source_boundaries" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "days": { + "type": "number" + }, + "end": { + "type": "string" + }, + "start": { + "type": "string" + } + }, + "required": [ + "start", + "end", + "days" + ], + "type": "object" + } +]
- Changed
get_breakdown2 fields changed- added
Input schema / properties / presetAdded value: +{ + "enum": [ + "last_4_weeks", + "last_12_weeks", + "year_to_date" + ], + "type": "string" +} - added
Output schema / properties / period / properties / presetAdded value: +{ + "enum": [ + "last_4_weeks", + "last_12_weeks", + "year_to_date" + ], + "type": "string" +}
- Changed
get_content_actions6 fields changed- changed
Output schema / properties / bucket_summary / properties / decaying / properties / revenue_jpy / typePrevious value: -"number"New value: +[ + "number", + "null" +] - added
Output schema / properties / notesAdded value: +{ + "items": { + "type": "string" + }, + "type": "array" +} - changed
Output schema / properties / pages / items / properties / ai_revenue_jpy / typePrevious value: -"number"New value: +[ + "number", + "null" +] - changed
Output schema / properties / pages / items / properties / revenue_jpy / typePrevious value: -"number"New value: +[ + "number", + "null" +] - added
Output schema / properties / revenue_statusAdded value: +{ + "enum": [ + "confirmed", + "unconfirmed" + ], + "type": "string" +} - changed
Output schema / requiredPrevious value: -[ - "site_id", - "period", - "window", - "session_window", - "basis", - "assumptions", - "limitations", - "criteria", - "bucket_summary", - "total_pages", - "pages" -]New value: +[ + "site_id", + "revenue_status", + "period", + "window", + "session_window", + "basis", + "assumptions", + "limitations", + "criteria", + "bucket_summary", + "total_pages", + "pages" +]
- Changed
get_keyword_performance15 fields changed- changed
Input schema / properties / band / enumPrevious value: -[ - "all", - "striking" -]New value: +[ + "all", + "striking", + "keeping", + "declining" +] - added
Input schema / properties / presetAdded value: +{ + "enum": [ + "last_4_weeks", + "last_12_weeks", + "year_to_date" + ], + "type": "string" +} - changed
Output schema / properties / band / enumPrevious value: -[ - "all", - "striking" -]New value: +[ + "all", + "striking", + "keeping", + "declining" +] - added
Output schema / properties / band_criteriaAdded value: +{ + "additionalProperties": { + "type": "number" + }, + "type": "object" +} - added
Output schema / properties / notesAdded value: +{ + "items": { + "type": "string" + }, + "type": "array" +} - added
Output schema / properties / period / properties / presetAdded value: +{ + "enum": [ + "last_4_weeks", + "last_12_weeks", + "year_to_date" + ], + "type": "string" +} - removed
Output schema / properties / previous_period / $refRemoved value: -"#/properties/period" - added
Output schema / properties / previous_period / additionalPropertiesAdded value: +false - added
Output schema / properties / previous_period / propertiesAdded value: +{ + "days": { + "$ref": "#/properties/period/properties/days" + }, + "end": { + "$ref": "#/properties/period/properties/end" + }, + "start": { + "$ref": "#/properties/period/properties/start" + } +} - added
Output schema / properties / previous_period / requiredAdded value: +[ + "start", + "end", + "days" +] - added
Output schema / properties / previous_period / typeAdded value: +"object" - added
Output schema / properties / revenue_statusAdded value: +{ + "enum": [ + "confirmed", + "unconfirmed" + ], + "type": "string" +} - changed
Output schema / properties / rows / anyOfPrevious value: -[ - { - "items": { - "additionalProperties": false, - "properties": { - "avg_position": { - "type": "number" - }, - "clicks": { - "type": "number" - }, - "clicks_change": { - "type": [ - "number", - "null" - ] - }, - "ctr": { - "type": "number" - }, - "est_revenue_change": { - "type": [ - "number", - "null" - ] - }, - "est_revenue_jpy": { - "type": "number" - }, - "impressions": { - "type": "number" - }, - "query": { - "type": "string" - }, - "rps_search_jpy": { - "type": "number" - }, - "top_page": { - "type": [ - "string", - "null" - ] - } - }, - "required": [ - "query", - "clicks", - "impressions", - "ctr", - "avg_position", - "est_revenue_jpy", - "top_page", - "rps_search_jpy", - "clicks_change", - "est_revenue_change" - ], - "type": "object" - }, - "type": "array" - }, - { - "items": { - "additionalProperties": false, - "properties": { - "avg_position": { - "type": "number" - }, - "clicks": { - "type": "number" - }, - "ctr": { - "type": "number" - }, - "est_incremental_clicks": { - "type": "number" - }, - "est_incremental_revenue_jpy": { - "type": "number" - }, - "impressions": { - "type": "number" - }, - "opportunity_score": { - "type": "number" - }, - "query": { - "type": "string" - }, - "target_position": { - "type": "number" - }, - "top_page": { - "type": [ - "string", - "null" - ] - } - }, - "required": [ - "query", - "avg_position", - "impressions", - "clicks", - "ctr", - "top_page", - "target_position", - "est_incremental_clicks", - "est_incremental_revenue_jpy", - "opportunity_score" - ], - "type": "object" - }, - "type": "array" - } -]New value: +[ + { + "items": { + "additionalProperties": false, + "properties": { + "avg_position": { + "type": "number" + }, + "clicks": { + "type": "number" + }, + "clicks_change": { + "type": [ + "number", + "null" + ] + }, + "ctr": { + "type": "number" + }, + "est_revenue_change": { + "type": [ + "number", + "null" + ] + }, + "est_revenue_jpy": { + "type": [ + "number", + "null" + ] + }, + "impressions": { + "type": "number" + }, + "query": { + "type": "string" + }, + "rps_search_jpy": { + "type": [ + "number", + "null" + ] + }, + "top_page": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "query", + "clicks", + "impressions", + "ctr", + "avg_position", + "est_revenue_jpy", + "top_page", + "rps_search_jpy", + "clicks_change", + "est_revenue_change" + ], + "type": "object" + }, + "type": "array" + }, + { + "items": { + "additionalProperties": false, + "properties": { + "avg_position": { + "type": "number" + }, + "clicks": { + "type": "number" + }, + "ctr": { + "type": "number" + }, + "est_incremental_clicks": { + "type": "number" + }, + "est_incremental_revenue_jpy": { + "type": [ + "number", + "null" + ] + }, + "impressions": { + "type": "number" + }, + "opportunity_score": { + "type": "number" + }, + "query": { + "type": "string" + }, + "target_position": { + "type": "number" + }, + "top_page": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "query", + "avg_position", + "impressions", + "clicks", + "ctr", + "top_page", + "target_position", + "est_incremental_clicks", + "est_incremental_revenue_jpy", + "opportunity_score" + ], + "type": "object" + }, + "type": "array" + }, + { + "items": { + "additionalProperties": false, + "properties": { + "avg_position": { + "type": [ + "number", + "null" + ] + }, + "click_change_pct": { + "type": "integer" + }, + "click_loss": { + "type": "number" + }, + "clicks": { + "type": "number" + }, + "impressions": { + "type": "number" + }, + "previous_avg_position": { + "type": [ + "number", + "null" + ] + }, + "previous_clicks": { + "type": [ + "number", + "null" + ] + }, + "previous_impressions": { + "type": [ + "number", + "null" + ] + }, + "previous_shown_position": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ] + }, + "query": { + "type": "string" + }, + "rise": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ] + }, + "shown_position": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ] + }, + "top_page": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "query", + "clicks", + "impressions", + "avg_position", + "shown_position", + "previous_clicks", + "previous_impressions", + "previous_avg_position", + "previous_shown_position", + "rise", + "top_page", + "click_loss", + "click_change_pct" + ], + "type": "object" + }, + "type": "array" + }, + { + "items": { + "additionalProperties": false, + "properties": { + "avg_position": { + "$ref": "#/properties/rows/anyOf/2/items/properties/avg_position" + }, + "clicks": { + "$ref": "#/properties/rows/anyOf/2/items/properties/clicks" + }, + "impressions": { + "$ref": "#/properties/rows/anyOf/2/items/properties/impressions" + }, + "previous_avg_position": { + "$ref": "#/properties/rows/anyOf/2/items/properties/previous_avg_position" + }, + "previous_clicks": { + "$ref": "#/properties/rows/anyOf/2/items/properties/previous_clicks" + }, + "previous_impressions": { + "$ref": "#/properties/rows/anyOf/2/items/properties/previous_impressions" + }, + "previous_shown_position": { + "$ref": "#/properties/rows/anyOf/2/items/properties/previous_shown_position" + }, + "query": { + "$ref": "#/properties/rows/anyOf/2/items/properties/query" + }, + "rise": { + "$ref": "#/properties/rows/anyOf/2/items/properties/rise" + }, + "shown_position": { + "$ref": "#/properties/rows/anyOf/2/items/properties/shown_position" + }, + "top_page": { + "$ref": "#/properties/rows/anyOf/2/items/properties/top_page" + } + }, + "required": [ + "query", + "clicks", + "impressions", + "avg_position", + "shown_position", + "previous_clicks", + "previous_impressions", + "previous_avg_position", + "previous_shown_position", + "rise", + "top_page" + ], + "type": "object" + }, + "type": "array" + } +] - changed
Output schema / properties / rps_search_jpy / typePrevious value: -"number"New value: +[ + "number", + "null" +] - changed
Output schema / requiredPrevious value: -[ - "site_id", - "band", - "period", - "previous_period", - "date_basis", - "timezone", - "source_windows", - "rows" -]New value: +[ + "site_id", + "band", + "revenue_status", + "period", + "previous_period", + "date_basis", + "timezone", + "source_windows", + "rows" +]
- Changed
get_page_trend2 fields changed- added
Input schema / properties / presetAdded value: +{ + "enum": [ + "last_4_weeks", + "last_12_weeks", + "year_to_date" + ], + "type": "string" +} - added
Output schema / properties / period / properties / presetAdded value: +{ + "enum": [ + "last_4_weeks", + "last_12_weeks", + "year_to_date" + ], + "type": "string" +}
- Changed
get_summary4 fields changed- added
Input schema / properties / presetAdded value: +{ + "enum": [ + "last_4_weeks", + "last_12_weeks", + "year_to_date" + ], + "type": "string" +} - added
Output schema / properties / kpis / properties / ordersAdded value: +{ + "$ref": "#/properties/kpis/properties/revenue" +} - changed
Output schema / properties / kpis / requiredPrevious value: -[ - "revenue", - "sessions", - "rps", - "aov", - "cvr", - "avg_duration", - "bounce_rate", - "scroll_depth", - "avg_duration_depth_basis", - "median_duration_depth_basis", - "median_scroll_depth", - "roas" -]New value: +[ + "revenue", + "orders", + "sessions", + "rps", + "aov", + "cvr", + "avg_duration", + "bounce_rate", + "scroll_depth", + "avg_duration_depth_basis", + "median_duration_depth_basis", + "median_scroll_depth", + "roas" +] - added
Output schema / properties / period / properties / presetAdded value: +{ + "enum": [ + "last_4_weeks", + "last_12_weeks", + "year_to_date" + ], + "type": "string" +}
- Changed
get_today1 field changed- added
Output schema / properties / period / properties / presetAdded value: +{ + "enum": [ + "last_4_weeks", + "last_12_weeks", + "year_to_date" + ], + "type": "string" +}
1 tool update
- Changed
get_breakdown4 fields changed- added
Output schema / properties / ad_spend_candidates / items / properties / previous_roasAdded value: +{ + "type": [ + "number", + "null" + ] +} - added
Output schema / properties / ad_spend_candidates / items / properties / roasAdded value: +{ + "type": [ + "number", + "null" + ] +} - added
Output schema / properties / ad_spend_candidates / items / properties / roas_statusAdded value: +{ + "enum": [ + "available", + "includes_organic", + "no_spend", + "revenue_unavailable", + "spend_unavailable", + "filtered_scope" + ], + "type": "string" +} - changed
Output schema / properties / ad_spend_candidates / items / requiredPrevious value: -[ - "ad_channel", - "spend_jpy", - "candidate_revenue_jpy", - "previous_spend_jpy", - "spend_delta_jpy", - "previous_candidate_revenue_jpy", - "candidate_revenue_delta_jpy" -]New value: +[ + "ad_channel", + "spend_jpy", + "candidate_revenue_jpy", + "roas", + "roas_status", + "previous_roas", + "previous_spend_jpy", + "spend_delta_jpy", + "previous_candidate_revenue_jpy", + "candidate_revenue_delta_jpy" +]
1 tool update
- Changed
get_breakdown3 fields changed- changed
Output schema / properties / rows / anyOfPrevious value: -[ - { - "items": { - "additionalProperties": false, - "properties": { - "ad_platform": { - "type": [ - "string", - "null" - ] - }, - "aov_jpy": { - "type": [ - "number", - "null" - ] - }, - "avg_dwell_seconds": { - "type": [ - "number", - "null" - ] - }, - "bot_excluded_count": { - "type": [ - "number", - "null" - ] - }, - "bounce_rate_pct": { - "type": [ - "number", - "null" - ] - }, - "channel": { - "type": "string" - }, - "clicks": { - "type": [ - "number", - "null" - ] - }, - "conversion_value_jpy": { - "type": [ - "number", - "null" - ] - }, - "conversions": { - "type": [ - "number", - "null" - ] - }, - "cvr": { - "type": [ - "number", - "null" - ] - }, - "impressions": { - "type": [ - "number", - "null" - ] - }, - "is_ad_platform": { - "type": "boolean" - }, - "is_unattributed": { - "type": "boolean" - }, - "mapped_channels": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "orders": { - "type": [ - "number", - "null" - ] - }, - "previous_revenue_jpy": { - "type": [ - "number", - "null" - ] - }, - "previous_sessions": { - "type": [ - "number", - "null" - ] - }, - "revenue_change_pct": { - "type": [ - "number", - "null" - ] - }, - "revenue_delta_jpy": { - "type": [ - "number", - "null" - ] - }, - "revenue_jpy": { - "type": [ - "number", - "null" - ] - }, - "roas": { - "type": [ - "number", - "null" - ] - }, - "rps_jpy": { - "type": [ - "number", - "null" - ] - }, - "saturation_pct": { - "type": [ - "number", - "null" - ] - }, - "sessions": { - "type": [ - "number", - "null" - ] - }, - "sessions_change_pct": { - "type": [ - "number", - "null" - ] - }, - "sessions_delta": { - "type": [ - "number", - "null" - ] - }, - "spend_jpy": { - "type": [ - "number", - "null" - ] - }, - "visitors": { - "type": [ - "number", - "null" - ] - } - }, - "required": [ - "channel", - "sessions", - "revenue_jpy" - ], - "type": "object" - }, - "type": "array" - }, - { - "items": { - "additionalProperties": false, - "properties": { - "aov_jpy": { - "type": [ - "number", - "null" - ] - }, - "campaign": { - "type": "string" - }, - "cvr": { - "type": "number" - }, - "revenue_jpy": { - "type": [ - "number", - "null" - ] - }, - "rps_jpy": { - "type": [ - "number", - "null" - ] - }, - "sessions": { - "type": "number" - } - }, - "required": [ - "campaign", - "sessions", - "revenue_jpy", - "rps_jpy", - "aov_jpy", - "cvr" - ], - "type": "object" - }, - "type": "array" - }, - { - "items": { - "additionalProperties": false, - "properties": { - "avg_position": { - "type": [ - "number", - "null" - ] - }, - "avg_time_on_page_seconds": { - "type": [ - "number", - "null" - ] - }, - "bounce_rate": { - "type": [ - "number", - "null" - ] - }, - "clicks": { - "type": [ - "number", - "null" - ] - }, - "ctr": { - "type": [ - "number", - "null" - ] - }, - "impressions": { - "type": [ - "number", - "null" - ] - }, - "page": { - "type": "string" - }, - "pageviews": { - "type": "number" - }, - "pageviews_change": { - "type": [ - "number", - "null" - ] - }, - "title": { - "type": [ - "string", - "null" - ] - }, - "unique_visitors": { - "type": "number" - } - }, - "required": [ - "page", - "pageviews", - "unique_visitors", - "avg_time_on_page_seconds", - "bounce_rate", - "pageviews_change", - "title", - "impressions", - "clicks", - "ctr", - "avg_position" - ], - "type": "object" - }, - "type": "array" - }, - { - "items": { - "additionalProperties": false, - "properties": { - "avg_session_duration_seconds": { - "type": [ - "number", - "null" - ] - }, - "bounce_rate": { - "type": [ - "number", - "null" - ] - }, - "page": { - "type": "string" - }, - "previous_revenue_jpy": { - "type": [ - "number", - "null" - ] - }, - "previous_sessions": { - "type": [ - "number", - "null" - ] - }, - "revenue_change_pct": { - "type": [ - "number", - "null" - ] - }, - "revenue_delta_jpy": { - "type": [ - "number", - "null" - ] - }, - "revenue_jpy": { - "type": [ - "number", - "null" - ] - }, - "sessions": { - "type": "number" - }, - "sessions_change_pct": { - "type": [ - "number", - "null" - ] - }, - "sessions_delta": { - "type": [ - "number", - "null" - ] - } - }, - "required": [ - "page", - "sessions", - "revenue_jpy", - "avg_session_duration_seconds", - "bounce_rate", - "previous_sessions", - "sessions_delta", - "sessions_change_pct", - "previous_revenue_jpy", - "revenue_delta_jpy", - "revenue_change_pct" - ], - "type": "object" - }, - "type": "array" - }, - { - "items": { - "additionalProperties": false, - "properties": { - "is_new_visitor": { - "type": "boolean" - }, - "previous_revenue_jpy": { - "type": [ - "number", - "null" - ] - }, - "previous_sessions": { - "type": [ - "number", - "null" - ] - }, - "revenue_change_pct": { - "type": [ - "number", - "null" - ] - }, - "revenue_delta_jpy": { - "type": [ - "number", - "null" - ] - }, - "revenue_jpy": { - "type": [ - "number", - "null" - ] - }, - "sessions": { - "type": "number" - }, - "sessions_change_pct": { - "type": [ - "number", - "null" - ] - }, - "sessions_delta": { - "type": [ - "number", - "null" - ] - }, - "type": { - "type": "string" - } - }, - "required": [ - "type", - "is_new_visitor", - "sessions", - "revenue_jpy", - "previous_sessions", - "sessions_delta", - "sessions_change_pct", - "previous_revenue_jpy", - "revenue_delta_jpy", - "revenue_change_pct" - ], - "type": "object" - }, - "type": "array" - }, - { - "items": { - "additionalProperties": false, - "properties": { - "avg_session_duration_seconds": { - "type": [ - "number", - "null" - ] - }, - "bounce_rate": { - "type": [ - "number", - "null" - ] - }, - "page": { - "type": "string" - }, - "previous_revenue_jpy": { - "type": [ - "number", - "null" - ] - }, - "previous_sessions": { - "type": [ - "number", - "null" - ] - }, - "revenue_change_pct": { - "type": [ - "number", - "null" - ] - }, - "revenue_delta_jpy": { - "type": [ - "number", - "null" - ] - }, - "revenue_jpy": { - "type": [ - "number", - "null" - ] - }, - "sessions": { - "type": "number" - }, - "sessions_change_pct": { - "type": [ - "number", - "null" - ] - }, - "sessions_delta": { - "type": [ - "number", - "null" - ] - } - }, - "required": [ - "page", - "sessions", - "revenue_jpy", - "avg_session_duration_seconds", - "bounce_rate", - "previous_sessions", - "sessions_delta", - "sessions_change_pct", - "previous_revenue_jpy", - "revenue_delta_jpy", - "revenue_change_pct" - ], - "type": "object" - }, - "type": "array" - } -]New value: +[ + { + "items": { + "additionalProperties": false, + "properties": { + "ad_platform": { + "type": [ + "string", + "null" + ] + }, + "aov_jpy": { + "type": [ + "number", + "null" + ] + }, + "avg_dwell_seconds": { + "type": [ + "number", + "null" + ] + }, + "bot_excluded_count": { + "type": [ + "number", + "null" + ] + }, + "bounce_rate_pct": { + "type": [ + "number", + "null" + ] + }, + "channel": { + "type": "string" + }, + "clicks": { + "type": [ + "number", + "null" + ] + }, + "conversion_value_jpy": { + "type": [ + "number", + "null" + ] + }, + "conversions": { + "type": [ + "number", + "null" + ] + }, + "cvr": { + "type": [ + "number", + "null" + ] + }, + "impressions": { + "type": [ + "number", + "null" + ] + }, + "is_ad_platform": { + "type": "boolean" + }, + "is_unattributed": { + "type": "boolean" + }, + "mapped_channels": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ] + }, + "orders": { + "type": [ + "number", + "null" + ] + }, + "previous_revenue_jpy": { + "type": [ + "number", + "null" + ] + }, + "previous_sessions": { + "type": [ + "number", + "null" + ] + }, + "revenue_change_pct": { + "type": [ + "number", + "null" + ] + }, + "revenue_delta_jpy": { + "type": [ + "number", + "null" + ] + }, + "revenue_jpy": { + "type": [ + "number", + "null" + ] + }, + "roas": { + "type": [ + "number", + "null" + ] + }, + "rps_jpy": { + "type": [ + "number", + "null" + ] + }, + "saturation_pct": { + "type": [ + "number", + "null" + ] + }, + "sessions": { + "type": [ + "number", + "null" + ] + }, + "sessions_change_pct": { + "type": [ + "number", + "null" + ] + }, + "sessions_delta": { + "type": [ + "number", + "null" + ] + }, + "spend_jpy": { + "type": [ + "number", + "null" + ] + }, + "visitors": { + "type": [ + "number", + "null" + ] + } + }, + "required": [ + "channel", + "sessions", + "revenue_jpy" + ], + "type": "object" + }, + "type": "array" + }, + { + "items": { + "additionalProperties": false, + "properties": { + "aov_jpy": { + "type": [ + "number", + "null" + ] + }, + "campaign": { + "type": "string" + }, + "cvr": { + "type": [ + "number", + "null" + ] + }, + "revenue_jpy": { + "type": [ + "number", + "null" + ] + }, + "rps_jpy": { + "type": [ + "number", + "null" + ] + }, + "sessions": { + "type": "number" + } + }, + "required": [ + "campaign", + "sessions", + "revenue_jpy", + "rps_jpy", + "aov_jpy", + "cvr" + ], + "type": "object" + }, + "type": "array" + }, + { + "items": { + "additionalProperties": false, + "properties": { + "avg_position": { + "type": [ + "number", + "null" + ] + }, + "avg_time_on_page_seconds": { + "type": [ + "number", + "null" + ] + }, + "bounce_rate": { + "type": [ + "number", + "null" + ] + }, + "clicks": { + "type": [ + "number", + "null" + ] + }, + "ctr": { + "type": [ + "number", + "null" + ] + }, + "impressions": { + "type": [ + "number", + "null" + ] + }, + "page": { + "type": "string" + }, + "pageviews": { + "type": "number" + }, + "pageviews_change": { + "type": [ + "number", + "null" + ] + }, + "title": { + "type": [ + "string", + "null" + ] + }, + "unique_visitors": { + "type": "number" + } + }, + "required": [ + "page", + "pageviews", + "unique_visitors", + "avg_time_on_page_seconds", + "bounce_rate", + "pageviews_change", + "title", + "impressions", + "clicks", + "ctr", + "avg_position" + ], + "type": "object" + }, + "type": "array" + }, + { + "items": { + "additionalProperties": false, + "properties": { + "avg_session_duration_seconds": { + "type": [ + "number", + "null" + ] + }, + "bounce_rate": { + "type": [ + "number", + "null" + ] + }, + "page": { + "type": "string" + }, + "previous_revenue_jpy": { + "type": [ + "number", + "null" + ] + }, + "previous_sessions": { + "type": [ + "number", + "null" + ] + }, + "revenue_change_pct": { + "type": [ + "number", + "null" + ] + }, + "revenue_delta_jpy": { + "type": [ + "number", + "null" + ] + }, + "revenue_jpy": { + "type": [ + "number", + "null" + ] + }, + "sessions": { + "type": "number" + }, + "sessions_change_pct": { + "type": [ + "number", + "null" + ] + }, + "sessions_delta": { + "type": [ + "number", + "null" + ] + } + }, + "required": [ + "page", + "sessions", + "revenue_jpy", + "avg_session_duration_seconds", + "bounce_rate", + "previous_sessions", + "sessions_delta", + "sessions_change_pct", + "previous_revenue_jpy", + "revenue_delta_jpy", + "revenue_change_pct" + ], + "type": "object" + }, + "type": "array" + }, + { + "items": { + "additionalProperties": false, + "properties": { + "is_new_visitor": { + "type": "boolean" + }, + "previous_revenue_jpy": { + "type": [ + "number", + "null" + ] + }, + "previous_sessions": { + "type": [ + "number", + "null" + ] + }, + "revenue_change_pct": { + "type": [ + "number", + "null" + ] + }, + "revenue_delta_jpy": { + "type": [ + "number", + "null" + ] + }, + "revenue_jpy": { + "type": [ + "number", + "null" + ] + }, + "sessions": { + "type": "number" + }, + "sessions_change_pct": { + "type": [ + "number", + "null" + ] + }, + "sessions_delta": { + "type": [ + "number", + "null" + ] + }, + "type": { + "type": "string" + } + }, + "required": [ + "type", + "is_new_visitor", + "sessions", + "revenue_jpy", + "previous_sessions", + "sessions_delta", + "sessions_change_pct", + "previous_revenue_jpy", + "revenue_delta_jpy", + "revenue_change_pct" + ], + "type": "object" + }, + "type": "array" + }, + { + "items": { + "additionalProperties": false, + "properties": { + "avg_session_duration_seconds": { + "type": [ + "number", + "null" + ] + }, + "bounce_rate": { + "type": [ + "number", + "null" + ] + }, + "page": { + "type": "string" + }, + "previous_revenue_jpy": { + "type": [ + "number", + "null" + ] + }, + "previous_sessions": { + "type": [ + "number", + "null" + ] + }, + "revenue_change_pct": { + "type": [ + "number", + "null" + ] + }, + "revenue_delta_jpy": { + "type": [ + "number", + "null" + ] + }, + "revenue_jpy": { + "type": [ + "number", + "null" + ] + }, + "sessions": { + "type": "number" + }, + "sessions_change_pct": { + "type": [ + "number", + "null" + ] + }, + "sessions_delta": { + "type": [ + "number", + "null" + ] + } + }, + "required": [ + "page", + "sessions", + "revenue_jpy", + "avg_session_duration_seconds", + "bounce_rate", + "previous_sessions", + "sessions_delta", + "sessions_change_pct", + "previous_revenue_jpy", + "revenue_delta_jpy", + "revenue_change_pct" + ], + "type": "object" + }, + "type": "array" + } +] - changed
Output schema / properties / session_attributes / properties / devices / items / properties / cvr / typePrevious value: -"number"New value: +[ + "number", + "null" +] - changed
Output schema / properties / session_attributes / properties / visitor_types / items / properties / cvr / typePrevious value: -"number"New value: +[ + "number", + "null" +]
Related MCP Connectors
Ask questions across Shopify, Klaviyo, GA4 and 20+ e-commerce sources in plain English.
- AdCrunchOAuthdev.adcrunch
Ask AI about your ads — query Meta, TikTok, and Google Ads performance in natural language.
- mcp-serverOAuthco.flyweel
Access Google & Meta Ads data via AI. Analyse campaign performance in seconds.
Related MCP Servers
AlicenseNot gradedqualityDmaintenanceConnects e-commerce and marketing data sources like Shopify, GA4, Google Ads, and Meta Ads to AI assistants, enabling natural language queries about store performance, ad campaigns, and customer behavior.11 npm2MIT- AlicenseAqualityBmaintenanceAI e-commerce operations manager for MCP. Inventory forecasting, pricing optimization, RFM customer segmentation, order anomaly detection, and automated reports for Shopify and WooCommerce.1276 npm1MIT
- FlicenseNot gradedqualityDmaintenanceEnables e-commerce shop owners to query their business data using natural language through local AI models. Provides secure, privacy-focused access to sales reports, inventory management, customer analytics, and order data without sending sensitive information to external services.-
- FlicenseNot gradedqualityDmaintenanceEnables AI-powered analytics from Stripe, PayPal, and Google Analytics 4 (BigQuery) data sources with built-in guardrails and automated workflows for financial and web performance insights.-
Glama MCP Gateway
Add one secure layer between your agents and this server.