Vendooly
REMOTE · MCP.VENDOOLY.COM
Amazon Seller Central, Ads and Vendor Central in ChatGPT & Claude. 106 tools; writes need approval.
Available components
Last scanned (5 hours ago)
Scores higher than 93% of remote servers
Reachable. Last reached 5 Nov 2026.
Category Marketing and SEO
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security89
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation is enforced on tool calls, advertised via RFC 9728 protected-resource metadata. Discovery is public, which costs nothing: no tool can be invoked without a token. View diagnostics → Pass
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
- The authorisation server offers only Dynamic Client Registration (RFC 7591), which MCP 2026-07-28 deprecated in favour of Client ID Metadata Documents. View diagnostics → Partial
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability56
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 33350 tokens (~231/item across 144 items; 144 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
- No destabilizing schema changes in the last 30 days.Pass
Tool Coverage86
- 99% of tools have a non-trivial description (not blank, and not just the tool's name).Partial
- 59% of tool parameters carry a description.Partial
Tool Safety94
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- 7 of 9 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "diagnose_sales_drop" implies "drop" and declares readOnlyHint instead, contradicting what its own name says it does. See how to fix → Partial
- An AI judge read all 144 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 5 Nov 26 −1
No change was recorded against any check on this day. Endpoint Security went from 91 to 89.
- 4 Nov 26 +1
- New tool “wp_update_post”, which the server declares destructive security
- New tool “wp_create_post” functional
- New tool “wp_list_posts” functional
- New tool “wp_list_sites” functional
- New tool “wp_list_terms” functional
- 3 Nov 26 −1
- Stability: fail → pass ▲ security
- Destructive annotations: 88% → 78% ▼ functional
- Schema quality: 208 → 234 ▼ functional
- New tool “execute_sql” functional
- New tool “list_action_log” functional
- New tool “log_action” functional
- 1 Nov 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 96 to 99.
- 30 Oct 26 +1
- Stability: 0.90 → fail ▼ security
- A breaking change shipped without a version bump: still 1.0.0 ▼ security
- Tool “execute_sql” was removed ▼ security
- New tool “woo_update_price”, which the server declares destructive security
- New tool “woo_update_stock”, which the server declares destructive security
- Tool “invite_team_member” rewrote its description, which is the text the model reads security
- Tool “list_team_members” rewrote its description, which is the text the model reads security
- Destructive annotations: 78% → 88% ▲ functional
- Schema quality: 234 → 208 ▲ functional
- New tool “woo_amazon_mapping” functional
- New tool “woo_get_stock” functional
- New tool “woo_hub_query” functional
- New tool “woo_list_orders” functional
- New tool “woo_list_products” functional
- New tool “woo_list_stores” functional
- “invite_team_member” added an optional parameter “store_ids” cosmetic
- 29 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 87 to 90. That category is still filling its 30-day observation window: 26 days of observed history at the previous scan, 27 at this one. The score rises as the window fills, whether or not the server changes.
- 28 Oct 26 −1
No change was recorded against any check on this day. Endpoint Security went from 91 to 89. Other categories moved too: Stability & Change Management rose 4.
- 27 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 80 to 83. That category is still filling its 30-day observation window: 24 days of observed history at the previous scan, 25 at this one. The score rises as the window fills, whether or not the server changes.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 5 Nov 2026 · Probed https://mcp.vendooly.com/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=mcp.vendooly.com | CN=YE2,O=Let's Encrypt,C=US | 6 Oct 2026 | 4 Jan 2027 | ECDSA 256 | ECDSA-SHA384 | 6bf4e7634474c61ba876d5ef0897383d5d9 |
| SANs: mcp.vendooly.com | ||||||
| CN=YE2,O=Let's Encrypt,C=US (CA) | CN=Root YE,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | ECDSA 384 | ECDSA-SHA384 | 4df3b15dd6c0784c507cd37b58e6f115 |
| CN=Root YE,O=ISRG,C=US (CA) | CN=ISRG Root X2,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | ECDSA-SHA384 | 872165fc34b6e5fba8add5b3705fb53a |
| CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | SHA256-RSA | 6c8f1dc727c7117f7baf853ac980f9cd |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of mcp.vendooly.com. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| com. | present | 19718 | 13 | Verified |
| vendooly.com. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication Enforced and verified
The endpoint asked for a token and published valid RFC 9728 metadata describing how to get one.
| Result | Enforced and verified |
|---|---|
| Enforced | On tool calls |
| HTTP status | 200 |
WWW-Authenticate challenge Bearer resource_metadata="https://mcp.vendooly.com/.well-known/oauth-protected-resource/mcp", scope="amazon.read", error="invalid_token"
Bearer resource_metadata="https://mcp.vendooly.com/.well-known/oauth-protected-resource/mcp", scope="amazon.read", error="invalid_token" Protected resource metadata
| Document | https://mcp.vendooly.com/.well-known/oauth-protected-resource/mcp |
|---|---|
| Retrieved | Yes |
| Resource | https://mcp.vendooly.com/mcp |
| Authorisation server | https://vendooly.com |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://mcp.vendooly.com/mcp | Verified | 200 | |
| http (plaintext) | http://mcp.vendooly.com/mcp | HTTPS enforced | 308 | https://mcp.vendooly.com/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
ads_catalog_coverage ~277
READ-ONLY. Tutti gli ASIN del catalogo e delle vendite recenti di un outpost, uno per uno, con SKU, titolo, stock, vendite e copertura Sponsored Products LIVE. Incrocia tutte le Product Ads e gli stati campagna/gruppo. Nessun campionamento; dati incompleti o obsoleti producono errore, mai falsi scoperti. Per prodotti venduti senza SP attive usare only_with_sales=true e only_uncovered=true. Richiede data-hub sincronizzato e Ads collegate.
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | string|number | – | ID dell'outpost Amazon (= un seller su uno specifico marketplace; vedi list_clients). Opzionale se il token è legato a un solo outpost. |
| ignore_orphan_ads | boolean | – | Se Amazon non restituisce alcune campagne/gruppi referenziati dalle Product Ads, esclude quegli annunci orfani (non in erogazione) invece di fermarsi; il risultato li elenca in orphan_ad_ids. |
| lookback_days | integer | – | – |
| only_in_stock | boolean | – | – |
| only_uncovered | boolean | – | Solo sp_covered=false, inclusi gli esauriti se only_in_stock=false |
| only_with_sales | boolean | – | – |
No output schema declared.
No examples provided.
ads_create_portfolio ~132
Create an Amazon Ads portfolio to group campaigns (no portfolio-level budget cap; campaigns can then be assigned to it). Same scope as campaigns — no extra authorization needed.
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | string|number | – | ID dell'outpost Amazon (= un seller su uno specifico marketplace; vedi list_clients). Opzionale se il token è legato a un solo outpost. |
| confirm_id | string | – | Token di conferma ritornato dall'anteprima. Ripassa lo STESSO payload + confirm_id per eseguire davvero la scrittura. |
| portfolio | object | yes | – |
No output schema declared.
No examples provided.
ads_create_sp_ad_group ~227
Create a SP ad group in an existing campaign. Defaults to PAUSED so it can be populated before delivery. IMPORTANTE — un ad group è O keyword-targeted O product-targeted, MAI entrambi: Amazon RIFIUTA (otherError) una keyword in un ad group che ha già product target, e viceversa. Quindi se ti servono SIA keyword SIA target di prodotto, crea DUE ad group separati nella stessa campagna: uno popolato con ads_create_sp_keywords, l'altro con ads_create_sp_product_targets. Le NEGATIVE keyword/target invece convivono con qualsiasi tipo.
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | string|number | – | ID dell'outpost Amazon (= un seller su uno specifico marketplace; vedi list_clients). Opzionale se il token è legato a un solo outpost. |
| ad_group | object | yes | – |
| confirm_id | string | – | Token di conferma ritornato dall'anteprima. Ripassa lo STESSO payload + confirm_id per eseguire davvero la scrittura. |
No output schema declared.
No examples provided.
ads_create_sp_campaign ~256
Create a SP campaign. campaign.targeting_type: "AUTO" (Amazon sceglie automaticamente i target — NON aggiungere keyword/target manuali; per modulare i bid dei 4 gruppi auto usa ads_create_sp_product_targets con auto_match) oppure "MANUAL" (default; poi attacchi keyword via ads_create_sp_keywords o ASIN via ads_create_sp_product_targets). Placement bidding: passa placement_bidding [{placement, percentage}] con placement PLACEMENT_TOP|PLACEMENT_PRODUCT_PAGE|PLACEMENT_REST_OF_SEARCH|SITE_AMAZON_BUSINESS (0-900%). Strategy via dynamic_bidding.strategy (LEGACY_FOR_SALES|AUTO_FOR_SALES|MANUAL|RULE_BASED). Optionally assign to a portfolio via portfolio_id.
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | string|number | – | ID dell'outpost Amazon (= un seller su uno specifico marketplace; vedi list_clients). Opzionale se il token è legato a un solo outpost. |
| campaign | object | yes | – |
| confirm_id | string | – | Token di conferma ritornato dall'anteprima. Ripassa lo STESSO payload + confirm_id per eseguire davvero la scrittura. |
No output schema declared.
No examples provided.
ads_create_sp_keywords ~185
Create SP keywords. L'ad group bersaglio deve essere keyword-targeted: se ha GIÀ product target Amazon rifiuta con otherError (un ad group è keyword O product, mai entrambi) → in quel caso crea un ad group dedicato alle keyword. Ogni keyword: { campaign_id, ad_group_id, keyword_text, match_type (BROAD|PHRASE|EXACT), bid }.
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | string|number | – | ID dell'outpost Amazon (= un seller su uno specifico marketplace; vedi list_clients). Opzionale se il token è legato a un solo outpost. |
| confirm_id | string | – | Token di conferma ritornato dall'anteprima. Ripassa lo STESSO payload + confirm_id per eseguire davvero la scrittura. |
| keywords | array | yes | – |
No output schema declared.
No examples provided.
ads_create_sp_negative_keywords ~105
Create SP negative keywords
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | string|number | – | ID dell'outpost Amazon (= un seller su uno specifico marketplace; vedi list_clients). Opzionale se il token è legato a un solo outpost. |
| confirm_id | string | – | Token di conferma ritornato dall'anteprima. Ripassa lo STESSO payload + confirm_id per eseguire davvero la scrittura. |
| negatives | array | yes | – |
No output schema declared.
No examples provided.
ads_create_sp_negative_targets ~124
Create SP negative product targets. Each: { campaign_id, ad_group_id, asin (or raw expression) }.
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | string|number | – | ID dell'outpost Amazon (= un seller su uno specifico marketplace; vedi list_clients). Opzionale se il token è legato a un solo outpost. |
| confirm_id | string | – | Token di conferma ritornato dall'anteprima. Ripassa lo STESSO payload + confirm_id per eseguire davvero la scrittura. |
| targets | array | yes | – |
No output schema declared.
No examples provided.
ads_create_sp_product_ads ~105
Create SP product ads
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | string|number | – | ID dell'outpost Amazon (= un seller su uno specifico marketplace; vedi list_clients). Opzionale se il token è legato a un solo outpost. |
| ads | array | yes | – |
| confirm_id | string | – | Token di conferma ritornato dall'anteprima. Ripassa lo STESSO payload + confirm_id per eseguire davvero la scrittura. |
No output schema declared.
No examples provided.
ads_create_sp_product_targets ~297
Create SP targets. MANUAL (campagne MANUAL): ogni target { campaign_id, ad_group_id, bid, e uno tra: asin (ASIN target), category_id (category target), expression (raw v3) }. AUTO (campagne AUTO): per impostare il bid sui 4 gruppi di matching automatico usa { campaign_id, ad_group_id, bid, auto_match: "close"|"loose"|"substitutes"|"complements" } (close=ricerche strettamente correlate, loose=genericamente correlate, substitutes=prodotti alternativi, complements=accessori). ATTENZIONE: su una campagna AUTO GIÀ ESISTENTE i 4 gruppi sono già stati creati da Amazon — ri-crearli qui dà errore INVALID_ARGUMENT. Per cambiarne solo il bid NON usare questo tool: usa ads_list_sp_targets per leggere il targetId del gruppo e poi ads_update_sp_target_bid.
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | string|number | – | ID dell'outpost Amazon (= un seller su uno specifico marketplace; vedi list_clients). Opzionale se il token è legato a un solo outpost. |
| confirm_id | string | – | Token di conferma ritornato dall'anteprima. Ripassa lo STESSO payload + confirm_id per eseguire davvero la scrittura. |
| targets | array | yes | – |
No output schema declared.
No examples provided.
ads_delete_sp_campaign ~194
Archivia (elimina) una o più campagne SP. È l'UNICO modo di archiviare una campagna: ads_update_sp_campaign accetta solo ENABLED|PAUSED (Amazon rifiuta ARCHIVED sul PUT). IRREVERSIBILE — una campagna archiviata non si riattiva, va ricreata. campaign_ids: [id, ...].
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | string|number | – | ID dell'outpost Amazon (= un seller su uno specifico marketplace; vedi list_clients). Opzionale se il token è legato a un solo outpost. |
| campaign_ids | array | yes | ID delle campagne da archiviare |
| confirm_id | string | – | Token di conferma ritornato dall'anteprima. Ripassa lo STESSO payload + confirm_id per eseguire davvero la scrittura. |
| profile_id | string | – | – |
No output schema declared.
No examples provided.
ads_delete_sp_negative_keywords ~114
Delete SP negative keywords
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | string|number | – | ID dell'outpost Amazon (= un seller su uno specifico marketplace; vedi list_clients). Opzionale se il token è legato a un solo outpost. |
| confirm_id | string | – | Token di conferma ritornato dall'anteprima. Ripassa lo STESSO payload + confirm_id per eseguire davvero la scrittura. |
| keyword_ids | array | yes | – |
| profile_id | string | – | – |
No output schema declared.
No examples provided.
ads_delete_sp_negative_targets ~118
Delete (archive) SP negative product targets
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | string|number | – | ID dell'outpost Amazon (= un seller su uno specifico marketplace; vedi list_clients). Opzionale se il token è legato a un solo outpost. |
| confirm_id | string | – | Token di conferma ritornato dall'anteprima. Ripassa lo STESSO payload + confirm_id per eseguire davvero la scrittura. |
| profile_id | string | – | – |
| target_ids | array | yes | – |
No output schema declared.
No examples provided.
ads_delete_sp_targets ~116
Delete (archive) SP product targets
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | string|number | – | ID dell'outpost Amazon (= un seller su uno specifico marketplace; vedi list_clients). Opzionale se il token è legato a un solo outpost. |
| confirm_id | string | – | Token di conferma ritornato dall'anteprima. Ripassa lo STESSO payload + confirm_id per eseguire davvero la scrittura. |
| profile_id | string | – | – |
| target_ids | array | yes | – |
No output schema declared.
No examples provided.
ads_get_budget_usage ~320
READ-ONLY, LIVE. Quanto del budget GIORNALIERO ogni campagna ha già consumato OGGI, in percentuale (dato INTRAGIORNALIERO, aggiornato da Amazon ogni ~10-15 min). Serve alla domanda "quali campagne stanno per restare senza budget adesso / sono già andate dark?": a 100% la campagna esce dall'asta fino a mezzanotte. È l'UNICA fonte del dato di oggi — il data-hub (fact_campaign_daily) è giornaliero e al massimo dice che IERI una campagna ha saturato. Per storico, ACoS, spesa e trend usa execute_sql, NON questo tool. Senza campaign_ids controlla tutte le campagne ENABLED dell'ad product. ad_product: SP (default) | SB | SD.
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | string|number | – | ID dell'outpost Amazon (= un seller su uno specifico marketplace; vedi list_clients). Opzionale se il token è legato a un solo outpost. |
| ad_product | string | – | Tipo di campagne da controllare (default SP) |
| campaign_ids | array | – | Campagne specifiche; se omesso controlla tutte le ENABLED |
| max_campaigns | number | – | Tetto di campagne da controllare in auto-discovery (default 300) |
| profile_id | string | – | – |
| threshold_percent | number | – | Soglia per la lista at_risk (default 80) |
No output schema declared.
No examples provided.
ads_list_portfolios ~75
List Amazon Ads portfolios (groups of campaigns with optional shared budget)
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | string|number | – | ID dell'outpost Amazon (= un seller su uno specifico marketplace; vedi list_clients). Opzionale se il token è legato a un solo outpost. |
| profile_id | string | – | – |
No output schema declared.
No examples provided.
ads_list_profiles ~61
List Amazon Ads profiles for this account
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | string|number | – | ID dell'outpost Amazon (= un seller su uno specifico marketplace; vedi list_clients). Opzionale se il token è legato a un solo outpost. |
No output schema declared.
No examples provided.
ads_list_sb_ad_groups ~113
Read-only: elenco ad group Sponsored Brands (SB) — id, nome, stato (ENABLED|PAUSED|ARCHIVED), campagna di appartenenza. Filtra con campaign_id_filter.
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | string|number | – | ID dell'outpost Amazon (= un seller su uno specifico marketplace; vedi list_clients). Opzionale se il token è legato a un solo outpost. |
| campaign_id_filter | array | – | – |
| profile_id | string | – | – |
No output schema declared.
No examples provided.
ads_list_sb_campaigns ~204
LIVE: stato corrente delle campagne Sponsored Brands (SB) ESISTENTI (create da Amazon Ads console — Vendooly non crea ancora campagne SB nuove, serve brandEntityId/Brand Registry/asset creativi/moderazione, non implementato). Campi chiave: name, campaignId, state (ENABLED|PAUSED|ARCHIVED), daily_budget, costType (CPC|vCPM), bidding (placement/bidOptimization), brandEntityId. NON ritorna performance: per ACoS/spesa/vendite SB usa execute_sql su fact_campaign_daily (ad_product='SB').
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | string|number | – | ID dell'outpost Amazon (= un seller su uno specifico marketplace; vedi list_clients). Opzionale se il token è legato a un solo outpost. |
| campaign_id_filter | array | – | – |
| profile_id | string | – | – |
| state_filter | array | – | – |
No output schema declared.
No examples provided.
ads_list_sb_keywords ~184
LIVE: keyword Sponsored Brands (SB) con BID e stato ATTUALI — la lettura da fare prima di riofferire su SB. Filtra con campaign_id/ad_group_id. NON ritorna performance: per spesa/vendite/ACoS usa execute_sql su fact_keyword_daily. Elenco vuoto = quel brand non ha keyword SB (tipico se le campagne SB usano product targeting o non esistono): dillo, NON inventare keyword.
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | string|number | – | ID dell'outpost Amazon (= un seller su uno specifico marketplace; vedi list_clients). Opzionale se il token è legato a un solo outpost. |
| ad_group_id | string | – | – |
| campaign_id | string | – | – |
| profile_id | string | – | – |
| state_filter | array | – | – |
No output schema declared.
No examples provided.
ads_list_sb_targets ~155
LIVE: product target Sponsored Brands (ASIN/categoria/brand) con BID e stato ATTUALI. Il target_id serve per ads_update_sb_target_bid. NON ritorna performance: usa execute_sql sul data-hub. Elenco vuoto = nessun target SB su questo profilo: dillo, NON inventare target.
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | string|number | – | ID dell'outpost Amazon (= un seller su uno specifico marketplace; vedi list_clients). Opzionale se il token è legato a un solo outpost. |
| ad_group_id | string | – | – |
| campaign_id | string | – | – |
| profile_id | string | – | – |
| state_filter | array | – | – |
No output schema declared.
No examples provided.
ads_list_sd_ad_groups ~126
Read-only: ad group Sponsored Display — id, nome, stato, campagna di appartenenza e defaultBid (l'offerta dell'ad group, la leva di ottimizzazione SD). Filtra con campaign_id_filter.
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | string|number | – | ID dell'outpost Amazon (= un seller su uno specifico marketplace; vedi list_clients). Opzionale se il token è legato a un solo outpost. |
| campaign_id_filter | array | – | – |
| profile_id | string | – | – |
| state_filter | array | – | – |
No output schema declared.
No examples provided.
ads_list_sd_campaigns ~192
LIVE: campagne Sponsored Display (SD) ESISTENTI — name, campaignId, state (enabled|paused|archived), budget giornaliero, tactic (T00020 contestuale | T00030 audiences), costType (cpc|vcpm), bidOptimization. Vendooly non CREA campagne SD (servono audiences/creatives/Brand Registry): legge e aggiorna quelle già create da Amazon Ads console. NON ritorna performance: per ACoS/spesa SD usa execute_sql su fact_campaign_daily (ad_product='SD').
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | string|number | – | ID dell'outpost Amazon (= un seller su uno specifico marketplace; vedi list_clients). Opzionale se il token è legato a un solo outpost. |
| campaign_id_filter | array | – | – |
| profile_id | string | – | – |
| state_filter | array | – | – |
No output schema declared.
No examples provided.
ads_list_sp_ad_groups ~89
Read-only list of Sponsored Products ad groups (id, name, state, default bid)
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | string|number | – | ID dell'outpost Amazon (= un seller su uno specifico marketplace; vedi list_clients). Opzionale se il token è legato a un solo outpost. |
| campaign_id | string | – | – |
| profile_id | string | – | – |
No output schema declared.
No examples provided.
ads_list_sp_audiences ~306
READ-ONLY. Elenca i SEGMENTI DI PUBBLICO utilizzabili per i moltiplicatori di bid delle campagne Sponsored Products (audience bid adjustments, disponibili in IT/DE/FR/ES/UK). source: "amazon" (default: pubblici costruiti da Amazon, es. chi ha già comprato dal brand, chi ha cliccato o messo nel carrello, alta probabilità di acquisto), "amc" (pubblici creati in Amazon Marketing Cloud) o "all". search = filtro testuale opzionale. Ritorna audience_id, name, description, source. Gli audience_id vanno passati a ads_update_sp_audience_bidding; i segmenti già impostati su una campagna si leggono in ads_list_sp_campaigns (audience_adjustments). NON inventare audience_id: se la lista è vuota dillo all'utente.
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | string|number | – | ID dell'outpost Amazon (= un seller su uno specifico marketplace; vedi list_clients). Opzionale se il token è legato a un solo outpost. |
| locale | string | – | Lingua dei nomi, es. it_IT, de_DE, en_GB (opzionale) |
| profile_id | string | – | – |
| search | string | – | Filtro testuale sul nome del pubblico (opzionale) |
| source | string | – | – |
No output schema declared.
No examples provided.
ads_list_sp_campaigns ~320
LIVE: stato corrente delle campagne SP. Campi chiave per campagna: name, campaignId, state, targetingType (AUTO|MANUAL) e daily_budget = budget giornaliero NUMERICO nella valuta del marketplace (es. 50, 150). NON esiste un "bid" a livello campagna (i bid sono su keyword/target). Usa per VERIFICARE prima di agire o per avere nomi/ID. NON ritorna performance: per ACoS/spesa/ROAS/vendite/click usa execute_sql su fact_campaign_daily. Espone anche bidding_strategy e placement_adjustments = moltiplicatori % ATTUALI per placement (PLACEMENT_TOP | PLACEMENT_REST_OF_SEARCH | PLACEMENT_PRODUCT_PAGE | SITE_AMAZON_BUSINESS): per la PERFORMANCE per placement (spesa/ACoS/vendite Top of Search vs Product Pages vs Rest of Search) usa execute_sql su fact_campaign_placement_daily. audience_adjustments = moltiplicatori % ATTUALI per SEGMENTO DI PUBBLICO [{audience_id, percentage}] (nomi con ads_list_sp_audiences, modifica con ads_update_sp_audience_bidding).
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | string|number | – | ID dell'outpost Amazon (= un seller su uno specifico marketplace; vedi list_clients). Opzionale se il token è legato a un solo outpost. |
| profile_id | string | – | – |
| state_filter | array | – | – |
No output schema declared.
No examples provided.
ads_list_sp_keywords ~127
LIVE: keyword SP con bid e stato ATTUALI — per agire o verificare. NON ritorna performance: per spesa/vendite/ACoS o keyword che sprecano usa execute_sql su fact_keyword_daily.
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | string|number | – | ID dell'outpost Amazon (= un seller su uno specifico marketplace; vedi list_clients). Opzionale se il token è legato a un solo outpost. |
| ad_group_id | string | – | – |
| campaign_id | string | – | – |
| profile_id | string | – | – |
No output schema declared.
No examples provided.
ads_list_sp_negative_keywords ~85
List SP negative keywords
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | string|number | – | ID dell'outpost Amazon (= un seller su uno specifico marketplace; vedi list_clients). Opzionale se il token è legato a un solo outpost. |
| ad_group_id | string | – | – |
| campaign_id | string | – | – |
| profile_id | string | – | – |
No output schema declared.
No examples provided.
ads_list_sp_negative_targets ~86
List SP negative product targets
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | string|number | – | ID dell'outpost Amazon (= un seller su uno specifico marketplace; vedi list_clients). Opzionale se il token è legato a un solo outpost. |
| ad_group_id | string | – | – |
| campaign_id | string | – | – |
| profile_id | string | – | – |
No output schema declared.
No examples provided.
ads_list_sp_product_ads ~211
READ-ONLY LIVE. Elenco SP completo di default (all_pages=true), con ASIN/SKU, stato, nomi e stati di campagna e gruppo. Filtri esatti. all_pages=false legge una pagina Amazon: continuare con next_token anche se vuota dopo i filtri ASIN/SKU. Per trovare tutti gli ASIN scoperti usare ads_catalog_coverage.
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | string|number | – | ID dell'outpost Amazon (= un seller su uno specifico marketplace; vedi list_clients). Opzionale se il token è legato a un solo outpost. |
| ad_group_id | string | – | – |
| all_pages | boolean | – | – |
| asin | string | – | – |
| campaign_id | string | – | – |
| next_token | string | – | – |
| page_size | integer | – | – |
| profile_id | string | – | – |
| sku | string | – | – |
| state_filter | array | – | Default ENABLED e PAUSED |
No output schema declared.
No examples provided.
ads_list_sp_targets ~249
List SP targeting clauses — SIA i target MANUAL (ASIN/categoria) SIA i 4 gruppi AUTO che Amazon genera da solo nelle campagne AUTO. Ogni clause ritorna il suo targetId, lo state e (se impostato) il bid. Mappatura gruppi AUTO (expression.type → nome UI): QUERY_HIGH_REL_MATCHES=close-match, QUERY_BROAD_REL_MATCHES=loose-match, ASIN_SUBSTITUTE_RELATED=substitutes, ASIN_ACCESSORY_RELATED=complements. PER CAMBIARE IL BID DI UN GRUPPO AUTO: chiama questo tool con campaign_id → prendi il targetId del gruppo → ads_update_sp_target_bid(target_id, bid). NON usare ads_create_* sulle AUTO (i target esistono già).
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | string|number | – | ID dell'outpost Amazon (= un seller su uno specifico marketplace; vedi list_clients). Opzionale se il token è legato a un solo outpost. |
| ad_group_id | string | – | – |
| campaign_id | string | – | – |
| profile_id | string | – | – |
| state_filter | array | – | – |
No output schema declared.
No examples provided.
ads_performance ~661
READ-ONLY, DETERMINISTICO. Performance Ads dal Data-Hub con numeri calcolati dal server, SEMPRE uguali a parità di dati: finestre FISSE di 7/14/30 giorni chiuse 3 giorni prima dell'ultimo dato (attribuzione Amazon ancora incompleta), ACoS/CTR/CVR/CPC/RPC/AOV dalle somme SQL, confronto con il periodo precedente, e per ogni riga una colonna action con la regola applicata: HOLD_DATA (pochi click: non toccare), HOLD_OK (ACoS ≤ target), HOLD_BAND (sopra target ma entro target × 1.2: tolleranza, non "in target"), BID_DOWN (ACoS sopra target: bid suggerito = ricavo/click × ACoS target, taglio max 25%/40%), BID_DOWN_ZERO_SALES (click senza ordini, max −30%, floor 0.10), BID_UP (+10/15% se ACoS ≤ 0.8×target), NEGATIVE_EXACT (termine con click e 0 ordini), HARVEST_EXACT (termine che converte sotto target in match non esatto → nuova keyword exact), TERM_OVER_TARGET (termine con ordini oltre target × 1.2: agisci sulla keyword/target che lo attiva o negativa se > 2× target), NEGATIVE_TARGET / HARVEST_TARGET (stesse regole quando il termine è un ASIN: negative product target / nuovo product target, mai keyword), REVIEW_KEYWORDS / REVIEW_ZERO_SALES (campagna da aprire a livello keyword), SCALE_CANDIDATE (manuale), SET_TARGET (manca acos_max: impostalo con set_cockpit_target). Il target ACoS viene dal cockpit ORC-058 (set_cockpit_target, per outpost) o dall'argomento acos_max. USALO al posto di execute_sql per QUALSIASI domanda su ACoS/spesa/keyword che sprecano/cosa tagliare o alzare: non riscrivere le formule. Per agire: rileggi lo stato live con ads_list_* e proponi la scrittura con ads_update_*. Org-scoped: senza account_id copre tutti gli outpost autorizzati; con account_id filtra quell'outpost. Livelli: campaign (default) | keyword | search_term.
| Name | Type | Req | Description |
|---|---|---|---|
| acos_max | number | – | ACoS target in % per tutti gli outpost; se omesso si usa acos_max del cockpit per outpost |
| action | string | – | Filtra le righe per action (es. BID_DOWN, NEGATIVE_EXACT) |
| ad_product | string | – | Solo livello campaign (default SP) |
| campaign_id | string | – | Solo questa campagna (utile per keyword/search_term) |
| level | string | – | Granularità (default campaign) |
| limit | number | – | Max righe (default 50, cap 200), ordinate per spesa |
| window | number | – | Giorni della finestra chiusa (default 14) |
No output schema declared.
No examples provided.
ads_stockout_check ~135
READ-ONLY. Cross-references catalog days of cover (30d cached velocity) with active SP product ads: finds where you are paying for clicks on products close to stock-out. Use for "am I wasting ads budget?", "are ads pushing products that are running out?".
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | string|number | – | ID dell'outpost Amazon (= un seller su uno specifico marketplace; vedi list_clients). Opzionale se il token è legato a un solo outpost. |
| days_threshold | number | – | Days-of-cover threshold (default 14) |
| profile_id | string | – | – |
No output schema declared.
No examples provided.
ads_update_sb_ad_group ~139
Aggiorna un ad group Sponsored Brands (SB) ESISTENTE (es. stato ENABLED|PAUSED). NON crea ad group nuovi.
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | string|number | – | ID dell'outpost Amazon (= un seller su uno specifico marketplace; vedi list_clients). Opzionale se il token è legato a un solo outpost. |
| ad_group_id | string | yes | – |
| confirm_id | string | – | Token di conferma ritornato dall'anteprima. Ripassa lo STESSO payload + confirm_id per eseguire davvero la scrittura. |
| patches | object | yes | – |
No output schema declared.
No examples provided.
ads_update_sb_campaign ~449
Aggiorna una o PIÙ campagne Sponsored Brands (SB) ESISTENTI: budget giornaliero, stato (ENABLED|PAUSED) e OTTIMIZZAZIONE DELL'OFFERTA. Per ottimizzare senza tagliare volume NON strozzare il budget: usa i moltiplicatori per posizionamento con patches.bid_adjustments_by_placement=[{placement, percentage}] — placement (enum verificato): TOP_OF_SEARCH | DETAIL_PAGE | HOME | OTHER (alias comodi: top, detail_page, home, other); percentage = aumento % dell'offerta su quella posizione, SOLO valori positivi (0 o più): dal 15/6/2026 Amazon NON accetta più moltiplicatori SB negativi e il tool li rifiuta prima di chiamare Amazon. Per spendere meno su una posizione abbassa i bid di keyword/target (ads_update_sb_keyword_bid/ads_update_sb_target_bid) e alza le altre posizioni. Passare i moltiplicatori implica bid_optimization=false (ottimizzazione Amazon spenta — richiesto da Amazon); con bid_optimization=true/AUTO ottimizza Amazon e i moltiplicatori non servono. SINGOLA: campaign_id + patches. BATCH: items=[{campaign_id, daily_budget?, state?, bid_adjustments_by_placement?}], MAX 25. Esito verificato per-id e PER-PLACEMENT (read-after-write). NON crea campagne nuove.
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | string|number | – | ID dell'outpost Amazon (= un seller su uno specifico marketplace; vedi list_clients). Opzionale se il token è legato a un solo outpost. |
| campaign_id | string | – | – |
| confirm_id | string | – | Token di conferma ritornato dall'anteprima. Ripassa lo STESSO payload + confirm_id per eseguire davvero la scrittura. |
| items | array | – | Batch: [{campaign_id, daily_budget?, state?, bid_adjustments_by_placement?}], max 25 |
| patches | object | – | – |
| profile_id | string | – | – |
No output schema declared.
No examples provided.
ads_update_sb_keyword_bid ~223
Aggiorna il BID di una o PIÙ keyword Sponsored Brands. È la leva per OTTIMIZZARE una campagna SB invece di spegnerla o strozzarne il budget. keyword_id si ottiene da ads_list_sb_keywords. SINGOLA: keyword_id + bid. BATCH (consigliato): items=[{keyword_id, bid}], MAX 25. Esito verificato per-id (read-after-write).
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | string|number | – | ID dell'outpost Amazon (= un seller su uno specifico marketplace; vedi list_clients). Opzionale se il token è legato a un solo outpost. |
| bid | number | – | – |
| confirm_id | string | – | Token di conferma ritornato dall'anteprima. Ripassa lo STESSO payload + confirm_id per eseguire davvero la scrittura. |
| items | array | – | Batch: [{keyword_id, bid}], max 25 |
| keyword_id | string | – | – |
| profile_id | string | – | – |
No output schema declared.
No examples provided.
ads_update_sb_keyword_state ~189
Aggiorna lo stato (ENABLED|PAUSED|ARCHIVED) di una o PIÙ keyword Sponsored Brands. SINGOLA: keyword_id + state. BATCH: items=[{keyword_id, state}], MAX 25. Esito verificato per-id.
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | string|number | – | ID dell'outpost Amazon (= un seller su uno specifico marketplace; vedi list_clients). Opzionale se il token è legato a un solo outpost. |
| confirm_id | string | – | Token di conferma ritornato dall'anteprima. Ripassa lo STESSO payload + confirm_id per eseguire davvero la scrittura. |
| items | array | – | Batch: [{keyword_id, state}], max 25 |
| keyword_id | string | – | – |
| profile_id | string | – | – |
| state | string | – | – |
No output schema declared.
No examples provided.
ads_update_sb_target_bid ~239
Aggiorna il BID di uno o PIÙ product target Sponsored Brands. Insieme a ads_update_sb_keyword_bid e ai moltiplicatori per posizionamento di ads_update_sb_campaign è il modo per OTTIMIZZARE SB (invece di limitarsi a spegnere o tagliare il budget). target_id da ads_list_sb_targets. SINGOLA: target_id + bid. BATCH: items=[{target_id, bid}], MAX 25. Esito verificato per-id.
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | string|number | – | ID dell'outpost Amazon (= un seller su uno specifico marketplace; vedi list_clients). Opzionale se il token è legato a un solo outpost. |
| bid | number | – | – |
| confirm_id | string | – | Token di conferma ritornato dall'anteprima. Ripassa lo STESSO payload + confirm_id per eseguire davvero la scrittura. |
| items | array | – | Batch: [{target_id, bid}], max 25 |
| profile_id | string | – | – |
| target_id | string | – | – |
No output schema declared.
No examples provided.
ads_update_sb_target_state ~190
Aggiorna lo stato (ENABLED|PAUSED|ARCHIVED) di uno o PIÙ product target Sponsored Brands. SINGOLA: target_id + state. BATCH: items=[{target_id, state}], MAX 25. Esito verificato per-id.
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | string|number | – | ID dell'outpost Amazon (= un seller su uno specifico marketplace; vedi list_clients). Opzionale se il token è legato a un solo outpost. |
| confirm_id | string | – | Token di conferma ritornato dall'anteprima. Ripassa lo STESSO payload + confirm_id per eseguire davvero la scrittura. |
| items | array | – | Batch: [{target_id, state}], max 25 |
| profile_id | string | – | – |
| state | string | – | – |
| target_id | string | – | – |
No output schema declared.
No examples provided.
ads_update_sd_ad_group ~224
Aggiorna uno o PIÙ ad group Sponsored Display: BID (defaultBid) e/o stato (enabled|paused). Su SD il bid dell'ad group è la leva principale di ottimizzazione. SINGOLA: ad_group_id + bid/state. BATCH: items=[{ad_group_id, bid?, state?}], MAX 25. Esito verificato per-id.
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | string|number | – | ID dell'outpost Amazon (= un seller su uno specifico marketplace; vedi list_clients). Opzionale se il token è legato a un solo outpost. |
| ad_group_id | string | – | – |
| bid | number | – | – |
| confirm_id | string | – | Token di conferma ritornato dall'anteprima. Ripassa lo STESSO payload + confirm_id per eseguire davvero la scrittura. |
| items | array | – | Batch: [{ad_group_id, bid?, state?}], max 25 |
| profile_id | string | – | – |
| state | string | – | – |
No output schema declared.
No examples provided.
ads_update_sd_campaign ~218
Aggiorna una o PIÙ campagne Sponsored Display ESISTENTI: budget giornaliero e/o stato (enabled|paused). SINGOLA: campaign_id + daily_budget/state. BATCH: items=[{campaign_id, daily_budget?, state?}], MAX 25. Esito verificato per-id (read-after-write). NON crea campagne SD.
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | string|number | – | ID dell'outpost Amazon (= un seller su uno specifico marketplace; vedi list_clients). Opzionale se il token è legato a un solo outpost. |
| campaign_id | string | – | – |
| confirm_id | string | – | Token di conferma ritornato dall'anteprima. Ripassa lo STESSO payload + confirm_id per eseguire davvero la scrittura. |
| daily_budget | number | – | – |
| items | array | – | Batch: [{campaign_id, daily_budget?, state?}], max 25 |
| profile_id | string | – | – |
| state | string | – | – |
No output schema declared.
No examples provided.
ads_update_sp_ad_group ~115
Update a SP ad group
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | string|number | – | ID dell'outpost Amazon (= un seller su uno specifico marketplace; vedi list_clients). Opzionale se il token è legato a un solo outpost. |
| ad_group_id | string | yes | – |
| confirm_id | string | – | Token di conferma ritornato dall'anteprima. Ripassa lo STESSO payload + confirm_id per eseguire davvero la scrittura. |
| patches | object | yes | – |
No output schema declared.
No examples provided.
ads_update_sp_audience_bidding ~492
Imposta i MOLTIPLICATORI PER SEGMENTO DI PUBBLICO di UNA campagna Sponsored Products (dynamicBidding.shopperCohortBidding): aggiunge o modifica (set=[{audience_id, percentage}]), toglie (remove=[audience_id]) o azzera tutto (clear_all=true). percentage = aumento % del bid, INTERO 0-900: i segmenti possono solo ALZARE il bid, mai abbassarlo. Si applica SOPRA il moltiplicatore di placement (es. bid 1€, Top of Search +50% = 1,50€, pubblico +100% = 3€). Massimo 10 segmenti per campagna. Il tool RILEGGE la campagna live, fonde le modifiche con i segmenti esistenti e rimanda INVARIATI i moltiplicatori di placement. FLUSSO: (1) chiamata senza confirm = ANTEPRIMA prima→dopo per segmento, nulla viene scritto; (2) mostra la tabella all'utente; (3) solo dopo il suo ok richiama con gli STESSI argomenti + confirm=true; esito verificato con rilettura (segmenti e placement). audience_id da ads_list_sp_audiences. Regola pratica: solo su campagne con ACoS entro il target, misurando 14-30 giorni.
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | string|number | – | ID dell'outpost Amazon (= un seller su uno specifico marketplace; vedi list_clients). Opzionale se il token è legato a un solo outpost. |
| campaign_id | string | yes | – |
| clear_all | boolean | – | true = toglie TUTTI i segmenti della campagna |
| confirm | boolean | – | false/assente = solo anteprima; true = scrive (dopo ok dell'utente) |
| confirm_id | string | – | Token di conferma ritornato dall'anteprima. Ripassa lo STESSO payload + confirm_id per eseguire davvero la scrittura. |
| profile_id | string | – | – |
| remove | array | – | audience_id da togliere |
| set | array | – | Aggiungi o modifica: [{audience_id, percentage 0-900 intero}] |
No output schema declared.
No examples provided.
ads_update_sp_campaign ~436
Aggiorna una o PIÙ campagne SP. SINGOLA: campaign_id + patches (patches.daily_budget numero → convertito nel payload v3 budget{budgetType:DAILY,budget}; patches.state ENABLED|PAUSED; patches.placement_bidding = MOLTIPLICATORI per placement [{placement, percentage 0-900}] con placement PLACEMENT_TOP|PLACEMENT_REST_OF_SEARCH|PLACEMENT_PRODUCT_PAGE|SITE_AMAZON_BUSINESS (alias top/rest_of_search/product_page/business); patches.bidding_strategy LEGACY_FOR_SALES|AUTO_FOR_SALES|MANUAL|RULE_BASED). Flusso placement: execute_sql su fact_campaign_placement_daily (performance per placement) → ads_list_sp_campaigns (placement_adjustments attuali) → anteprima prima→dopo → conferma → questo tool; esito verificato per placement (read-after-write). BATCH (consigliato per agire su più campagne in una volta, es. "sistema 10 campagne"): items=[{campaign_id, daily_budget?, state?, placement_bidding?}], ogni campagna con valori diversi, MAX 25. Esito verificato per-id (budget e/o stato). I SEGMENTI DI PUBBLICO non si toccano qui (usa ads_update_sp_audience_bidding): quando cambi placement o strategia il tool rilegge la campagna e mantiene i segmenti esistenti.
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | string|number | – | ID dell'outpost Amazon (= un seller su uno specifico marketplace; vedi list_clients). Opzionale se il token è legato a un solo outpost. |
| campaign_id | string | – | – |
| confirm_id | string | – | Token di conferma ritornato dall'anteprima. Ripassa lo STESSO payload + confirm_id per eseguire davvero la scrittura. |
| items | array | – | Batch: [{campaign_id, daily_budget?, state?, placement_bidding?}], max 25 |
| patches | object | – | – |
| profile_id | string | – | – |
No output schema declared.
No examples provided.
ads_update_sp_keyword_bid ~214
Aggiorna il bid di una o PIÙ keyword SP. SINGOLA: keyword_id + bid. BATCH (consigliato per agire su molte keyword in una volta — meno chiamate, niente raffica): items=[{keyword_id, bid}], ogni keyword può avere un bid diverso, MAX 25 per chiamata. Esito verificato PER-ID (read-after-write).
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | string|number | – | ID dell'outpost Amazon (= un seller su uno specifico marketplace; vedi list_clients). Opzionale se il token è legato a un solo outpost. |
| bid | number | – | – |
| confirm_id | string | – | Token di conferma ritornato dall'anteprima. Ripassa lo STESSO payload + confirm_id per eseguire davvero la scrittura. |
| items | array | – | Batch: [{keyword_id, bid}], max 25 |
| keyword_id | string | – | – |
| profile_id | string | – | – |
No output schema declared.
No examples provided.
ads_update_sp_keyword_state ~188
Aggiorna lo stato (ENABLED/PAUSED) di una o PIÙ keyword SP. SINGOLA: keyword_id + state. BATCH: items=[{keyword_id, state}], MAX 25 per chiamata. Esito verificato PER-ID.
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | string|number | – | ID dell'outpost Amazon (= un seller su uno specifico marketplace; vedi list_clients). Opzionale se il token è legato a un solo outpost. |
| confirm_id | string | – | Token di conferma ritornato dall'anteprima. Ripassa lo STESSO payload + confirm_id per eseguire davvero la scrittura. |
| items | array | – | Batch: [{keyword_id, state}], max 25 |
| keyword_id | string | – | – |
| profile_id | string | – | – |
| state | string | – | – |
No output schema declared.
No examples provided.
ads_update_sp_product_ad_state ~240
Mette in pausa o riattiva (ENABLED/PAUSED) uno o PIÙ product ad SP, cioè il singolo ASIN/SKU sponsorizzato dentro un ad group, senza toccare campagna o ad group. ad_id da ads_list_sp_product_ads. ARCHIVED non è ammesso (irreversibile). SINGOLA: ad_id + state. BATCH: items=[{ad_id, state}], MAX 25 per chiamata. Esito verificato PER-ID.
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | string|number | – | ID dell'outpost Amazon (= un seller su uno specifico marketplace; vedi list_clients). Opzionale se il token è legato a un solo outpost. |
| ad_id | string | – | – |
| confirm_id | string | – | Token di conferma ritornato dall'anteprima. Ripassa lo STESSO payload + confirm_id per eseguire davvero la scrittura. |
| items | array | – | Batch: [{ad_id, state}], max 25 |
| profile_id | string | – | – |
| state | string | – | – |
No output schema declared.
No examples provided.
ads_update_sp_target_bid ~256
Aggiorna il bid di uno o PIÙ target SP (MANUAL ASIN/categoria o i 4 gruppi AUTO close/loose/substitutes/complements). Il target_id si ottiene da ads_list_sp_targets; è QUESTA (non ads_create_*) la via per modulare i bid dei gruppi auto su una campagna AUTO già esistente. SINGOLA: target_id + bid. BATCH (consigliato per molti target): items=[{target_id, bid}], ognuno con bid diverso, MAX 25. Esito verificato per-id.
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | string|number | – | ID dell'outpost Amazon (= un seller su uno specifico marketplace; vedi list_clients). Opzionale se il token è legato a un solo outpost. |
| bid | number | – | – |
| confirm_id | string | – | Token di conferma ritornato dall'anteprima. Ripassa lo STESSO payload + confirm_id per eseguire davvero la scrittura. |
| items | array | – | Batch: [{target_id, bid}], max 25 |
| profile_id | string | – | – |
| target_id | string | – | – |
No output schema declared.
No examples provided.
ads_update_sp_target_state ~185
Aggiorna lo stato (ENABLED/PAUSED) di uno o PIÙ target SP. SINGOLA: target_id + state. BATCH: items=[{target_id, state}], MAX 25. Esito verificato per-id.
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | string|number | – | ID dell'outpost Amazon (= un seller su uno specifico marketplace; vedi list_clients). Opzionale se il token è legato a un solo outpost. |
| confirm_id | string | – | Token di conferma ritornato dall'anteprima. Ripassa lo STESSO payload + confirm_id per eseguire davvero la scrittura. |
| items | array | – | Batch: [{target_id, state}], max 25 |
| profile_id | string | – | – |
| state | string | – | – |
| target_id | string | – | – |
No output schema declared.
No examples provided.
apply_title_seo_batch ~234
Titolo-SEO, passo 2 (SCRITTURA): applica un lotto del piano (solo SKU ready). Primo lotto dell'outpost max 2 SKU, poi max 50; prima di ogni lotto rilegge il precedente e si ferma se non risulta applicato. Ogni SKU viene riletto dal vivo: se la listing è cambiata dall'anteprima non si scrive. Salva il valore di prima nel registro per title_seo_rollback.
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | string|number | – | ID dell'outpost Amazon (= un seller su uno specifico marketplace; vedi list_clients). Opzionale se il token è legato a un solo outpost. |
| confirm_id | string | – | Token di conferma ritornato dall'anteprima. Ripassa lo STESSO payload + confirm_id per eseguire davvero la scrittura. |
| plan_id | string | yes | plan_id da plan_title_seo_fix |
| skus | array | – | SKU del lotto (vuoto = tutti i ready, se entro il limite del lotto) |
No output schema declared.
No examples provided.
audit_aplus_coverage ~374
READ-ONLY. Copertura A+ Content del catalogo: quali ASIN hanno un documento A+ APPROVED (= visibile al cliente) e quali no, con i buchi ORDINATI per peso commerciale (unità vendute a 30 giorni) — quindi "quali pagine che vendono davvero sono senza A+". Segnala anche i documenti REJECTED (lavoro già fatto mai andato online, il recupero più rapido) e quelli in DRAFT/SUBMITTED. LIMITE DA DICHIARARE SEMPRE ALL'UTENTE: misura i documenti A+ DI QUESTO seller — un ASIN può mostrare l'A+ del brand owner e comparire comunque come scoperto; l'A+ è inoltre PER MARKETPLACE (IT/DE/FR/ES sono documenti distinti, vanno auditati un outpost alla volta). La creazione/modifica A+ via API NON è implementata: le correzioni si fanno da Seller Central. Il catalogo viene dal data-hub (`catalog_source`): se il seller non è ancora sincronizzato risponde `catalog_not_ready` con le alternative (list_aplus_documents / get_aplus_document), non un errore muto.
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | string|number | – | ID dell'outpost Amazon (= un seller su uno specifico marketplace; vedi list_clients). Opzionale se il token è legato a un solo outpost. |
| max_catalog | number | – | Max SKU di catalogo da scansionare (default 1000) |
| max_documents | number | – | Max documenti A+ da espandere in ASIN (default 200) |
| top_n | number | – | Quante righe per lista (default 25) |
No output schema declared.
No examples provided.
How do I install the Vendooly MCP server?
Vendooly is a hosted endpoint at https://mcp.vendooly.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · mcp.vendooly.com
claude mcp add --transport http com-vendooly-vendooly 'https://mcp.vendooly.com/mcp'
What is the Vendooly MCP server?
Vendooly is an MCP server listed in the public MCP registry as com.vendooly/vendooly. Amazon Seller Central, Ads and Vendor Central in ChatGPT & Claude. 106 tools; writes need approval. This page covers its hosted endpoint (https://mcp.vendooly.com/mcp).
Is the Vendooly MCP server safe to use?
Vendooly scores 86 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Vendooly MCP server expose?
Vendooly exposes 144 tools: list_clients, get_client_status, get_fba_inventory, fba_inbound_discrepancies, fba_reimbursement_check, and 139 more. Their descriptions and schemas cost roughly 33,350 tokens of context every time the server is loaded.
Does the Vendooly MCP server require authentication?
Yes. Vendooly asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.
Is the Vendooly MCP server still maintained?
Vendooly is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.