io.github.toshihiroshishido/revenuescope-mcp

RevenueScope: revenue-first analytics for your EC site

Ask AI about your EC site's revenue by channel, RPS/AOV/CVR, search & AI traffic, budget split.

1.9.1
Version
remote
Transport
10
Tools

Security review

Review passed

Reviewed Jan 1, 2000.

  • tools: 10 tools scanned
  • metadata: scanned

No findings.

Tools (10)

  • list_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.

  • get_metadata

    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.

  • get_summary

    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. Re

  • get_today

    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.

  • get_breakdown

    `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, an

  • get_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 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 G

  • get_ai_traffic

    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

  • get_page_trend

    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

  • get_content_actions

    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

  • get_competitor_keywords

    Return the latest competitor SEO snapshot for the site 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 RevenueScope app by 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