MCP App Store
by KeenEthics

Overview

1stPage connects ChatGPT to the Amazon Seller Central and Vendor Central accounts you have linked to 1stPage, so you can ask about your business in plain language. Ask why sales moved last week, which products drive growth or decline, how today's sales are pacing, how your Sponsored Products, Brands and Display campaigns perform, which search terms waste spend, what share of search you win in Amazon's Search Query Performance data, which products are at risk of stocking out, and which listings need content fixes. You can also set up recurring reports delivered by email or Slack, configure alerts, and manage organic keyword rank tracking. For Amazon sellers, vendors and the agencies that manage their accounts. Requires a 1stPage account with at least one connected Amazon account; you only see accounts your 1stPage user can access. Data follows Amazon's reporting schedules, so the most recent one to three days can still change. 1stPage reads your Amazon data and does not change prices, listings or campaigns on Amazon.

Tools

advertising_analytics

ChatGPT
Amazon Advertising analytics (Sponsored Products / Brands / Display) — spend, sales, ACOS, ROAS, keywords, targeting, search terms, optimization opportunities, and change history. Select a report via dataset. List datasets support limit/offset/cursor pagination and return a pagination block.

amc_estimate_audience

ChatGPT
Start a size estimate for an AMC audience: an audience template (template_key from amc_list_templates, kind audience) with parameters, or custom audience SQL that SELECTs user_id FROM *_for_audiences tables (e.g. conversions_for_audiences, sponsored_ads_traffic_for_audiences, amazon_attributed_events_by_conversion_time_for_audiences). The same logic runs over the measurement tables and counts users. Read audience_size with amc_get_query_result; Amazon needs at least 2,000 users before an audience can be created from this estimate (its estimate_execution_id).

amc_get_query_result

ChatGPT
Status and rows of an AMC execution (from amc_run_query or amc_estimate_audience). While status is queued/pending/running there are no rows yet: check again later. Rows are strings as AMC wrote them; an empty value is an aggregation-threshold suppression, not zero. Results keep at most 5,000 rows (truncated: true). For an audience estimate, audience_size is the count.

amc_list_audiences

ChatGPT
List the AMC audiences created from 1stPage for a marketplace, with status refreshed from Amazon (submitting, pending, running, succeeded, failed), estimated size, refresh cadence and who created them.

amc_list_saved_queries

ChatGPT
List the saved AMC reports/queries for a marketplace (the ones on the AMC Reports & Queries page), with their SQL, parameters, window and latest run. Run one with amc_run_query(query_id).

amc_list_templates

ChatGPT
List the tested AMC Studio templates: query templates (reports you can run with amc_run_query), audience templates (for amc_estimate_audience and creating audiences) and the built-in dashboard reports. Each has its typed parameters, default window, output columns, and whether this instance can run it.

amc_report

ChatGPT
A built-in AMC Insights report from the latest stored AMC run (never waits on Amazon): overview (KPIs, insights, coverage, data gaps), new_to_brand (NTB vs repeat by campaign and ad type, cost per NTB customer), paths (ad-type combinations, touches, time from last touch to purchase, first vs last touch), customer_value (repeat purchase cohorts of NTB customers). A payload with state means the report is not ready yet.

amc_run_query

ChatGPT
Start an AMC query: a template (template_key + parameters), a saved query (query_id), or custom SQL, over a window. AMC takes 1-20 minutes. Pass wait_seconds (up to 90) when the user wants to see the results now: the call waits and returns the rows if the query finishes in time. Otherwise it returns the execution id; tell the user the query is still running and fetch it later with amc_get_query_result. At most 3 custom queries run per instance at a time (error amc_busy). AMC SQL (read-only, Presto-like; AMC applies the run window to every table, so no date filter is needed). Tables: sponsored_ads_traffic (user_id, event_dt, event_date, event_hour, ad_product_type = sponsored_products|sponsored_brands|sponsored_display, campaign, campaign_id, impressions, clicks, spend in microcents, customer_search_term, creative_asin); amazon_attributed_events_by_traffic_time and amazon_attributed_events_by_conversion_time (user_id, traffic_event_dt, conversion_event_dt, conversion_event_date, ad_product_type, campaign, campaign_id, tracked_asin, purchases, product_sales, total_purchases incl. brand halo, new_to_brand, customer_search_term, add_to_cart, detail_page_view); conversions (all brand events of ad-exposed users: user_id, event_dt_utc, event_date_utc, event_subtype = order|shoppingCart|detailPageView|..., tracked_item = the ASIN for every subtype (tracked_asin only on orders), conversions, total_product_sales, new_to_brand). Privacy: the final SELECT must be aggregated; use user_id only inside CTEs/joins and COUNT(DISTINCT user_id). Rows with too few users come back with blank dimension values (aggregation threshold), so roll small groups up. Gotchas: no MONTHS_BETWEEN (use SECONDS_BETWEEN(a, b) or DATE_TRUNC); month is reserved (alias as mo); conversions has event_dt_utc, not event_dt; EXTRACT(DOW ...) is 1 = Sunday; DSP tables and conversions_all (FSI) exist only when the instance has those datasets; *_for_audiences tables are for audiences only.

