MCP 服务器

RevenueScope: revenue-first analytics for your EC site

io.github.toshihiroshishido/revenuescope-mcp
数据与分析 营销与广告 公开且可连接 MCP 2025-11-25

此 MCP 可以做什么

Analyzes e-commerce revenue, traffic, search performance, AI referrals, advertising efficiency, content opportunities, and budget allocation.

get_ai_traffic
AI assistant traffic
Return AI-assistant traffic using dashboard_ai_referred. 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. mode='gaps' is STOPPED and returns only its stopped notice. site_id is optional when OAuth-authenticated. Scope is clicked citations only.
只读
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'mode': {'enum': ['referred', 'gaps'], 'type': 'string', 'default': 'referred'}, 'limit': {'type': 'integer', 'maximum': 1000, 'minimum': 1}, 'site_id': {'type': 'string', 'format': 'uuid'}, 'end_date': {'$ref': '#/properties/start_date'}, 'start_date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$'}, 'compare_end_date': {'$ref': '#/properties/start_date'}, 'compare_start_date': {'$ref': '#/properties/start_date'}}, 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['site_id', 'mode'], 'properties': {'mode': {'enum': ['referred', 'gaps'], 'type': 'string'}, 'rows': {'type': 'array', 'items': {'type': 'object', 'required': ['page', 'ai_source', 'sessions', 'bounce_rate', 'revenue_jpy', 'last_cited_at', 'comparison'], 'properties': {'page': {'type': 'string'}, 'sessions': {'type': 'number'}, 'ai_source': {'type': 'string'}, 'comparison': {'type': 'object', 'required': ['previous_sessions', 'sessions_delta', 'sessions_change_pct', 'previous_revenue_jpy', 'revenue_delta_jpy', 'revenue_change_pct', 'previous_bounce_rate', 'bounce_rate_delta_pp'], 'properties': {'sessions_delta': {'type': ['number', 'null']}, 'previous_sessions': {'type': ['number', 'null']}, 'revenue_delta_jpy': {'type': ['number', 'null']}, 'revenue_change_pct': {'type': ['number', 'null']}, 'sessions_change_pct': {'type': ['number', 'null']}, 'bounce_rate_delta_pp': {'type': ['number', 'null']}, 'previous_bounce_rate': {'type': ['number', 'null']}, 'previous_revenue_jpy': {'type': ['number', 'null']}}, 'additionalProperties': False}, 'bounce_rate': {'type': ['number', 'null']}, 'revenue_jpy': {'type': ['number', 'null']}, 'last_cited_at': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'basis': {'type': 'string'}, 'notes': {'type': 'array', 'items': {'type': 'string'}}, 'period': {'anyOf': [{'type': 'object', 'required': ['start', 'end', 'days', 'reference_start_at', 'reference_end_at', 'window_type', 'reference_bounds', 'timezone', 'duration_hours', 'calendar_dates_touched', 'source_alignment', 'source_boundaries'], 'properties': {'end': {'type': 'string'}, 'days': {'type': 'number'}, 'start': {'type': 'string'}, 'timezone': {'type': 'string'}, 'window_type': {'enum': ['rolling', 'calendar_to_date', 'comparison', 'calendar_range'], 'type': 'string'}, 'duration_hours': {'type': 'number'}, 'reference_bounds': {'type': 'string', 'const': 'start_inclusive_end_exclusive'}, 'reference_end_at': {'type': 'string', 'format': 'date-time'}, 'source_alignment': {'enum': ['exact', 'mixed'], 'type': 'string'}, 'source_boundaries': {'type': 'array', 'items': {'type': 'object', 'required': ['applies_to', 'boundary'], 'properties': {'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'}, 'applies_to': {'type': 'array', 'items': {'type': 'string'}, 'minItems': 1}}, 'additionalProperties': False}}, 'reference_start_at': {'type': 'string', 'format': 'date-time'}, 'calendar_dates_touched': {'type': 'integer', 'minimum': 0}}, 'additionalProperties': False}, {'type': 'object', 'required': ['start', 'end', 'days'], 'properties': {'end': {'type': 'string'}, 'days': {'type': 'number'}, 'start': {'type': 'string'}}, 'additionalProperties': False}]}, 'status': {'type': 'string', 'const': 'stopped'}, 'is_demo': {'type': 'boolean'}, 'site_id': {'type': 'string'}, 'truncated': {'anyOf': [{'type': 'object', 'required': ['shown', 'omitted_at_least', 'source_limited'], 'properties': {'shown': {'type': 'integer', 'minimum': 0}, 'source_limited': {'type': 'boolean'}, 'omitted_at_least': {'type': 'integer', 'minimum': 0}}, 'additionalProperties': False}, {'type': 'null'}]}, 'ai_sources': {'type': 'array', 'items': {'type': 'string'}}, 'resume_plan': {'type': ['string', 'null']}, 'source_rows': {'type': 'integer', 'minimum': 0}, 'alternatives': {'type': 'array', 'items': {'type': 'object', 'required': ['tool', 'use_for'], 'properties': {'tool': {'type': 'string'}, 'use_for': {'type': 'string'}}, 'additionalProperties': False}}, 'revenue_status': {'enum': ['confirmed', 'unconfirmed'], 'type': 'string'}, 'stopped_reason': {'type': 'string'}, 'previous_period': {'$ref': '#/properties/period/anyOf/0'}, 'comparison_status': {'enum': ['available', 'unavailable'], 'type': 'string'}}, 'additionalProperties': False}
get_breakdown
Revenue breakdown by dimension
`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. Each row reports available prior values and deltas. Channel attribution_model supports last_touch, first_touch, linear and time_decay. Candidate ad revenue is context only, not paid attribution or Paid Attribution ROAS. Unattributed purchase revenue is a separate row. Some dimensions do not support country/device filters; unsupported axes are identified in notes. site_id is optional when OAuth-authenticated.
只读
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['dimension'], 'properties': {'limit': {'type': 'integer', 'maximum': 200, 'minimum': 1}, 'device': {'enum': ['mobile', 'desktop', 'tablet'], 'type': 'string'}, 'filter': {'type': 'object', 'required': ['channel'], 'properties': {'channel': {'type': 'string'}}, 'additionalProperties': False}, 'country': {'type': 'string', 'maxLength': 2, 'minLength': 2}, 'site_id': {'type': 'string', 'format': 'uuid'}, 'end_date': {'$ref': '#/properties/start_date'}, 'dimension': {'enum': ['channel', 'entry_page', 'visitor_history', 'page', 'session_attribute'], 'type': 'string'}, 'start_date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$'}, 'visitor_type': {'enum': ['new', 'returning'], 'type': 'string'}, 'compare_end_date': {'$ref': '#/properties/start_date'}, 'attribution_model': {'enum': ['last_touch', 'first_touch', 'linear', 'time_decay'], 'type': 'string', 'default': 'last_touch'}, 'compare_start_date': {'$ref': '#/properties/start_date'}}, 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['site_id', 'dimension', 'period', 'data_freshness', 'period_boundary_definitions', 'presentation_hints'], 'properties': {'path': {'enum': ['A', 'B'], 'type': 'string'}, 'rows': {'anyOf': [{'type': 'array', 'items': {'type': 'object', 'required': ['channel', 'sessions', 'revenue_jpy'], 'properties': {'cvr': {'type': ['number', 'null']}, 'roas': {'type': ['number', 'null']}, 'clicks': {'type': ['number', 'null']}, 'orders': {'type': ['number', 'null']}, 'aov_jpy': {'type': ['number', 'null']}, 'channel': {'type': 'string'}, 'rps_jpy': {'type': ['number', 'null']}, 'sessions': {'type': ['number', 'null']}, 'visitors': {'type': ['number', 'null']}, 'spend_jpy': {'type': ['number', 'null']}, 'ad_platform': {'type': ['string', 'null']}, 'conversions': {'type': ['number', 'null']}, 'impressions': {'type': ['number', 'null']}, 'revenue_jpy': {'type': ['number', 'null']}, 'is_ad_platform': {'type': 'boolean'}, 'saturation_pct': {'type': ['number', 'null']}, 'sessions_delta': {'type': ['number', 'null']}, 'bounce_rate_pct': {'type': ['number', 'null']}, 'is_unattributed': {'type': 'boolean'}, 'mapped_channels': {'anyOf': [{'type': 'array', 'items': {'type': 'string'}}, {'type': 'null'}]}, 'avg_dwell_seconds': {'type': ['number', 'null']}, 'previous_sessions': {'type': ['number', 'null']}, 'revenue_delta_jpy': {'type': ['number', 'null']}, 'bot_excluded_count': {'type': ['number', 'null']}, 'revenue_change_pct': {'type': ['number', 'null']}, 'sessions_change_pct': {'type': ['number', 'null']}, 'conversion_value_jpy': {'type': ['number', 'null']}, 'previous_revenue_jpy': {'type': ['number', 'null']}}, 'additionalProperties': False}}, {'type': 'array', 'items': {'type': 'object', 'required': ['campaign', 'sessions', 'revenue_jpy', 'rps_jpy', 'aov_jpy', 'cvr'], 'properties': {'cvr': {'type': ['number', 'null']}, 'aov_jpy': {'type': ['number', 'null']}, 'rps_jpy': {'type': ['number', 'null']}, 'campaign': {'type': 'string'}, 'sessions': {'type': 'number'}, 'revenue_jpy': {'type': ['number', 'null']}}, 'additionalProperties': False}}, {'type': 'array', 'items': {'type': 'object', 'required': ['page', 'pageviews', 'unique_visitors', 'avg_time_on_page_seconds', 'bounce_rate', 'pageviews_change', 'title', 'impressions', 'clicks', 'ctr', 'avg_position'], 'properties': {'ctr': {'type': ['number', 'null']}, 'page': {'type': 'string'}, 'title': {'type': ['string', 'null']}, 'clicks': {'type': ['number', 'null']}, 'pageviews': {'type': 'number'}, 'bounce_rate': {'type': ['number', 'null']}, 'impressions': {'type': ['number', 'null']}, 'avg_position': {'type': ['number', 'null']}, 'unique_visitors': {'type': 'number'}, 'pageviews_change': {'type': ['number', 'null']}, 'avg_time_on_page_seconds': {'type': ['number', 'null']}}, 'additionalProperties': False}}, {'type': 'array', 'items': {'type': 'object', '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'], 'properties': {'page': {'type': 'string'}, 'sessions': {'type': 'number'}, 'bounce_rate': {'type': ['number', 'null']}, 'revenue_jpy': {'type': ['number', 'null']}, 'sessions_delta': {'type': ['number', 'null']}, 'previous_sessions': {'type': ['number', 'null']}, 'revenue_delta_jpy': {'type': ['number', 'null']}, 'revenue_change_pct': {'type': ['number', 'null']}, 'sessions_change_pct': {'type': ['number', 'null']}, 'previous_revenue_jpy': {'type': ['number', 'null']}, 'avg_session_duration_seconds': {'type': ['number', 'null']}}, 'additionalProperties': False}}, {'type': 'array', 'items': {'type': 'object', 'required': ['type', 'is_new_visitor', 'sessions', 'revenue_jpy', 'previous_sessions', 'sessions_delta', 'sessions_change_pct', 'previous_revenue_jpy', 'revenue_delta_jpy', 'revenue_change_pct'], 'properties': {'type': {'type': 'string'}, 'sessions': {'type': 'number'}, 'revenue_jpy': {'type': ['number', 'null']}, 'is_new_visitor': {'type': 'boolean'}, 'sessions_delta': {'type': ['number', 'null']}, 'previous_sessions': {'type': ['number', 'null']}, 'revenue_delta_jpy': {'type': ['number', 'null']}, 'revenue_change_pct': {'type': ['number', 'null']}, 'sessions_change_pct': {'type': ['number', 'null']}, 'previous_revenue_jpy': {'type': ['number', 'null']}}, 'additionalProperties': False}}, {'type': 'array', 'items': {'type': 'object', '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'], 'properties': {'page': {'type': 'string'}, 'sessions': {'type': 'number'}, 'bounce_rate': {'type': ['number', 'null']}, 'revenue_jpy': {'type': ['number', 'null']}, 'sessions_delta': {'type': ['number', 'null']}, 'previous_sessions': {'type': ['number', 'null']}, 'revenue_delta_jpy': {'type': ['number', 'null']}, 'revenue_change_pct': {'type': ['number', 'null']}, 'sessions_change_pct': {'type': ['number', 'null']}, 'previous_revenue_jpy': {'type': ['number', 'null']}, 'avg_session_duration_seconds': {'type': ['number', 'null']}}, 'additionalProperties': False}}]}, 'basis': {'type': 'string'}, 'notes': {'type': 'array', 'items': {'type': 'string'}}, 'filter': {'type': 'object', 'required': ['channel'], 'properties': {'channel': {'type': 'string'}}, 'additionalProperties': False}, 'period': {'type': 'object', 'required': ['start', 'end', 'days', 'reference_start_at', 'reference_end_at', 'window_type', 'reference_bounds', 'timezone', 'duration_hours', 'calendar_dates_touched', 'source_alignment', 'source_boundaries'], 'properties': {'end': {'type': 'string'}, 'days': {'type': 'number'}, 'start': {'type': 'string'}, 'timezone': {'type': 'string'}, 'window_type': {'enum': ['rolling', 'calendar_to_date', 'comparison', 'calendar_range'], 'type': 'string'}, 'duration_hours': {'type': 'number'}, 'reference_bounds': {'type': 'string', 'const': 'start_inclusive_end_exclusive'}, 'reference_end_at': {'type': 'string', 'format': 'date-time'}, 'source_alignment': {'enum': ['exact', 'mixed'], 'type': 'string'}, 'source_boundaries': {'type': 'array', 'items': {'type': 'object', 'required': ['applies_to', 'boundary'], 'properties': {'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'}, 'applies_to': {'type': 'array', 'items': {'type': 'string'}, 'minItems': 1}}, 'additionalProperties': False}}, 'reference_start_at': {'type': 'string', 'format': 'date-time'}, 'calendar_dates_touched': {'type': 'integer', 'minimum': 0}}, 'additionalProperties': False}, 'is_demo': {'type': 'boolean'}, 'message': {'type': 'string'}, 'revenue': {'type': ['number', 'null']}, 'site_id': {'type': 'string'}, 'dimension': {'enum': ['channel', 'entry_page', 'visitor_history', 'page', 'session_attribute'], 'type': 'string'}, 'truncated': {'anyOf': [{'type': 'object', 'properties': {'omitted_pages': {'type': 'number'}, 'total_sessions': {'type': 'number'}, 'omitted_entries': {'type': 'number'}, 'omitted_sessions': {'type': 'number'}, 'omitted_pageviews': {'type': 'number'}}, 'additionalProperties': False}, {'type': 'null'}]}, 'error_code': {'type': 'string'}, 'assumptions': {'type': 'array', 'items': {'type': 'string'}}, 'limitations': {'type': 'array', 'items': {'type': 'string'}}, 'total_pages': {'type': 'number'}, 'total_entries': {'type': 'number'}, 'data_freshness': {'type': 'object', 'required': ['generated_at', 'provisional', 'may_change_because', 'bot_classification_delay_minutes_max_by_rule', 'bot_classification_delay_definitions', 'delay_bounds_assume_scheduled_jobs_operational'], 'properties': {'provisional': {'type': 'boolean', 'const': True}, 'generated_at': {'type': 'string', 'format': 'date-time'}, 'may_change_because': {'type': 'array', 'items': {'enum': ['live_ingestion', 'open_window', 'moving_window', 'delayed_bot_classification'], 'type': 'string'}}, 'bot_classification_delay_definitions': {'type': 'object', 'required': ['burst_cluster_primary', 'burst_cluster_fallback', 'single_page_zero_dwell'], 'properties': {'burst_cluster_primary': {'type': 'string'}, 'burst_cluster_fallback': {'type': 'string'}, 'single_page_zero_dwell': {'type': 'string'}}, 'additionalProperties': False}, 'bot_classification_delay_minutes_max_by_rule': {'type': 'object', 'required': ['burst_cluster_primary', 'burst_cluster_fallback', 'single_page_zero_dwell'], 'properties': {'burst_cluster_primary': {'type': 'number', 'const': 20}, 'burst_cluster_fallback': {'type': 'number', 'const': 480}, 'single_page_zero_dwell': {'type': 'number', 'const': 480}}, 'additionalProperties': False}, 'delay_bounds_assume_scheduled_jobs_operational': {'type': 'boolean', 'const': True}}, 'additionalProperties': False}, 'revenue_status': {'enum': ['confirmed', 'unconfirmed', 'error'], 'type': 'string'}, 'previous_period': {'$ref': '#/properties/period'}, 'total_pageviews': {'type': 'number'}, 'attribution_model': {'enum': ['last_touch', 'first_touch', 'linear', 'time_decay'], 'type': 'string'}, 'comparison_status': {'enum': ['available', 'unavailable'], 'type': 'string'}, 'revenue_breakdown': {'type': 'object', 'required': ['total_event_jpy', 'attributed_jpy', 'unattributed_jpy'], 'properties': {'attributed_jpy': {'type': 'number'}, 'total_event_jpy': {'type': 'number'}, 'unattributed_jpy': {'type': 'number'}}, 'additionalProperties': False}, 'presentation_hints': {'type': 'object', 'required': ['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'], 'properties': {'show_trend': {'type': 'boolean'}, 'response_type': {'enum': ['analytics_summary', 'analytics_breakdown', 'priority_insights', 'analytics_today'], 'type': 'string'}, 'primary_metric': {'type': 'string'}, 'show_breakdown': {'type': 'boolean'}, 'avoid_long_prose': {'type': 'boolean', 'const': True}, 'recommended_sections': {'type': 'array', 'items': {'enum': ['kpi_summary', 'trend', 'ad_spend_context', 'breakdown', 'priority_insights', 'recommended_actions'], 'type': 'string'}}, 'show_period_comparison': {'type': 'boolean'}, 'show_priority_insights': {'type': 'boolean'}, 'recommended_followup_tools': {'type': 'array', 'items': {'enum': ['get_breakdown', 'get_priority_insights', 'get_summary'], 'type': 'string'}}, 'prefer_compact_visual_summary': {'type': 'boolean', 'const': True}}, 'additionalProperties': False}, 'session_attributes': {'type': 'object', 'required': ['devices', 'timeslots', 'dayofweek', 'visitor_types', 'countries'], 'properties': {'devices': {'type': 'array', 'items': {'type': 'object', 'required': ['device', 'sessions', 'revenue', 'rps', 'cvr'], 'properties': {'cvr': {'type': ['number', 'null']}, 'rps': {'type': ['number', 'null']}, 'device': {'type': 'string'}, 'revenue': {'type': ['number', 'null']}, 'sessions': {'type': 'number'}}, 'additionalProperties': False}}, 'countries': {'type': 'array', 'items': {'type': 'object', 'required': ['country', 'name', 'sessions', 'revenue', 'rps', 'share_pct'], 'properties': {'rps': {'type': ['number', 'null']}, 'name': {'type': 'string'}, 'country': {'type': 'string'}, 'revenue': {'type': ['number', 'null']}, 'sessions': {'type': 'number'}, 'share_pct': {'type': 'number'}}, 'additionalProperties': False}}, 'dayofweek': {'type': 'array', 'items': {'type': 'object', 'required': ['day', 'iso_dow', 'sessions', 'revenue', 'rps'], 'properties': {'day': {'type': 'string'}, 'rps': {'type': ['number', 'null']}, 'iso_dow': {'type': 'number'}, 'revenue': {'type': ['number', 'null']}, 'sessions': {'type': 'number'}}, 'additionalProperties': False}}, 'timeslots': {'type': 'array', 'items': {'type': 'object', 'required': ['slot', 'hour_start', 'sessions', 'revenue', 'rps'], 'properties': {'rps': {'type': ['number', 'null']}, 'slot': {'type': 'string'}, 'revenue': {'type': ['number', 'null']}, 'sessions': {'type': 'number'}, 'hour_start': {'type': 'number'}}, 'additionalProperties': False}}, 'visitor_types': {'type': 'array', 'items': {'type': 'object', 'required': ['type', 'is_new_visitor', 'sessions', 'revenue', 'rps', 'cvr', 'aov'], 'properties': {'aov': {'type': ['number', 'null']}, 'cvr': {'type': ['number', 'null']}, 'rps': {'type': ['number', 'null']}, 'type': {'type': 'string'}, 'revenue': {'type': ['number', 'null']}, 'sessions': {'type': 'number'}, 'is_new_visitor': {'type': 'boolean'}}, 'additionalProperties': False}}}, 'additionalProperties': False}, 'ad_spend_candidates': {'type': 'array', 'items': {'type': 'object', 'required': ['ad_channel', 'spend_jpy', 'candidate_revenue_jpy', 'previous_spend_jpy', 'spend_delta_jpy', 'previous_candidate_revenue_jpy', 'candidate_revenue_delta_jpy'], 'properties': {'spend_jpy': {'type': 'number'}, 'ad_channel': {'type': 'string'}, 'spend_delta_jpy': {'type': ['number', 'null']}, 'previous_spend_jpy': {'type': ['number', 'null']}, 'candidate_revenue_jpy': {'type': ['number', 'null']}, 'candidate_revenue_delta_jpy': {'type': ['number', 'null']}, 'previous_candidate_revenue_jpy': {'type': ['number', 'null']}}, 'additionalProperties': False}}, 'period_boundary_definitions': {'type': 'object', 'required': ['path_syntax', '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'], 'properties': {'path_syntax': {'type': 'string', 'const': 'dot_path_with_array_wildcard'}, 'defined_per_output_item': {'type': 'string'}, 'reference_timestamp_window': {'type': 'string'}, 'jst_calendar_dates_inclusive': {'type': 'string'}, 'derived_previous_daily_window': {'type': 'string'}, 'database_statement_time_window': {'type': 'string'}, 'derived_from_current_and_previous': {'type': 'string'}, 'account_registry_not_period_scoped': {'type': 'string'}, 'jst_calendar_dates_from_reference_start': {'type': 'string'}, 'jst_calendar_dates_from_database_window_start': {'type': 'string'}}, 'additionalProperties': False}}, 'additionalProperties': False}
get_competitor_keywords
Competitor keywords (external SEO snapshot)
Return the latest competitor SEO snapshot for the site (FD-041): which keywords each tracked competitor DOMAIN ranks for on Google (Japan/ja), at what position, with monthly search_volume, cpc and etv (estimated monthly traffic — a visit estimate, not a monetary value), plus how each rank moved vs the previous snapshot. READ-ONLY — this tool never runs a research (that costs money and is triggered separately from the dashboard, the competitor-research Edge Function); it only reads what was already fetched. The response is summary-first (token-aware): each domain carries a constant-size `summary` (total_keywords, total_etv, volume_bands and rank_bands histograms, and vs_previous new/lost/improved/declined/same counts) that always reflects the FULL keyword set, while `keywords` returns only the top rows ranked by `sort` (etv default | volume | rank; default limit 10 per domain, max 100) with a `truncated` block (shown/matching_total/lost_total). rank is a POSITION: smaller is better, so a NEGATIVE rank_delta means the competitor's ranking IMPROVED (change ∈ new/improved/declined/same/unknown). Keywords the competitor ranked for before but lost are disclosed in `lost_keywords` (top 10 by previous etv), never dropped silently. Pass `domain` to focus one competitor, `min_volume` to drop low-volume keywords. When the site has NO completed research yet the response is { researched:false } with a `guidance` string explaining a research must be triggered from the dashboard first — this tool cannot start one. site_id is OPTIONAL when OAuth-authenticated. This is the external competitor lens (third-party SERP data); for YOUR OWN search performance use get_keyword_performance, and for your content playbook use get_content_actions.
只读
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'sort': {'enum': ['etv', 'volume', 'rank'], 'type': 'string'}, 'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1}, 'domain': {'type': 'string', 'minLength': 1}, 'site_id': {'type': 'string', 'format': 'uuid'}, 'min_volume': {'type': 'integer', 'minimum': 0}}, 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['researched', 'basis', 'assumptions', 'limitations'], 'properties': {'sort': {'enum': ['etv', 'volume', 'rank'], 'type': 'string'}, 'basis': {'type': 'string'}, 'limit': {'type': 'number'}, 'domains': {'type': 'array', 'items': {'type': 'object', 'required': ['domain', 'summary', 'previous', 'keywords', 'lost_keywords', 'truncated', 'warning'], 'properties': {'domain': {'type': 'string'}, 'summary': {'type': 'object', 'required': ['total_keywords', 'total_etv', 'volume_bands', 'rank_bands', 'vs_previous'], 'properties': {'total_etv': {'type': 'number'}, 'rank_bands': {'type': 'object', 'required': ['top3', 'rank4_10', 'rank11_20', 'rank21_50', 'rank51_plus', 'unranked'], 'properties': {'top3': {'type': 'number'}, 'rank4_10': {'type': 'number'}, 'unranked': {'type': 'number'}, 'rank11_20': {'type': 'number'}, 'rank21_50': {'type': 'number'}, 'rank51_plus': {'type': 'number'}}, 'additionalProperties': False}, 'vs_previous': {'anyOf': [{'type': 'object', 'required': ['new_count', 'lost_count', 'improved', 'declined', 'same'], 'properties': {'same': {'type': 'number'}, 'declined': {'type': 'number'}, 'improved': {'type': 'number'}, 'new_count': {'type': 'number'}, 'lost_count': {'type': 'number'}}, 'additionalProperties': False}, {'type': 'null'}]}, 'volume_bands': {'type': 'object', 'required': ['vol_1000_plus', 'vol_100_999', 'vol_under_100', 'vol_unknown'], 'properties': {'vol_100_999': {'type': 'number'}, 'vol_unknown': {'type': 'number'}, 'vol_1000_plus': {'type': 'number'}, 'vol_under_100': {'type': 'number'}}, 'additionalProperties': False}, 'total_keywords': {'type': 'number'}}, 'additionalProperties': False}, 'warning': {'type': ['string', 'null']}, 'keywords': {'type': 'array', 'items': {'type': 'object', 'required': ['keyword', 'rank', 'search_volume', 'cpc', 'etv', 'serp_url', 'serp_item_type', 'prev_rank', 'rank_delta', 'change'], 'properties': {'cpc': {'type': ['number', 'null']}, 'etv': {'type': ['number', 'null']}, 'rank': {'type': ['number', 'null']}, 'change': {'enum': ['new', 'improved', 'declined', 'same', 'unknown'], 'type': 'string'}, 'keyword': {'type': 'string'}, 'serp_url': {'type': ['string', 'null']}, 'prev_rank': {'type': ['number', 'null']}, 'rank_delta': {'type': ['number', 'null']}, 'search_volume': {'type': ['number', 'null']}, 'serp_item_type': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'previous': {'anyOf': [{'type': 'object', 'required': ['research_id', 'fetched_at'], 'properties': {'fetched_at': {'type': 'string'}, 'research_id': {'type': 'string'}}, 'additionalProperties': False}, {'type': 'null'}]}, 'truncated': {'type': 'object', 'required': ['shown', 'matching_total', 'lost_total'], 'properties': {'shown': {'type': 'number'}, 'lost_total': {'type': 'number'}, 'matching_total': {'type': 'number'}}, 'additionalProperties': False}, 'lost_keywords': {'type': 'array', 'items': {'type': 'object', 'required': ['keyword', 'prev_rank', 'search_volume', 'etv'], 'properties': {'etv': {'type': ['number', 'null']}, 'keyword': {'type': 'string'}, 'prev_rank': {'type': ['number', 'null']}, 'search_volume': {'type': ['number', 'null']}}, 'additionalProperties': False}}}, 'additionalProperties': False}}, 'guidance': {'type': 'string'}, 'fetched_at': {'type': 'string'}, 'min_volume': {'type': ['number', 'null']}, 'researched': {'type': 'boolean'}, 'assumptions': {'type': 'array', 'items': {'type': 'string'}}, 'limitations': {'type': 'array', 'items': {'type': 'string'}}, 'research_id': {'type': 'string'}, 'keyword_count': {'type': 'number'}, 'language_code': {'type': 'string'}, 'location_code': {'type': 'number'}, 'available_domains': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}
get_content_actions
Content actions (classify pages + playbook)
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. site_id is optional when OAuth-authenticated. Google Search only; data lags 1-2 days.
只读
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'maximum': 200, 'minimum': 1}, 'bucket': {'enum': ['decaying', 'striking', 'rising', 'dormant', 'stable'], 'type': 'string'}, 'site_id': {'type': 'string', 'format': 'uuid'}, 'end_date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$'}, 'start_date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$'}}, 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['site_id', 'period', 'window', 'session_window', 'basis', 'assumptions', 'limitations', 'criteria', 'bucket_summary', 'total_pages', 'pages'], 'properties': {'basis': {'type': 'string'}, 'pages': {'type': 'array', 'items': {'type': 'object', 'required': ['page', 'action', 'confidence', 'caveats', 'is_new', 'cur_clicks', 'cur_impressions', 'cur_position', 'prev_clicks', 'prev_impressions', 'prev_position', 'main_query_position', 'striking_uplift_clicks', 'striking_query_count', 'striking_queries', 'sessions', 'engaged', 'revenue_jpy', 'ai_sessions', 'ai_revenue_jpy', 'ai_sources', 'clicks_threshold', 'expected_sessions_gain', 'expected_revenue_gain'], 'properties': {'page': {'type': 'string'}, 'action': {'enum': ['decaying', 'striking', 'rising', 'dormant', 'stable'], 'type': 'string'}, 'is_new': {'type': 'boolean'}, 'caveats': {'type': 'array', 'items': {'enum': ['geo_winning_suspect', 'zero_click_suspect', 'ai_cited'], 'type': 'string'}}, 'engaged': {'type': 'number'}, 'sessions': {'type': 'number'}, 'ai_sources': {'type': 'array', 'items': {'type': 'string'}}, 'confidence': {'enum': ['high', 'low'], 'type': 'string'}, 'cur_clicks': {'type': 'number'}, 'ai_sessions': {'type': 'number'}, 'prev_clicks': {'type': ['number', 'null']}, 'revenue_jpy': {'type': 'number'}, 'cur_position': {'type': ['number', 'null']}, 'prev_position': {'type': ['number', 'null']}, 'ai_revenue_jpy': {'type': 'number'}, 'cur_impressions': {'type': 'number'}, 'clicks_threshold': {'type': 'number'}, 'prev_impressions': {'type': ['number', 'null']}, 'striking_queries': {'anyOf': [{'type': 'array', 'items': {'type': 'object', 'required': ['query', 'position', 'impressions', 'ctr', 'est_incremental_clicks'], 'properties': {'ctr': {'type': 'number'}, 'query': {'type': 'string'}, 'position': {'type': 'number'}, 'impressions': {'type': 'number'}, 'est_incremental_clicks': {'type': 'number'}}, 'additionalProperties': False}}, {'type': 'null'}]}, 'main_query_position': {'type': ['number', 'null']}, 'striking_query_count': {'type': 'number'}, 'expected_revenue_gain': {'type': ['number', 'null']}, 'expected_sessions_gain': {'type': 'number'}, 'striking_uplift_clicks': {'type': 'number'}}, 'additionalProperties': False}}, 'period': {'type': 'object', 'required': ['days'], 'properties': {'days': {'type': 'number'}}, 'additionalProperties': False}, 'window': {'type': 'object', 'required': ['current', 'previous'], 'properties': {'current': {'type': 'object', 'required': ['from', 'to'], 'properties': {'to': {'type': 'string'}, 'from': {'type': 'string'}}, 'additionalProperties': False}, 'previous': {'$ref': '#/properties/window/properties/current'}}, 'additionalProperties': False}, 'site_id': {'type': 'string'}, 'warning': {'type': 'string'}, 'criteria': {'type': 'object', 'required': ['provisional', 'comparison', 'significant_clicks_delta', 'position_worsening', 'striking_band', 'striking_clicks_below', 'dormant', 'landing_attribution', 'priority', 'expected_sessions_gain', 'expected_revenue_gain', 'caveat_flags'], 'properties': {'dormant': {'type': 'string'}, 'priority': {'type': 'string'}, 'comparison': {'type': 'string'}, 'provisional': {'type': 'boolean'}, 'caveat_flags': {'type': 'object', 'additionalProperties': {'type': 'string'}}, 'striking_band': {'type': 'object', 'required': ['position_min', 'position_max', 'min_impressions', 'target_position', 'target_ctr'], 'properties': {'target_ctr': {'type': 'number'}, 'position_max': {'type': 'number'}, 'position_min': {'type': 'number'}, 'min_impressions': {'type': 'number'}, 'target_position': {'type': 'number'}}, 'additionalProperties': False}, 'position_worsening': {'type': 'string'}, 'landing_attribution': {'type': 'string'}, 'expected_revenue_gain': {'type': 'string'}, 'striking_clicks_below': {'type': 'number'}, 'expected_sessions_gain': {'type': 'string'}, 'significant_clicks_delta': {'type': 'string'}}, 'additionalProperties': False}, 'truncated': {'type': 'object', 'required': ['omitted_pages', 'guidance'], 'properties': {'guidance': {'type': 'string'}, 'omitted_pages': {'type': 'number'}}, 'additionalProperties': False}, 'assumptions': {'type': 'array', 'items': {'type': 'string'}}, 'limitations': {'type': 'array', 'items': {'type': 'string'}}, 'total_pages': {'type': 'number'}, 'bucket_summary': {'type': 'object', 'required': ['decaying', 'striking', 'rising', 'dormant', 'stable'], 'properties': {'rising': {'$ref': '#/properties/bucket_summary/properties/decaying'}, 'stable': {'$ref': '#/properties/bucket_summary/properties/decaying'}, 'dormant': {'$ref': '#/properties/bucket_summary/properties/decaying'}, 'decaying': {'type': 'object', 'required': ['count', 'revenue_jpy', 'clicks'], 'properties': {'count': {'type': 'number'}, 'clicks': {'type': 'number'}, 'revenue_jpy': {'type': 'number'}}, 'additionalProperties': False}, 'striking': {'$ref': '#/properties/bucket_summary/properties/decaying'}}, 'additionalProperties': False}, 'session_window': {'type': 'object', 'required': ['basis', 'duration_days', 'duration_hours', 'from_relative', 'to_relative', 'exact_timestamps_available'], 'properties': {'basis': {'type': 'string', 'const': 'database_statement_time'}, 'to_relative': {'type': 'string', 'const': 'now()'}, 'duration_days': {'type': 'integer', 'maximum': 365, 'minimum': 2}, 'from_relative': {'type': 'string'}, 'duration_hours': {'type': 'integer', 'maximum': 8760, 'minimum': 48}, 'exact_timestamps_available': {'type': 'boolean', 'const': False}}, 'additionalProperties': False}}, 'additionalProperties': False}
get_keyword_performance
Search keyword performance
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 keeps the dashboard's rolling now-minus-30-days window. 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; it is not the best opportunity across all queries. 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.
只读
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'band': {'enum': ['all', 'striking'], 'type': 'string', 'default': 'all'}, 'limit': {'type': 'integer', 'maximum': 1000, 'minimum': 1}, 'site_id': {'type': 'string', 'format': 'uuid'}, 'end_date': {'$ref': '#/properties/start_date'}, 'start_date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$'}}, 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['site_id', 'band', 'period', 'previous_period', 'date_basis', 'timezone', 'source_windows', 'rows'], 'properties': {'band': {'enum': ['all', 'striking'], 'type': 'string'}, 'rows': {'anyOf': [{'type': 'array', 'items': {'type': 'object', 'required': ['query', 'clicks', 'impressions', 'ctr', 'avg_position', 'est_revenue_jpy', 'top_page', 'rps_search_jpy', 'clicks_change', 'est_revenue_change'], 'properties': {'ctr': {'type': 'number'}, 'query': {'type': 'string'}, 'clicks': {'type': 'number'}, 'top_page': {'type': ['string', 'null']}, 'impressions': {'type': 'number'}, 'avg_position': {'type': 'number'}, 'clicks_change': {'type': ['number', 'null']}, 'rps_search_jpy': {'type': 'number'}, 'est_revenue_jpy': {'type': 'number'}, 'est_revenue_change': {'type': ['number', 'null']}}, 'additionalProperties': False}}, {'type': 'array', 'items': {'type': 'object', 'required': ['query', 'avg_position', 'impressions', 'clicks', 'ctr', 'top_page', 'target_position', 'est_incremental_clicks', 'est_incremental_revenue_jpy', 'opportunity_score'], 'properties': {'ctr': {'type': 'number'}, 'query': {'type': 'string'}, 'clicks': {'type': 'number'}, 'top_page': {'type': ['string', 'null']}, 'impressions': {'type': 'number'}, 'avg_position': {'type': 'number'}, 'target_position': {'type': 'number'}, 'opportunity_score': {'type': 'number'}, 'est_incremental_clicks': {'type': 'number'}, 'est_incremental_revenue_jpy': {'type': 'number'}}, 'additionalProperties': False}}]}, 'basis': {'type': 'string'}, 'period': {'type': 'object', 'required': ['start', 'end', 'days'], 'properties': {'end': {'type': 'string'}, 'days': {'type': 'number'}, 'start': {'type': 'string'}}, 'additionalProperties': False}, 'site_id': {'type': 'string'}, 'warning': {'type': 'string'}, 'criteria': {'type': 'object', 'required': ['position_min', 'position_max', 'min_impressions', 'target_position'], 'properties': {'position_max': {'type': 'number'}, 'position_min': {'type': 'number'}, 'min_impressions': {'type': 'number'}, 'target_position': {'type': 'number'}}, 'additionalProperties': False}, 'timezone': {'type': 'string', 'const': 'Asia/Tokyo'}, 'truncated': {'anyOf': [{'type': 'object', 'required': ['shown', 'omitted_at_least', 'source_limited'], 'properties': {'shown': {'type': 'integer', 'minimum': 0}, 'source_limited': {'type': 'boolean'}, 'omitted_at_least': {'type': 'integer', 'minimum': 0}}, 'additionalProperties': False}, {'type': 'null'}]}, 'date_basis': {'type': 'string', 'const': 'jst_calendar_date'}, 'assumptions': {'type': 'array', 'items': {'type': 'string'}}, 'limitations': {'type': 'array', 'items': {'type': 'string'}}, 'rps_search_jpy': {'type': 'number'}, 'source_windows': {'type': 'object', 'required': ['current', 'previous', 'gsc_date_bounds', 'shared_jst_dates'], 'properties': {'current': {'type': 'object', 'required': ['p_from', 'p_to'], 'properties': {'p_to': {'type': 'string'}, 'p_from': {'type': 'string'}}, 'additionalProperties': False}, 'previous': {'$ref': '#/properties/source_windows/properties/current'}, 'gsc_date_bounds': {'type': 'string', 'const': 'inclusive'}, 'shared_jst_dates': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}, 'previous_period': {'$ref': '#/properties/period'}, 'revenue_estimate_basis': {'type': 'string'}}, 'additionalProperties': False}
get_metadata
RevenueScope metric definitions
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.
只读
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}, 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['metrics', 'states', 'measurement'], 'properties': {'states': {'type': 'object', 'additionalProperties': {'type': 'string'}}, 'metrics': {'type': 'object', 'additionalProperties': {'type': 'object', 'required': ['definition', 'scope'], 'properties': {'scope': {'type': 'string'}, 'definition': {'type': 'string'}}, 'additionalProperties': False}}, 'measurement': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}
get_page_trend
Page search trend over time
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. Omitting both 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. Buckets without GSC rows are omitted. Google-search only; data lags 1-2 days. site_id is optional when OAuth-authenticated. For cross-page snapshots use get_breakdown(dimension='page'); for query trends use get_keyword_performance.
只读
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['page'], 'properties': {'page': {'type': 'string', 'minLength': 1}, 'site_id': {'type': 'string', 'format': 'uuid'}, 'end_date': {'$ref': '#/properties/start_date'}, 'start_date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$'}, 'granularity': {'enum': ['day', 'week'], 'type': 'string'}}, 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['site_id', 'page', 'period', 'granularity', 'basis', 'assumptions', 'limitations', 'series', 'summary'], 'properties': {'page': {'type': 'string'}, 'basis': {'type': 'string'}, 'period': {'type': 'object', 'required': ['start', 'end', 'days'], 'properties': {'end': {'type': 'string'}, 'days': {'type': 'number'}, 'start': {'type': 'string'}}, 'additionalProperties': False}, 'series': {'type': 'array', 'items': {'type': 'object', 'required': ['date', 'clicks', 'impressions', 'avg_position'], 'properties': {'date': {'type': 'string'}, 'clicks': {'type': 'number'}, 'impressions': {'type': 'number'}, 'avg_position': {'type': ['number', 'null']}}, 'additionalProperties': False}}, 'site_id': {'type': 'string'}, 'summary': {'type': 'object', 'required': ['buckets', 'position_first', 'position_last', 'position_delta', 'position_best', 'position_worst', 'clicks_total', 'impressions_total'], 'properties': {'buckets': {'type': 'number'}, 'clicks_total': {'type': 'number'}, 'position_best': {'type': ['number', 'null']}, 'position_last': {'type': ['number', 'null']}, 'position_delta': {'type': ['number', 'null']}, 'position_first': {'type': ['number', 'null']}, 'position_worst': {'type': ['number', 'null']}, 'impressions_total': {'type': 'number'}}, 'additionalProperties': False}, 'warning': {'type': 'string'}, 'assumptions': {'type': 'array', 'items': {'type': 'string'}}, 'granularity': {'enum': ['day', 'week'], 'type': 'string'}, 'limitations': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}
get_priority_insights
Top priority insights (stopped)
STOPPED. This tool no longer returns insights: its old rules (ROAS, saturation) do not match the renewed RevenueScope dashboard. It always returns status='stopped' with the reason and the tools to use instead (get_summary for period KPIs, get_breakdown for channel / entry-page / visitor-history changes). Do not present anything from this tool as a recommendation.
只读
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'site_id': {'type': 'string', 'format': 'uuid'}}, 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['site_id', 'tool', 'status', 'stopped_reason', 'alternatives', 'resume_plan'], 'properties': {'tool': {'type': 'string', 'const': 'get_priority_insights'}, 'status': {'type': 'string', 'const': 'stopped'}, 'site_id': {'type': 'string'}, 'resume_plan': {'type': ['string', 'null']}, 'alternatives': {'type': 'array', 'items': {'type': 'object', 'required': ['tool', 'use_for'], 'properties': {'tool': {'type': 'string'}, 'use_for': {'type': 'string'}}, 'additionalProperties': False}}, 'stopped_reason': {'type': 'string'}}, 'additionalProperties': False}
get_summary
Site KPI summary
Return headline KPIs (revenue, 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. Revenue-dependent metrics 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. Paid Attribution ROAS is unavailable. Optional country (ISO2) and device filters scope session-derived metrics. site_id is optional when OAuth-authenticated.
只读
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'device': {'enum': ['mobile', 'desktop', 'tablet'], 'type': 'string'}, 'country': {'type': 'string', 'maxLength': 2, 'minLength': 2}, 'site_id': {'type': 'string', 'format': 'uuid'}, 'end_date': {'$ref': '#/properties/start_date'}, 'start_date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$'}, 'compare_end_date': {'$ref': '#/properties/start_date'}, 'compare_start_date': {'$ref': '#/properties/start_date'}}, 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['site_id', 'revenue_status', 'period_observation_status', 'is_demo', 'comparison_status', 'bot_excluded_count', 'period', 'previous_period', 'data_freshness', 'period_boundary_definitions', 'basis', 'kpis', 'trend', 'previous_trend', 'path_recommendation', 'ad_spend_data_status', 'connected_channels', 'ad_spend_channels_in_period', 'ad_spend_rows_in_period', 'presentation_hints'], 'properties': {'kpis': {'type': 'object', 'required': ['revenue', 'sessions', 'rps', 'aov', 'cvr', 'avg_duration', 'bounce_rate', 'scroll_depth', 'avg_duration_depth_basis', 'median_duration_depth_basis', 'median_scroll_depth', 'roas'], 'properties': {'aov': {'$ref': '#/properties/kpis/properties/revenue'}, 'cvr': {'$ref': '#/properties/kpis/properties/revenue'}, 'rps': {'$ref': '#/properties/kpis/properties/revenue'}, 'roas': {'type': 'null'}, 'revenue': {'type': 'object', 'required': ['value', 'previous', 'change'], 'properties': {'value': {'type': ['number', 'null']}, 'change': {'type': ['number', 'null']}, 'previous': {'type': ['number', 'null']}}, 'additionalProperties': False}, 'sessions': {'$ref': '#/properties/kpis/properties/revenue'}, 'bounce_rate': {'$ref': '#/properties/kpis/properties/revenue'}, 'avg_duration': {'$ref': '#/properties/kpis/properties/revenue'}, 'scroll_depth': {'anyOf': [{'$ref': '#/properties/kpis/properties/revenue'}, {'type': 'null'}]}, 'median_scroll_depth': {'anyOf': [{'$ref': '#/properties/kpis/properties/avg_duration_depth_basis/anyOf/0'}, {'type': 'null'}]}, 'avg_duration_depth_basis': {'anyOf': [{'type': 'object', 'required': ['value', 'previous', 'change'], 'properties': {'value': {'type': 'number'}, 'change': {'type': ['number', 'null']}, 'previous': {'type': ['number', 'null']}}, 'additionalProperties': False}, {'type': 'null'}]}, 'median_duration_depth_basis': {'anyOf': [{'$ref': '#/properties/kpis/properties/avg_duration_depth_basis/anyOf/0'}, {'type': 'null'}]}}, 'additionalProperties': False}, 'basis': {'type': 'string'}, 'notes': {'type': 'array', 'items': {'type': 'string'}}, 'trend': {'type': 'array', 'items': {'type': 'object', 'required': ['date', 'revenue', 'cumulative_revenue', 'sessions', 'conversions', 'cvr'], 'properties': {'cvr': {'type': ['number', 'null']}, 'date': {'type': 'string'}, 'revenue': {'type': ['number', 'null']}, 'sessions': {'type': 'number'}, 'conversions': {'type': 'number'}, 'cumulative_revenue': {'type': ['number', 'null']}}, 'additionalProperties': False}}, 'period': {'type': 'object', 'required': ['start', 'end', 'days', 'reference_start_at', 'reference_end_at', 'window_type', 'reference_bounds', 'timezone', 'duration_hours', 'calendar_dates_touched', 'source_alignment', 'source_boundaries'], 'properties': {'end': {'type': 'string'}, 'days': {'type': 'number'}, 'start': {'type': 'string'}, 'timezone': {'type': 'string'}, 'window_type': {'enum': ['rolling', 'calendar_to_date', 'comparison', 'calendar_range'], 'type': 'string'}, 'duration_hours': {'type': 'number'}, 'reference_bounds': {'type': 'string', 'const': 'start_inclusive_end_exclusive'}, 'reference_end_at': {'type': 'string', 'format': 'date-time'}, 'source_alignment': {'enum': ['exact', 'mixed'], 'type': 'string'}, 'source_boundaries': {'type': 'array', 'items': {'type': 'object', 'required': ['applies_to', 'boundary'], 'properties': {'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'}, 'applies_to': {'type': 'array', 'items': {'type': 'string'}, 'minItems': 1}}, 'additionalProperties': False}}, 'reference_start_at': {'type': 'string', 'format': 'date-time'}, 'calendar_dates_touched': {'type': 'integer', 'minimum': 0}}, 'additionalProperties': False}, 'is_demo': {'type': 'boolean'}, 'site_id': {'type': 'string'}, 'data_freshness': {'type': 'object', 'required': ['generated_at', 'provisional', 'may_change_because', 'bot_classification_delay_minutes_max_by_rule', 'bot_classification_delay_definitions', 'delay_bounds_assume_scheduled_jobs_operational'], 'properties': {'provisional': {'type': 'boolean', 'const': True}, 'generated_at': {'type': 'string', 'format': 'date-time'}, 'may_change_because': {'type': 'array', 'items': {'enum': ['live_ingestion', 'open_window', 'moving_window', 'delayed_bot_classification'], 'type': 'string'}}, 'bot_classification_delay_definitions': {'type': 'object', 'required': ['burst_cluster_primary', 'burst_cluster_fallback', 'single_page_zero_dwell'], 'properties': {'burst_cluster_primary': {'type': 'string'}, 'burst_cluster_fallback': {'type': 'string'}, 'single_page_zero_dwell': {'type': 'string'}}, 'additionalProperties': False}, 'bot_classification_delay_minutes_max_by_rule': {'type': 'object', 'required': ['burst_cluster_primary', 'burst_cluster_fallback', 'single_page_zero_dwell'], 'properties': {'burst_cluster_primary': {'type': 'number', 'const': 20}, 'burst_cluster_fallback': {'type': 'number', 'const': 480}, 'single_page_zero_dwell': {'type': 'number', 'const': 480}}, 'additionalProperties': False}, 'delay_bounds_assume_scheduled_jobs_operational': {'type': 'boolean', 'const': True}}, 'additionalProperties': False}, 'previous_trend': {'anyOf': [{'type': 'array', 'items': {'type': 'object', 'required': ['date', 'revenue', 'cumulative_revenue', 'sessions', 'conversions', 'cvr'], 'properties': {'cvr': {'type': ['number', 'null']}, 'date': {'type': 'string'}, 'revenue': {'type': ['number', 'null']}, 'sessions': {'type': 'number'}, 'conversions': {'type': 'number'}, 'cumulative_revenue': {'type': ['number', 'null']}}, 'additionalProperties': False}}, {'type': 'null'}]}, 'revenue_status': {'enum': ['confirmed', 'unconfirmed'], 'type': 'string'}, 'previous_period': {'$ref': '#/properties/period'}, 'comparison_status': {'enum': ['available', 'unavailable'], 'type': 'string'}, 'bot_excluded_count': {'type': ['number', 'null']}, 'connected_channels': {'type': 'array', 'items': {'type': 'string'}}, 'presentation_hints': {'type': 'object', 'required': ['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'], 'properties': {'show_trend': {'type': 'boolean'}, 'response_type': {'enum': ['analytics_summary', 'analytics_breakdown', 'priority_insights', 'analytics_today'], 'type': 'string'}, 'primary_metric': {'type': 'string'}, 'show_breakdown': {'type': 'boolean'}, 'avoid_long_prose': {'type': 'boolean', 'const': True}, 'recommended_sections': {'type': 'array', 'items': {'enum': ['kpi_summary', 'trend', 'ad_spend_context', 'breakdown', 'priority_insights', 'recommended_actions'], 'type': 'string'}}, 'show_period_comparison': {'type': 'boolean'}, 'show_priority_insights': {'type': 'boolean'}, 'recommended_followup_tools': {'type': 'array', 'items': {'enum': ['get_breakdown', 'get_priority_insights', 'get_summary'], 'type': 'string'}}, 'prefer_compact_visual_summary': {'type': 'boolean', 'const': True}}, 'additionalProperties': False}, 'path_recommendation': {'enum': ['A', 'B'], 'type': 'string'}, 'ad_spend_data_status': {'enum': ['connected', 'pending', 'none'], 'type': 'string'}, 'ad_spend_rows_in_period': {'type': 'number'}, 'period_observation_status': {'enum': ['observed', 'no_observation'], 'type': 'string'}, 'ad_spend_channels_in_period': {'type': 'array', 'items': {'type': 'string'}}, 'period_boundary_definitions': {'type': 'object', 'required': ['path_syntax', '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'], 'properties': {'path_syntax': {'type': 'string', 'const': 'dot_path_with_array_wildcard'}, 'defined_per_output_item': {'type': 'string'}, 'reference_timestamp_window': {'type': 'string'}, 'jst_calendar_dates_inclusive': {'type': 'string'}, 'derived_previous_daily_window': {'type': 'string'}, 'database_statement_time_window': {'type': 'string'}, 'derived_from_current_and_previous': {'type': 'string'}, 'account_registry_not_period_scoped': {'type': 'string'}, 'jst_calendar_dates_from_reference_start': {'type': 'string'}, 'jst_calendar_dates_from_database_window_start': {'type': 'string'}}, 'additionalProperties': False}}, 'additionalProperties': False}
get_today
Today's activity
Return today's activity for a site, matching the RevenueScope 今日の状況 screen. Today is the site's timezone from 00:00 to now; values are provisional. Purchase events are observed events, not confirmed orders; unverified revenue and unavailable sections are not zero. Sample-site values do not match the screen's fixed sample data. 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.
只读
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'site_id': {'type': 'string', 'format': 'uuid'}}, 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['site_id', 'is_demo', 'measurement_status', 'revenue_status', 'period_observation_status', 'period', 'data_freshness', 'period_boundary_definitions', 'basis', 'kpis', 'not_provided', 'channels', 'ai_channels', 'entry_pages', 'visitor_history', 'notes', 'presentation_hints'], 'properties': {'kpis': {'type': 'object', 'required': ['sessions', 'rs_observed_revenue_jpy', 'purchase_events', 'bot_excluded_count', 'new_sessions', 'returning_sessions'], 'properties': {'sessions': {'type': ['number', 'null']}, 'new_sessions': {'type': ['number', 'null']}, 'purchase_events': {'type': ['number', 'null']}, 'bot_excluded_count': {'type': ['number', 'null']}, 'returning_sessions': {'type': ['number', 'null']}, 'rs_observed_revenue_jpy': {'type': ['number', 'null']}}, 'additionalProperties': False}, 'basis': {'type': 'string'}, 'notes': {'type': 'array', 'items': {'type': 'string'}}, 'period': {'type': 'object', 'required': ['start', 'end', 'days', 'reference_start_at', 'reference_end_at', 'window_type', 'reference_bounds', 'timezone', 'duration_hours', 'calendar_dates_touched', 'source_alignment', 'source_boundaries'], 'properties': {'end': {'type': 'string'}, 'days': {'type': 'number'}, 'start': {'type': 'string'}, 'timezone': {'type': 'string'}, 'window_type': {'enum': ['rolling', 'calendar_to_date', 'comparison', 'calendar_range'], 'type': 'string'}, 'duration_hours': {'type': 'number'}, 'reference_bounds': {'type': 'string', 'const': 'start_inclusive_end_exclusive'}, 'reference_end_at': {'type': 'string', 'format': 'date-time'}, 'source_alignment': {'enum': ['exact', 'mixed'], 'type': 'string'}, 'source_boundaries': {'type': 'array', 'items': {'type': 'object', 'required': ['applies_to', 'boundary'], 'properties': {'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'}, 'applies_to': {'type': 'array', 'items': {'type': 'string'}, 'minItems': 1}}, 'additionalProperties': False}}, 'reference_start_at': {'type': 'string', 'format': 'date-time'}, 'calendar_dates_touched': {'type': 'integer', 'minimum': 0}}, 'additionalProperties': False}, 'is_demo': {'type': 'boolean'}, 'site_id': {'type': 'string'}, 'channels': {'type': 'object', 'required': ['status', 'rows'], 'properties': {'rows': {'type': 'array', 'items': {'type': 'object', 'required': ['channel', 'sessions', 'revenue_jpy', 'avg_duration_seconds', 'bounce_rate', 'pages_per_session'], 'properties': {'channel': {'type': 'string'}, 'sessions': {'type': 'number'}, 'bounce_rate': {'type': ['number', 'null']}, 'revenue_jpy': {'type': ['number', 'null']}, 'pages_per_session': {'type': 'null'}, 'avg_duration_seconds': {'type': ['number', 'null']}}, 'additionalProperties': False}}, 'status': {'enum': ['available', 'error', 'not_started'], 'type': 'string'}}, 'additionalProperties': False}, 'ai_channels': {'type': 'object', 'required': ['status', 'rows', 'note'], 'properties': {'note': {'type': 'string'}, 'rows': {'type': 'array', 'items': {'$ref': '#/properties/channels/properties/rows/items'}}, 'status': {'$ref': '#/properties/channels/properties/status'}}, 'additionalProperties': False}, 'entry_pages': {'type': 'object', 'required': ['status', 'row_limit', 'may_have_more', 'omitted_for_size', 'rows'], 'properties': {'rows': {'type': 'array', 'items': {'type': 'object', 'required': ['page', 'sessions', 'revenue_jpy', 'avg_duration_seconds', 'bounce_rate', 'pages_per_session'], 'properties': {'page': {'type': 'string'}, 'sessions': {'type': 'number'}, 'bounce_rate': {'type': ['number', 'null']}, 'revenue_jpy': {'type': ['number', 'null']}, 'pages_per_session': {'type': ['number', 'null']}, 'avg_duration_seconds': {'type': ['number', 'null']}}, 'additionalProperties': False}}, 'status': {'$ref': '#/properties/channels/properties/status'}, 'row_limit': {'type': 'number'}, 'may_have_more': {'type': 'boolean'}, 'omitted_for_size': {'type': 'number'}}, 'additionalProperties': False}, 'not_provided': {'type': 'array', 'items': {'type': 'object', 'required': ['item', 'reason'], 'properties': {'item': {'type': 'string'}, 'reason': {'type': 'string'}}, 'additionalProperties': False}}, 'data_freshness': {'type': 'object', 'required': ['generated_at', 'provisional', 'may_change_because', 'bot_classification_delay_minutes_max_by_rule', 'bot_classification_delay_definitions', 'delay_bounds_assume_scheduled_jobs_operational'], 'properties': {'provisional': {'type': 'boolean', 'const': True}, 'generated_at': {'type': 'string', 'format': 'date-time'}, 'may_change_because': {'type': 'array', 'items': {'enum': ['live_ingestion', 'open_window', 'moving_window', 'delayed_bot_classification'], 'type': 'string'}}, 'bot_classification_delay_definitions': {'type': 'object', 'required': ['burst_cluster_primary', 'burst_cluster_fallback', 'single_page_zero_dwell'], 'properties': {'burst_cluster_primary': {'type': 'string'}, 'burst_cluster_fallback': {'type': 'string'}, 'single_page_zero_dwell': {'type': 'string'}}, 'additionalProperties': False}, 'bot_classification_delay_minutes_max_by_rule': {'type': 'object', 'required': ['burst_cluster_primary', 'burst_cluster_fallback', 'single_page_zero_dwell'], 'properties': {'burst_cluster_primary': {'type': 'number', 'const': 20}, 'burst_cluster_fallback': {'type': 'number', 'const': 480}, 'single_page_zero_dwell': {'type': 'number', 'const': 480}}, 'additionalProperties': False}, 'delay_bounds_assume_scheduled_jobs_operational': {'type': 'boolean', 'const': True}}, 'additionalProperties': False}, 'revenue_status': {'enum': ['confirmed', 'unconfirmed'], 'type': 'string'}, 'visitor_history': {'type': 'object', 'required': ['status'], 'properties': {'status': {'$ref': '#/properties/channels/properties/status'}}, 'additionalProperties': False}, 'measurement_status': {'enum': ['active', 'not_started'], 'type': 'string'}, 'presentation_hints': {'type': 'object', 'required': ['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'], 'properties': {'show_trend': {'type': 'boolean'}, 'response_type': {'enum': ['analytics_summary', 'analytics_breakdown', 'priority_insights', 'analytics_today'], 'type': 'string'}, 'primary_metric': {'type': 'string'}, 'show_breakdown': {'type': 'boolean'}, 'avoid_long_prose': {'type': 'boolean', 'const': True}, 'recommended_sections': {'type': 'array', 'items': {'enum': ['kpi_summary', 'trend', 'ad_spend_context', 'breakdown', 'priority_insights', 'recommended_actions'], 'type': 'string'}}, 'show_period_comparison': {'type': 'boolean'}, 'show_priority_insights': {'type': 'boolean'}, 'recommended_followup_tools': {'type': 'array', 'items': {'enum': ['get_breakdown', 'get_priority_insights', 'get_summary'], 'type': 'string'}}, 'prefer_compact_visual_summary': {'type': 'boolean', 'const': True}}, 'additionalProperties': False}, 'period_observation_status': {'enum': ['observed', 'no_observation'], 'type': 'string'}, 'period_boundary_definitions': {'type': 'object', 'required': ['path_syntax', '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'], 'properties': {'path_syntax': {'type': 'string', 'const': 'dot_path_with_array_wildcard'}, 'defined_per_output_item': {'type': 'string'}, 'reference_timestamp_window': {'type': 'string'}, 'jst_calendar_dates_inclusive': {'type': 'string'}, 'derived_previous_daily_window': {'type': 'string'}, 'database_statement_time_window': {'type': 'string'}, 'derived_from_current_and_previous': {'type': 'string'}, 'account_registry_not_period_scoped': {'type': 'string'}, 'jst_calendar_dates_from_reference_start': {'type': 'string'}, 'jst_calendar_dates_from_database_window_start': {'type': 'string'}}, 'additionalProperties': False}}, 'additionalProperties': False}
list_sites
List available sites
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.
只读
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}, 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['my_sites', 'demo_sites', 'note'], 'properties': {'note': {'type': 'string'}, 'my_sites': {'type': 'array', 'items': {'type': 'object', 'required': ['site_id', 'name', 'domain', 'is_primary', 'created_at', 'timezone', 'today', 'is_demo'], 'properties': {'name': {'type': 'string'}, 'today': {'type': 'string'}, 'domain': {'type': 'string'}, 'is_demo': {'type': 'boolean'}, 'site_id': {'type': 'string'}, 'timezone': {'type': 'string'}, 'created_at': {'type': 'string'}, 'is_primary': {'type': 'boolean'}}, 'additionalProperties': False}}, 'demo_sites': {'type': 'array', 'items': {'type': 'object', 'required': ['site_id', 'label', 'timezone', 'today', 'is_demo'], 'properties': {'label': {'type': 'string'}, 'today': {'type': 'string'}, 'is_demo': {'type': 'boolean'}, 'site_id': {'type': 'string'}, 'timezone': {'type': 'string'}}, 'additionalProperties': False}}}, 'additionalProperties': False}
suggest_budget_allocation
Suggest budget allocation (stopped)
STOPPED. This tool no longer returns a budget split: the old method relied on revenue ÷ ad spend, which the renewed RevenueScope dashboard does not treat as Paid Attribution ROAS. It always returns status='stopped' with the reason, the alternative (get_breakdown lists each channel's ad spend next to candidate paid-session revenue, not as ROAS) and the resume plan (a new method after paid-traffic classification). Do not present anything from this tool as a recommendation.
只读
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'site_id': {'type': 'string', 'format': 'uuid'}, 'monthly_budget_jpy': {'type': 'number'}}, 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['site_id', 'tool', 'status', 'stopped_reason', 'alternatives', 'resume_plan'], 'properties': {'tool': {'type': 'string', 'const': 'suggest_budget_allocation'}, 'status': {'type': 'string', 'const': 'stopped'}, 'site_id': {'type': 'string'}, 'resume_plan': {'type': ['string', 'null']}, 'alternatives': {'type': 'array', 'items': {'type': 'object', 'required': ['tool', 'use_for'], 'properties': {'tool': {'type': 'string'}, 'use_for': {'type': 'string'}}, 'additionalProperties': False}}, 'stopped_reason': {'type': 'string'}}, 'additionalProperties': False}
已更改
get_breakdown
2026年10月1日 02:50
已更改
get_content_actions
2026年9月29日 02:58
已更改
get_page_trend
2026年9月29日 02:58
已更改
suggest_budget_allocation
2026年9月29日 02:58
已更改
get_priority_insights
2026年9月29日 02:58
已更改
get_ai_traffic
2026年9月29日 02:58
已更改
get_keyword_performance
2026年9月29日 02:58
已更改
get_breakdown
2026年9月29日 02:58
已添加
get_today
2026年9月29日 02:58
已更改
get_summary
2026年9月29日 02:58
已添加
get_metadata
2026年9月29日 02:58
已更改
list_sites
2026年9月29日 02:58
已更改
get_priority_insights
2026年9月27日 02:49
已更改
get_breakdown
2026年9月27日 02:49
已更改
get_summary
2026年9月27日 02:49
已添加
get_competitor_keywords
2026年9月17日 12:52
已添加
get_content_actions
2026年9月17日 12:52
已添加
get_page_trend
2026年9月17日 12:52
已添加
suggest_budget_allocation
2026年9月17日 12:52
已添加
get_priority_insights
2026年9月17日 12:52
已添加
get_ai_traffic
2026年9月17日 12:52
已添加
get_keyword_performance
2026年9月17日 12:52
已添加
get_breakdown
2026年9月17日 12:52
已添加
get_summary
2026年9月17日 12:52
已添加
list_sites
2026年9月17日 12:52