amazon-ads-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LOG_LEVEL | No | pino level, default info (logs go to stderr) | info |
| MCP_HTTP_PORT | No | HTTP port, default 3000 | 3000 |
| MCP_TRANSPORT | No | stdio (default) or http | stdio |
| AMAZON_ADS_REGION | Yes | NA, EU, or FE — must match where the refresh token was issued | |
| REPORT_OUTPUT_DIR | No | Where download_report --saveAs writes files, default ./reports-output | ./reports-output |
| AMAZON_ADS_CLIENT_ID | Yes | LwA client id (amzn1.application-oa2-client.…) | |
| AMAZON_ADS_PROFILE_ID | No | Default advertiser profile (else pass profileId per tool call) | |
| AMAZON_ADS_MAX_RETRIES | No | Retry attempts for 429/5xx, default 4 | 4 |
| AMAZON_ADS_CLIENT_SECRET | Yes | LwA client secret | |
| AMAZON_ADS_REFRESH_TOKEN | Yes | LwA refresh token (Atzr|…) | |
| AMAZON_ADS_RATE_LIMIT_RPS | No | Client-side request ceiling, default 5/s | 5 |
| AMAZON_ADS_CACHE_TTL_SECONDS | No | Entity-read cache TTL, default 60 (0 disables) | 60 |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_profilesA | List all Amazon Ads advertiser profiles (accounts) accessible to these credentials in the configured region. Returns profileId, marketplace, currency, timezone and account info. Call this first: the profileId scopes every other tool. |
| health_checkA | Verify credentials and connectivity: refreshes the LwA access token and lists profiles, reporting region, latency and configuration (secrets redacted). Use to diagnose auth/setup issues. |
| sp_list_campaignsA | List Sponsored Products campaigns (v3) with budgets, states, targeting type and dates. Paginate with nextToken. For performance metrics, use create_report instead — entity endpoints return configuration, not spend/sales. |
| sp_list_ad_groupsA | List Sponsored Products ad groups (v3), optionally filtered to specific campaigns. Paginate with nextToken. |
| sp_list_keywordsA | List Sponsored Products keywords (v3) with match types, bids and states. Filter by campaignIds or adGroupIds; paginate with nextToken. |
| sp_list_targetsA | List Sponsored Products targeting clauses (v3): product, category and auto-targeting expressions with bids and states. |
| sp_list_product_adsB | List Sponsored Products product ads (v3): which ASINs/SKUs are advertised in which ad groups, with states. |
| sb_list_campaignsA | List Sponsored Brands campaigns (v4) with budgets, states and dates. Paginate with nextToken. Use create_report (adProduct SPONSORED_BRANDS) for performance metrics. |
| sb_list_ad_groupsA | List Sponsored Brands ad groups (v4), optionally filtered by campaign ids. |
| sd_list_campaignsB | List Sponsored Display campaigns with budgets, tactics and states. Uses startIndex/count pagination (not nextToken). |
| sd_list_ad_groupsA | List Sponsored Display ad groups with bid optimization settings and states. |
| create_reportA | Request an async performance report (Reporting v3) for Sponsored Products, Brands or Display. Returns a reportId immediately; reports typically complete in 1–15 minutes (up to ~3h for large accounts). Poll with get_report_status, then fetch data with download_report. Common reportTypeIds: spCampaigns, spTargeting, spSearchTerm, spAdvertisedProduct, sbCampaigns, sdCampaigns. Example columns for spCampaigns: campaignId, campaignName, impressions, clicks, cost, purchases14d, sales14d (+ date when timeUnit=DAILY). |
| get_report_statusA | Check the status of an async report created with create_report. Status flows PENDING → PROCESSING → COMPLETED (or FAILURE with a reason). When COMPLETED, use download_report. |
| download_reportA | Download a COMPLETED report, decompress it, run data-integrity checks (column presence, non-negative metrics, daily date coverage) and return reconciled totals plus a row sample. Large result sets are NOT dumped into chat: totals are computed server-side and the full dataset can be saved to a local JSON file via saveAs. Always present the reconciliation totals rather than re-summing sample rows. |
| dsp_list_ordersA | List Amazon DSP orders (campaigns) for a DSP advertiser profile. REQUIRES DSP entity access on your API client — accounts without a DSP seat get HTTP 403 (an Amazon entitlement, not a server bug). |
| dsp_create_reportA | Request an async Amazon DSP report (impressions, viewability, conversions, etc.) for a DSP account. Requires DSP API access. Returns a reportId; poll with dsp_get_report until the report has a download location. |
| dsp_get_reportA | Check status of a DSP report. When complete, the response includes a signed download location URL valid for a limited time. |
| amc_list_instancesA | List Amazon Marketing Cloud instances for an AMC entity. REQUIRES a provisioned AMC instance with this API client allow-listed; otherwise returns 403 (an Amazon entitlement, not a server bug). |
| amc_list_workflowsB | List saved AMC SQL workflows on an instance. |
| amc_create_workflowA | Save an AMC SQL workflow on an instance. AMC SQL queries clean-room event tables (impressions, clicks, conversions); aggregation thresholds apply — queries returning user-level data are rejected by AMC. |
| amc_execute_workflowA | Start an execution of a saved AMC workflow over a time window. Returns an execution id; poll with amc_get_execution, then fetch results with amc_get_download_urls. |
| amc_get_executionA | Check the status of an AMC workflow execution (PENDING/RUNNING/SUCCEEDED/FAILED). |
| amc_get_download_urlsA | Get signed download URLs (CSV) for a SUCCEEDED AMC workflow execution. URLs expire after a short period. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Imsamiullah09/amazon-ads-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server