amc_save_query

ChatGPT
Save a named AMC report (a template with parameters, or custom SQL, plus its window) so it appears on the AMC Reports & Queries page and can be re-run; pass query_id to update an existing one. Saving does not run it: use amc_run_query(query_id) for that. Validate custom SQL first by running it.

amc_status

ChatGPT
Amazon Marketing Cloud (AMC) status for a marketplace: the linked AMC instance, its datasets (DSP, FSI), whether the AMC terms are accepted, each dashboard report's latest run, and the date the data runs to. Call this first for any AMC question.

brand_analytics

ChatGPT
Amazon Brand Analytics — Search Query Performance (SQP) and the ICAP funnel. Use for search-share, keyword-ranking, and search-funnel questions: "which keywords drive my ASIN", "how do I rank for a term", "am I gaining or losing search share", "which keywords should I advertise". Works for seller accounts and for vendor accounts with SQP reports enabled. Select a report via dataset. Weekly data; list datasets paginate via limit/offset or cursor.

create_schedule

ChatGPT
Create a recurring 1stPage report: 1stPage runs the saved prompt on schedule and delivers the answer by email and/or Slack to the emails and/or slack_channel_ids you pass. Use for "send/email me this report every day at 8am", "weekly digest to Slack". Times are LOCAL to the given IANA timezone (DST-safe). If the user gives no timezone and none is on their profile, ask for it. If the user has not stated WHERE to deliver (a concrete email address and/or Slack channel), ask — never invent or reuse an address they did not give. When writing the saved prompt, prefer "the most recent complete day" over a literal "yesterday" — settled Amazon reports lag 2-3 days and phrasing it this way keeps every occurrence useful. Always confirm the resolved schedule (time + timezone + next run) back to the user. Scheduled runs can only READ data — the saved prompt cannot change settings or create further schedules.

delete_schedule

ChatGPT
Permanently delete a recurring 1stPage report. This cannot be undone; pause_schedule stops a report and keeps it. Use for "delete my weekly digest". Call list_schedules first to get the schedule_id, and confirm with the user before deleting.

inventory_analytics

ChatGPT
Customer Amazon Inventory data for seller and vendor accounts. Select health, restock, merchant_items, sales_summary, open_shipments, awd_shipments, category_forecasts, or storage_fees.

list_accounts

ChatGPT
List all Amazon seller accounts the user has access to, along with their marketplaces. Use this first to discover available account_id and market_place_id values before calling other tools. Accounts may carry a user-assigned nickname — when the user refers to an account by a familiar name, match it against both nickname and name.

list_notifications

ChatGPT
List the notification/alert settings for an account — every available notification type with whether it is configured, enabled or muted, and where it is delivered (email addresses and Slack channel IDs). Use this for "what alerts do I have set up", "is the out-of-stock alert on", or before changing anything with set_notification. IMPORTANT: report counts and which alerts are on/off from the summary object (total, enabled, disabled, enabled_names, disabled_names) — do not tally data yourself.

list_schedules

ChatGPT
List the user's scheduled tasks (recurring AI reports delivered by email/Slack) with their schedule, delivery targets, status, and last run outcome. Use this for "what schedules do I have", "did my digest run", "why didn't I get my report", and always before updating, pausing, resuming or deleting a schedule to get its schedule_id.

listing_quality

ChatGPT
Read the deterministic Listing Quality scorecard, ASIN findings, scan freshness, and human-approved Amazon update queue. Scores are point-in-time structural checks, not AI judgments. The summary labels the strict complete-data score and coverage, a broader provisional score when partial-source listings are available, and current processing/backoff state. Use view=summary for the account score, items for ranked ASINs, item for one ASIN, updates for the write queue, or update for one queued change.

pause_schedule

ChatGPT
Pause a recurring 1stPage report: it stops running and delivering until resume_schedule turns it back on. Use for "pause my daily digest", "stop the weekly report for now". Call list_schedules first to get the schedule_id, and confirm the new status back to the user.

rank_tracking_add_keywords

ChatGPT
Add keywords for Amazon organic keyword tracking. Use brand discovery for IDs and supported profile. Reads return stored observations and never trigger paid searches. Adding active keywords schedules future daily checks against selected owned ASINs and consumes tracking allowance. Mutations require company admin and keyword_tracking:write; use dry_run to preview. Required scope: keyword_tracking:write.

