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 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| 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
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- 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