rank_tracking_brands

ChatGPT
Brands for Amazon organic keyword tracking. Use brand discovery for IDs and supported profile. Reads return stored observations and never trigger paid searches. Adding active keywords schedules future daily checks against selected owned ASINs and consumes tracking allowance. Mutations require company admin and keyword_tracking:write; use dry_run to preview. Required scope: read.

rank_tracking_history

ChatGPT
History for Amazon organic keyword tracking. Use brand discovery for IDs and supported profile. Reads return stored observations and never trigger paid searches. Adding active keywords schedules future daily checks against selected owned ASINs and consumes tracking allowance. Mutations require company admin and keyword_tracking:write; use dry_run to preview. Required scope: read.

rank_tracking_keywords

ChatGPT
Keywords for Amazon organic keyword tracking. Use brand discovery for IDs and supported profile. Reads return stored observations and never trigger paid searches. Adding active keywords schedules future daily checks against selected owned ASINs and consumes tracking allowance. Mutations require company admin and keyword_tracking:write; use dry_run to preview. Required scope: read.

rank_tracking_products

ChatGPT
Products for Amazon organic keyword tracking. Use brand discovery for IDs and supported profile. Reads return stored observations and never trigger paid searches. Adding active keywords schedules future daily checks against selected owned ASINs and consumes tracking allowance. Mutations require company admin and keyword_tracking:write; use dry_run to preview. Required scope: read.

rank_tracking_results

ChatGPT
Results for Amazon organic keyword tracking. Use brand discovery for IDs and supported profile. Reads return stored observations and never trigger paid searches. Adding active keywords schedules future daily checks against selected owned ASINs and consumes tracking allowance. Mutations require company admin and keyword_tracking:write; use dry_run to preview. Required scope: read.

rank_tracking_update_keywords

ChatGPT
Update keywords for Amazon organic keyword tracking. Use brand discovery for IDs and supported profile. Reads return stored observations and never trigger paid searches. Adding active keywords schedules future daily checks against selected owned ASINs and consumes tracking allowance. Mutations require company admin and keyword_tracking:write; use dry_run to preview. Required scope: keyword_tracking:write.

resume_schedule

ChatGPT
Resume a paused recurring 1stPage report: it runs again from its next scheduled time and delivers to its email/Slack recipients. Use for "turn my weekly report back on". Call list_schedules first to get the schedule_id, and confirm the next run back to the user.

seller_analytics

ChatGPT
Amazon Seller (3P) analytics — sales, traffic, orders, and inventory. START HERE for most seller questions. Select a report via dataset (see its enum for the intent→dataset guide). Quick routing: sales/revenue/units/product rankings/comparisons → real_time_sales; broad business overview that explicitly includes traffic or advertising → portfolio_summary; sessions/conversion/refunds or settled report history → daily_trend/settled_daily_sales/asin_sales_ranking; stock risk → inventory_health; category rollups/share-of-category → category_performance. For listing score/findings/update queue use the top-level listing_quality tool. For keyword/search-share questions use the brand_analytics tool. Defaults: date_range=last_30_days, limit=20. List datasets paginate via limit/offset or cursor.

set_notification

ChatGPT
Create or update a notification/alert for an account — turn it on or off and set where it is delivered (email addresses and/or Slack channel IDs). Only the fields you pass are changed. Use this for "alert me when X happens", "turn on the out-of-stock alert", "send account health alerts to this channel", or "mute this alert". Call list_notifications first to see valid notification_type values and the current state.

update_schedule

ChatGPT
Change a recurring 1stPage report. Only the fields you pass change; emails, slack_channel_ids and days_of_week replace the existing lists. The time stays local to the schedule's timezone unless you pass timezone. Use for "change it to 7am", "send it to our Slack channel instead". Call list_schedules first to get the schedule_id. Pass only email addresses and Slack channels the user stated; never invent or reuse one. Always confirm the resolved schedule (time + timezone + next run) back to the user. Scheduled runs can only READ data — the saved prompt cannot change settings or create further schedules.

vendor_analytics

ChatGPT
Amazon Vendor (1P) analytics — ordered/shipped/product revenue, sourcing share, and inventory. Select a report via dataset. List datasets (…_by_asin, product_revenue, revenue_by_period, inventory_by_asin) support pagination via limit/offset or cursor and return a pagination block. For Search Query Performance / search-share questions on this vendor account, use the brand_analytics tool (available when SQP reports are enabled).

Capabilities

Writes

Example Prompts

Click any prompt to copy it.

App Stats

31

Tools

3

Prompts

ChatGPT

Platforms

Works with

ChatGPT

Data refreshed daily