Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

Vendooly

REMOTE · MCP.VENDOOLY.COM

Amazon Seller Central, Ads and Vendor Central in ChatGPT & Claude. 106 tools; writes need approval.

Available components

+1 this week 86 Trust /100

Last scanned (12 hours ago)

Scores higher than 93% of remote servers

Reachable. Last reached 5 Nov 2026.

Category Marketing and SEO

Trust breakdown (7 categories)

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
Transport & Reachability100
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
What we tested

Checks we ran (13)

  • TLS certificate
  • Authorization
  • HTTPS
  • HSTS header
  • DNSSEC
  • Transport
  • Schema quality
  • Stability
  • Tool coverage
  • Injection markers
  • Destructive annotations
  • Judged manipulation
  • MCP protocol

Does not apply to this hosted endpoint (2)

  • Supply Chain SecurityScored on package channels only. This is a hosted endpoint, so there is nothing to install or inspect.
  • Provenance & TransparencyScored on package channels only. This is a hosted endpoint, so there is nothing to install or inspect.

The score does not measure everything. What the score does not measure →

Changelog

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.

Diagnostics

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. DS published 19718 13 Verified
vendooly.com. No DS 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
MCP tools · 144 exposed · ~33,350 tokens

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 →

Tool Tokens
get_vendor_purchase_order_details ~67

Vendor PO details

NameTypeReqDescription
account_idstring|number–ID dell'outpost Amazon (= un seller su uno specifico marketplace; vedi list_clients). Opzionale se il token è legato a un solo outpost.
po_numberstringyes–

No output schema declared.

No examples provided.

get_vendor_purchase_orders ~83

Vendor POs

NameTypeReqDescription
account_idstring|number–ID dell'outpost Amazon (= un seller su uno specifico marketplace; vedi list_clients). Opzionale se il token è legato a un solo outpost.
days_backnumber––
include_detailsboolean––
po_item_statestring––

No output schema declared.

No examples provided.

get_vendor_remittances ~94

Vendor: importi stimati dai PO (SP-API non espone remittance reali in lettura)

NameTypeReqDescription
account_idstring|number–ID dell'outpost Amazon (= un seller su uno specifico marketplace; vedi list_clients). Opzionale se il token è legato a un solo outpost.
days_backnumber––
summary_onlyboolean––

No output schema declared.

No examples provided.

get_vendor_trading_terms ~113

Vendor trading terms — SP-API non espone termini commerciali (payment terms, sconti, accordi) in lettura. Questo tool restituisce una spiegazione della limitazione e rimanda a Vendor Central e a get_vendor_remittances per i netCost per PO.

NameTypeReqDescription
account_idstring|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.

invite_team_member ~405

Invite a colleague to the user's OWN Vendooly organization (the one of this connection — you cannot choose another). Use when the user says "invite this person to my account/team". Only owners/admins can invite. `role` is admin (sees every seller) or member (sees only the sellers listed in `seller_ids` and the WooCommerce stores listed in `store_ids`; get them from list_team_members → sellers / stores). With send_email=true (default) Vendooly emails the invitation; with send_email=false NO email is sent and the tool returns an invite link (valid 7 days) for the user to pass on. Ask the user to confirm the email and role before calling.

NameTypeReqDescription
confirm_idstring–Token di conferma ritornato dall'anteprima. Ripassa lo STESSO payload + confirm_id per eseguire davvero la scrittura.
emailstringyesEmail of the person to invite.
permissionsobject–For role=member: access level per function, each none | read | write. Keys: sales (max read), catalog, pricing_inventory, ads, account_team (max read). Omitted keys = none. If permissions is omitted…
rolestringyesadmin = full access; member = only the sellers in seller_ids.
seller_idsarray–For role=member: seller ids (from list_team_members → sellers) the member may see.
send_emailboolean–true (default): email the invitation. false: no email, return the invite link.
store_idsarray–For role=member: WooCommerce store ids (from list_team_members → stores) the member may see. Omitted = none.

No output schema declared.

No examples provided.

list_action_log ~176

History of the operations done on the seller's outposts (seller × marketplace): bid/budget changes, price changes, listing fixes, etc., with who did them (user, ai, session), value before → after and, when already evaluated, the measured impact on the KPI (outcome migliorato/neutro/peggiorato/non_valutabile). Newest first. outpost_id filters one outpost (see list_clients); without it lists every outpost the user can see. Use it before proposing a change to know what was already tried and how it went.

NameTypeReqDescription
kpistring––
limitnumber–Max rows (default 50, cap 200).
outpost_idinteger–Outpost (seller × marketplace) id; omit for all visible outposts.

No output schema declared.

No examples provided.

list_aplus_documents ~147

READ-ONLY. Elenco dei documenti A+ Content del seller su questo marketplace, con stato (DRAFT | SUBMITTED | APPROVED | REJECTED), badge e data di aggiornamento. Solo APPROVED è visibile al cliente. Per la domanda "quanto del mio catalogo ha A+" usa audit_aplus_coverage, non questo.

NameTypeReqDescription
account_idstring|number–ID dell'outpost Amazon (= un seller su uno specifico marketplace; vedi list_clients). Opzionale se il token è legato a un solo outpost.
max_pagesnumber–Pagine di documenti da scorrere (default 10)

No output schema declared.

No examples provided.

list_clients ~42

List the connected Amazon outposts (an outpost = one seller on one marketplace; the account_id of each is what you pass to other tools). Org-scoped.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_cockpits ~56

List the cockpits of the user's organization (a cockpit = a group of outposts watched together with monthly sales targets and a traffic light). Max 10 active per organization.

NameTypeReqDescription
include_archivedboolean––

No output schema declared.

No examples provided.

list_context_topics ~57

List built-in documentation topics (guides and recipes for using Vendooly tools correctly: write confirmation flow, catalog cache fields, rate limits, multi-account, cross analyses). Read the relevant guide BEFORE an operation you are not familiar with.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_inactive_listings ~904

READ-ONLY. Elenco CATALOGO-WIDE dei listing che NON sono in vendita, CON IL MOTIVO — la risposta a "quali prodotti sono inattivi/bloccati/soppressi?", "cosa mi ha bloccato Amazon dopo il caricamento?", "perché questo articolo non si vende?". Legge lo stato reale della Listings Items API (BUYABLE / DISCOVERABLE) e gli enforcement dichiarati da Amazon: LISTING_SUPPRESSED (offerta non acquistabile), ATTRIBUTE_SUPPRESSED (attributo rifiutato), CATALOG_ITEM_REMOVED (pagina disattivata), SEARCH_SUPPRESSED (nascosto dalla ricerca), più le esenzioni in scadenza (tipico GPSR: ancora attivo ma bloccherà alla data indicata → state "at_risk"). Ritorna: counts per stato, by_reason (gruppi per motivo, con gli attributi da correggere e gli SKU), items (dettaglio con action_hint) e summary pronto da leggere. Distingue "bloccato da Amazon" da "zero disponibilità" e NON inventa il motivo quando Amazon non lo dichiara: per gli SKU FBA che Amazon non motiva legge l'inventario e separa "zero pezzi in FBA" da "stock fermo/STRANDED" (merce in magazzino ma offerta non acquistabile — si sblocca dal listing, non rifornendo). Per gli STRANDED riporta la CAUSA REALE dal report Stranded Inventory di Amazon (lo stesso dato di Seller Central → "Correggi inventario stranded"): stranded.reason (es. Listing error, Listing closed, Pricing error), error_message, azione consigliata da Amazon, data in cui è diventato stranded e data di RIMOZIONE AUTOMATICA (urgenza) — reason_code FBA_STRANDED_<MOTIVO>; include anche gli SKU con merce in FBA ma offerta cancellata (from_stranded_report=true). scope: not_buyable (default) | search_suppressed | errors (tutte le issue ERROR, anche su listing ancora vendibili) | all. changed_since="YYYY-MM-DD" filtra i soli listing aggiornati da quella data — usalo dopo un caricamento a batch. COSTO: 1 chiamata SP-API ogni 20 SKU; Amazon pagina al massimo 1000 SKU per ricerca (se truncated, restringi con changed_since o scope). La correzione si fa con update_listing / bulk_u…

NameTypeReqDescription
account_idstring|number–ID dell'outpost Amazon (= un seller su uno specifico marketplace; vedi list_clients). Opzionale se il token è legato a un solo outpost.
changed_sincestring–Solo listing aggiornati da questa data (YYYY-MM-DD o ISO8601) — "cosa si è rotto dopo il batch di ieri"
check_fba_stockboolean–Default true: legge FBA Inventory (1 chiamata) per spiegare gli SKU FBA che Amazon non motiva. false = report più rapido, quegli SKU restano "motivo non dichiarato"
check_stranded_reportboolean–Report Stranded Inventory (~20 s, riusato 20 min) per la causa reale degli stranded. Default automatico: richiesto solo se ci sono SKU stranded; true = forzalo (porta anche gli SKU stranded con offer…
issue_localestring–Lingua dei messaggi Amazon (es. it_IT); default = lingua del marketplace
max_pagesnumber–Pagine da 20 SKU da scorrere (default 25 = 500 SKU, max 50 = cap Amazon)
scopestring–not_buyable (default) = tutto ciò che il cliente non può comprare
stranded_wait_secnumber–Attesa massima del report stranded in secondi (default 60, max 300); oltre → stranded_report.pending e si riprende al giro dopo
top_nnumber–Quanti item dettagliati restituire (default 50); by_reason li conta comunque tutti

No output schema declared.

No examples provided.

list_my_products ~216

List own products from local cache (SKU, ASIN, title, price, stock FBA+MFN, fulfillment channel, velocity = avg units/day last 30d, days_cover = stock/velocity — paginated, default 50 rows, no customer data). Use velocity/days_cover for stock-out risk ("sells 3.2/day, runs out in ~4 days"). Filter channel:"FBM" for merchant-fulfilled only. NB: sorted by sales rank, so unranked FBM items appear in the last pages — use the channel filter instead of paginating.

NameTypeReqDescription
account_idstring|number–ID dell'outpost Amazon (= un seller su uno specifico marketplace; vedi list_clients). Opzionale se il token è legato a un solo outpost.
channelstring–FBA | FBM
limitnumber––
offsetnumber––
only_in_stockboolean––
qstring––

No output schema declared.

No examples provided.

list_sops ~84

List the standard operating procedures (SOP) saved in the user's Vendooly organization: title, schedule, number of steps, outposts it applies to. Use it to answer "what do we do every day/week" or before running a procedure. Max 10 active SOP per organization.

NameTypeReqDescription
include_archivedboolean–Also list archived SOP (default false).

No output schema declared.

No examples provided.

list_team_members ~55

List the people of the user's Vendooly organization (role, status, assigned sellers and WooCommerce stores, per-function permissions) and the seller ids and store ids that can be assigned to a member. Owners/admins only.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

log_action ~237

Record one operation done on ONE outpost (seller × marketplace) in the Vendooly action log, so it is remembered and its impact on the KPI can be measured later. Owners/admins only. Call it right AFTER a write that succeeded (Ads, price, listing, stock) or after a manual change the user reports, with the value before → after. Internal Vendooly log: writes nothing on Amazon.

NameTypeReqDescription
action_typestringyesShort code, e.g. bid_change, budget_change, price_change, negative_keyword, listing_fix (max 60 chars).
actor_refstring–Optional: name of the person/agent/session.
actor_typestring–Who did it (default user).
descriptionstringyesWhat was done, in one sentence (max 500 chars).
kpistringyesKPI the operation is meant to move.
outpost_idintegeryes–
refstring–Optional: campaign/keyword/SKU/ASIN id or a link.
value_afterstring––
value_beforestring––

No output schema declared.

No examples provided.

ping ~10

Healthcheck

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

plan_title_seo_fix ~371

Titolo conforme SENZA perdere SEO, passo 1 (solo lettura): per ogni SKU accorcia il titolo a 72 caratteri (o usa new_titles), calcola le parole di ricerca perse e le ricolloca in generic_keyword (≤250 byte, niente doppioni); quello che non entra va come frase presa pari pari dal titolo vecchio in coda al bullet più affine, o alla descrizione. MAI parole nuove. Se il taglio è già stato fatto passa original_titles (sku → titolo lungo di prima): il titolo attuale resta e si ricollocano solo le parole perse. Ritorna plan_id + anteprima prima→dopo per SKU con status ok|ready|needs_review (needs_review = restano parole in manual_review, decide una persona). Mostra SEMPRE l'anteprima all'utente prima di apply_title_seo_batch. Piano valido 24 ore.

NameTypeReqDescription
account_idstring|number–ID dell'outpost Amazon (= un seller su uno specifico marketplace; vedi list_clients). Opzionale se il token è legato a un solo outpost.
include_bulletsboolean–false = non toccare bullet e descrizione: ciò che non entra nelle keyword resta in manual_review (default true)
limitnumber–Massimo SKU (default 200, max 1000)
new_titlesobject–Mappa sku → titolo corto deciso dal seller (al posto del taglio automatico)
original_titlesobject–Mappa sku → titolo lungo originale, quando il titolo è già stato tagliato
skusarray–SKU da pianificare (vuoto = scansione del catalogo fino a limit)

No output schema declared.

No examples provided.

reprice_to_buybox ~222

ACTION. Reprices the given SKUs to win the Buy Box: compares your price with the Buy Box price and proposes a new one (`delta` below the Buy Box, never below `floor`). With confirm=false it returns a PREVIEW (before→after); with confirm=true it applies the prices. ALWAYS show the preview and get the user's explicit approval before calling with confirm=true.

NameTypeReqDescription
account_idstring|number–ID dell'outpost Amazon (= un seller su uno specifico marketplace; vedi list_clients). Opzionale se il token è legato a un solo outpost.
confirmboolean–true = actually apply the prices
confirm_idstring–Token di conferma ritornato dall'anteprima. Ripassa lo STESSO payload + confirm_id per eseguire davvero la scrittura.
deltanumber–How far below the Buy Box to price (default 0.01)
floornumber–Hard minimum price
skusarrayyes–

No output schema declared.

No examples provided.

save_cockpit ~134

Create (without cockpit_id) or update a cockpit of the user's organization. Owners/admins only. outpost_ids from list_clients (omit = all outposts). status=archived / active. Max 10 active cockpits.

NameTypeReqDescription
cockpit_idinteger––
confirm_idstring–Token di conferma ritornato dall'anteprima. Ripassa lo STESSO payload + confirm_id per eseguire davvero la scrittura.
descriptionstring––
namestring––
outpost_idsarray––
statusstring––

No output schema declared.

No examples provided.

save_sop ~245

Create (without sop_id) or update (with sop_id) a SOP of the user's organization. Owners/admins only. steps = ordered list of {title, body?, role?} (max 40). outpost_ids = the outposts it applies to (from list_clients; omit = all). status=archived archives it, status=active restores it. Max 10 active SOP: the 11th is refused with limit_reached. Show the user the title and steps before saving.

NameTypeReqDescription
confirm_idstring–Token di conferma ritornato dall'anteprima. Ripassa lo STESSO payload + confirm_id per eseguire davvero la scrittura.
descriptionstring––
outpost_idsarray––
schedulestring–Free text, e.g. "daily 08:30" or "Monday".
sop_idinteger–Omit to create a new SOP.
sourcestring–Where it comes from, e.g. "crm:sop#30".
statusstring––
stepsarray––
titlestring––

No output schema declared.

No examples provided.

search_catalog ~127

Search the Amazon catalog. IMPORTANT: use identifiers (ASIN/EAN/ISBN) for reliable, compact results. Keyword search returns up to 10 items (summaries only) and may be incomplete — prefer identifiers when you know the ASIN or EAN.

NameTypeReqDescription
account_idstring|number–ID dell'outpost Amazon (= un seller su uno specifico marketplace; vedi list_clients). Opzionale se il token è legato a un solo outpost.
identifierTypestring––
identifiersstring––
keywordsstring––

No output schema declared.

No examples provided.

send_feedback ~193

Send the user's feedback (a bug, an idea, a question or a general comment) straight to the Vendooly team — they read every one. Use it whenever the user reports a problem, is frustrated, hits an error, or suggests something. ALSO proactively OFFER to send it when something clearly is not working ("vuoi che lo segnali al team Vendooly?") and call it once they agree. Put the user's words in `message`; use `ai_context` to summarize what they were trying to do, which account/tool, and any error you saw. Confirm to the user once it is sent.

NameTypeReqDescription
ai_contextstring–Short note: what the user was doing, which account/tool, any error message you observed.
categorystring–Type of feedback (default other).
messagestringyesThe feedback in the user's own words (what happened / what they want).

No output schema declared.

No examples provided.

set_cockpit_target ~249

Set the monthly sales target of one outpost (seller × marketplace) for a calendar month. Owners/admins only. vat says whether the target is VAT included (inclusa, default, same basis as the data) or excluded (esclusa: the cockpit then flags it yellow because it compares different bases). status: proposto (default) | validato | concordato; changing the numbers of a validato/concordato target without passing status puts it back to proposto. Only validato/concordato targets drive the projection light. Confirm amount, month and VAT with the user before saving.

NameTypeReqDescription
acos_maxnumber–Max ACoS % (optional).
confirm_idstring–Token di conferma ritornato dall'anteprima. Ripassa lo STESSO payload + confirm_id per eseguire davvero la scrittura.
monthstringyesYYYY-MM
notestring––
outpost_idintegeryes–
sales_targetnumberyes–
statusstring––
tacos_maxnumber–Max TACoS % (optional).
vatstring––

No output schema declared.

No examples provided.

set_packing_information ~208

ACTION. Registra le SCATOLE del piano inbound FBA (dopo il packing confermato): per ogni packing group, le scatole con dimensioni in CM, peso in KG, quantità di scatole identiche e contenuto (SKU+quantità per scatola, salvo content_source diverso). Passo obbligatorio PRIMA di generare le opzioni di placement. Chiedi all'utente dimensioni/peso reali: Amazon le verifica in ricezione.

NameTypeReqDescription
account_idstring|number–ID dell'outpost Amazon (= un seller su uno specifico marketplace; vedi list_clients). Opzionale se il token è legato a un solo outpost.
confirm_idstring–Token di conferma ritornato dall'anteprima. Ripassa lo STESSO payload + confirm_id per eseguire davvero la scrittura.
groupingsarrayyes–
inbound_plan_idstringyes–

No output schema declared.

No examples provided.

title_seo_rollback ~145

Titolo-SEO (SCRITTURA): rimette titolo, generic_keyword, bullet e descrizione com'erano prima di un lotto, dal registro.

NameTypeReqDescription
account_idstring|number–ID dell'outpost Amazon (= un seller su uno specifico marketplace; vedi list_clients). Opzionale se il token è legato a un solo outpost.
batch_idstringyesbatch_id da apply_title_seo_batch o title_seo_status
confirm_idstring–Token di conferma ritornato dall'anteprima. Ripassa lo STESSO payload + confirm_id per eseguire davvero la scrittura.

No output schema declared.

No examples provided.

title_seo_status ~87

Titolo-SEO: stato per l'outpost (ultimo piano con i conteggi, ultimi lotti con esito, verificato, annullabile).

NameTypeReqDescription
account_idstring|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.

update_item_highlights ~348

Update Item Highlights on a listing. L'attributo UFFICIALE è title_differentiation (max 125 char, rollout titoli modulari 27/7/2026); item_highlights è il nome legacy visto su alcuni schema US — il tool risolve da solo quale espone lo schema del product type e scrive su quello. ATTENZIONE: non tutti i marketplace/product type lo espongono — dove manca il tool rifiuta con esito chiaro (not_supported) rimandando ai bullet_point (update_listing → bullet_point). VINCOLO Amazon: title_differentiation è accettato SOLO se il titolo (item_name) è ≤ 75 char — con un titolo più lungo il tool si ferma (title_over_limit): prima accorcia il titolo, poi scrivi gli highlights. Chiama senza confirm per il dry-run (VALIDATION_PREVIEW), confirm=true per scrivere.

NameTypeReqDescription
account_idstring|number–ID dell'outpost Amazon (= un seller su uno specifico marketplace; vedi list_clients). Opzionale se il token è legato a un solo outpost.
confirmboolean–true to apply after reviewing the dry-run
confirm_idstring–Token di conferma ritornato dall'anteprima. Ripassa lo STESSO payload + confirm_id per eseguire davvero la scrittura.
highlightsarrayyesArray of highlight strings (frasi brevi separate, totale ≤ 125 char)
product_typestring–Amazon product type — auto-detected if omitted
skustringyes–

No output schema declared.

No examples provided.

update_listing ~594

Modifica una listing esistente. SHORTCUT amichevoli (consigliati — costruiscono la struttura attributo corretta, niente schema SP-API a mano): bullets:[...] → bullet_point ("Funzionalità principali", la leva dei punti-elenco su amazon.it/EU, fino a 5 ~100 char l'uno), title → item_name, shipping_template → merchant_shipping_group (modello di spedizione: ID o nome esatto come in Seller Central; il tool risolve il nome nell'ID e rifiuta i nomi sconosciuti elencando i modelli veri; vale per le offerte FBM). In alternativa patches:[...] grezzi (JSON Patch SP-API, path /attributes/<nome>; la struttura dell'attributo si legge con get_product_types attributes=["<nome>"]). Il productType del PATCH viene preso dalla listing (GET productTypes) quando product_type non è passato: 'PRODUCT' resta solo come ultima spiaggia e con il suo schema generico ogni attributo specifico (care_instructions, style, …) dà issue 90000900. L'esito riporta product_type_used e product_type_source (arg | listing | fallback_*). validate_only:true = dry-run (Amazon valida senza applicare). ESITO: `ok` true/false + `message` già leggibile + `verify_with` (= get_listing sullo SKU dopo ~15 min; propagazione tipica <30 min, fino a 24 h). Il `submissionId` NON è un feed: non passarlo a check_feed_status. ok:false con issues[] severity ERROR = rifiutata da Amazon, correggi e riprova (prima con validate_only).

NameTypeReqDescription
account_idstring|number–ID dell'outpost Amazon (= un seller su uno specifico marketplace; vedi list_clients). Opzionale se il token è legato a un solo outpost.
bulletsarray–Punti elenco (bullet_point), fino a 5
confirm_idstring–Token di conferma ritornato dall'anteprima. Ripassa lo STESSO payload + confirm_id per eseguire davvero la scrittura.
patchesarray–JSON Patch SP-API grezzi (alternativa agli shortcut)
product_typestring–Product type Amazon (es. WINDOW_SHADE). Opzionale: se manca si legge dalla listing; passalo solo per forzarlo
shipping_templatestring–Modello di spedizione da assegnare (ID o nome come in Seller Central). Elenco: get_product_types product_type="PRODUCT" → shipping_templates
skustringyes–
titlestring–Nuovo titolo (item_name)
validate_onlyboolean–true = dry-run, valida senza scrivere

No output schema declared.

No examples provided.

update_mfn_quantity ~115

Update MFN inventory quantity for a SKU

NameTypeReqDescription
account_idstring|number–ID dell'outpost Amazon (= un seller su uno specifico marketplace; vedi list_clients). Opzionale se il token è legato a un solo outpost.
confirm_idstring–Token di conferma ritornato dall'anteprima. Ripassa lo STESSO payload + confirm_id per eseguire davvero la scrittura.
quantitynumberyes–
skustringyes–

No output schema declared.

No examples provided.

update_price ~117

Update price for a SKU

NameTypeReqDescription
account_idstring|number–ID dell'outpost Amazon (= un seller su uno specifico marketplace; vedi list_clients). Opzionale se il token è legato a un solo outpost.
confirm_idstring–Token di conferma ritornato dall'anteprima. Ripassa lo STESSO payload + confirm_id per eseguire davvero la scrittura.
currencystring––
pricenumberyes–
skustringyes–

No output schema declared.

No examples provided.

weekly_recap ~121

READ-ONLY operational recap, aggregates only (no customer data): revenue, orders, FBA/FBM split, account health and top products by sales velocity. Use when the user asks "how did it go", "recap", "how am I doing".

NameTypeReqDescription
account_idstring|number–ID dell'outpost Amazon (= un seller su uno specifico marketplace; vedi list_clients). Opzionale se il token è legato a un solo outpost.
daysnumber–Days to analyze (default 7)

No output schema declared.

No examples provided.

woo_amazon_mapping ~154

READ-ONLY. Maps WooCommerce products to the Amazon catalog of an outpost (account_id): same SKU in the Amazon catalog (data-hub), and with lookup_ean=true the EAN/GTIN searched in the Amazon catalog (max 20 EANs per call). Shows matched, unmatched, items without SKU or EAN. Changes nothing on either side.

NameTypeReqDescription
account_idstringyesAmazon outpost (seller × marketplace) from list_clients
limitnumber–Max WooCommerce products (default 200, cap 500)
lookup_eanboolean–Also search unmatched EANs in the Amazon catalog (default false)
store_idstringyes–

No output schema declared.

No examples provided.

woo_get_stock ~124

READ-ONLY, LIVE. Stock of WooCommerce products/variations (one row per sellable item: product_id, variation_id, SKU, EAN, quantity, stock status). By product_id, by sku, or the whole catalog; low_stock_threshold returns only items at or below it (or out of stock).

NameTypeReqDescription
limitnumber–Max products (default 100, cap 500)
low_stock_thresholdnumber––
product_idstring––
skustring––
store_idstringyes–

No output schema declared.

No examples provided.

woo_hub_query ~255

READ-ONLY, HISTORY from the Vendooly data-hub (synced from the WooCommerce store by the worker: initial load, then every hour and right after each store webhook). Views: products (catalog with SKU/EAN/price/stock), stock (daily stock & price snapshots), orders (order headers with a pseudonymous customer_hash instead of buyer data, with units), daily_sales (units and gross sales per day and SKU, cancelled/failed/refunded excluded), customers_rfm (per pseudonymous customer_hash: last order, first order, order count, spend, recency in days — for RFM; only orders synced with a customer_hash; the days window filters on the last order), sync_status (freshness), amazon_mapping (same SKU in this organization's Amazon catalog). Use it for trends and history; for the current state of the store use the live woo_* tools.

NameTypeReqDescription
daysnumber–Window for stock, orders, daily_sales (default 30, max 730)
limitnumber–Max rows (default 200, cap 1000)
store_idstringyesFrom woo_list_stores
viewstring–Default products

No output schema declared.

No examples provided.

woo_list_orders ~120

READ-ONLY, LIVE. Recent WooCommerce orders (no personal data: only number, status, date, totals, currency, countries and line items with SKU/quantity) plus revenue by currency excluding cancelled/refunded/failed.

NameTypeReqDescription
days_backnumber–Default 30, max 365
limitnumber–Max orders (default 50, cap 200)
statusstring–WooCommerce status, e.g. processing, completed, on-hold (comma separated allowed)
store_idstringyes–

No output schema declared.

No examples provided.

woo_list_products ~133

READ-ONLY, LIVE from the WooCommerce store. Products with SKU, EAN/GTIN (core global_unique_id or common GTIN plugin fields), regular/sale price, stock and variations (expanded for variable products). Filters: search, sku, status (publish|draft|private|any).

NameTypeReqDescription
include_variationsboolean–Default true
limitnumber–Max products (default 50, cap 500)
searchstring––
skustring––
statusstring––
store_idstringyesFrom woo_list_stores

No output schema declared.

No examples provided.

woo_list_stores ~75

READ-ONLY. WooCommerce stores connected to this Vendooly organization (store_id, URL, status, last sync, last webhook, last error). Call it first: every other woo_* tool needs store_id. If none is connected, tell the user to connect one in Settings → Integrations → Connect WooCommerce.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

woo_update_price ~178

ACTION on the WooCommerce store. Changes regular_price and/or sale_price (or clears the sale with clear_sale_price=true) of one product or variation. Changes beyond the safety limit (default ±50% vs the current price) are refused. Returns before → after. In safe mode the first call returns a PREVIEW with confirm_id: show it and call again with confirm_id only after the user approves.

NameTypeReqDescription
clear_sale_priceboolean––
confirm_idstring–Token di conferma ritornato dall'anteprima. Ripassa lo STESSO payload + confirm_id per eseguire davvero la scrittura.
product_idstringyes–
regular_pricenumber––
sale_pricenumber––
store_idstringyes–
variation_idstring––

No output schema declared.

No examples provided.

woo_update_stock ~142

ACTION on the WooCommerce store. Sets the stock quantity of one product or variation (enables stock management on it). Returns before → after. In safe mode the first call returns a PREVIEW with confirm_id: show it and call again with confirm_id only after the user approves.

NameTypeReqDescription
confirm_idstring–Token di conferma ritornato dall'anteprima. Ripassa lo STESSO payload + confirm_id per eseguire davvero la scrittura.
product_idstringyes–
quantityintegeryes–
store_idstringyes–
variation_idstring–For a variation of a variable product

No output schema declared.

No examples provided.

wp_create_post ~260

ACTION on the WordPress site. Creates a blog post. content is HTML (WordPress blocks optional). Default status is draft (not visible to readers); use publish only if the user explicitly asks, or future with date (ISO 8601) to schedule. In safe mode the first call returns a PREVIEW with confirm_id: show it and call again with confirm_id only after the user approves. Not retried on network errors (no duplicates): if it times out, check with wp_list_posts before retrying.

NameTypeReqDescription
categoriesarray–Category ids from wp_list_terms
confirm_idstring–Token di conferma ritornato dall'anteprima. Ripassa lo STESSO payload + confirm_id per eseguire davvero la scrittura.
contentstringyesPost body, HTML
datestring–ISO 8601 publish date (required for future)
excerptstring––
featured_mediainteger–Media id already in the WordPress library
site_idstringyes–
slugstring––
statusstring–Default draft
tagsarray–Tag ids from wp_list_terms
titlestringyes–

No output schema declared.

No examples provided.

wp_list_posts ~138

READ-ONLY, LIVE from the WordPress site. Blog posts (id, status, title, slug, link, dates, categories, tags, excerpt, content length), newest first. Filters: status (any|draft|pending|publish|future|private|trash), search. With post_id returns that single post including its full HTML content (use it before wp_update_post).

NameTypeReqDescription
limitnumber–Max posts (default 20, cap 200)
post_idstring––
searchstring––
site_idstringyesFrom wp_list_sites
statusstring––

No output schema declared.

No examples provided.

wp_list_sites ~88

READ-ONLY. WordPress sites/blogs connected to this Vendooly organization (site_id, URL, WordPress user, status, last error). Call it first: every other wp_* tool needs site_id. If none is connected, tell the user to connect one in Settings → Integrations → Connect WordPress blog (an Application Password is created on their site; no plugin needed).

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

wp_list_terms ~82

READ-ONLY, LIVE. Categories and tags of the WordPress site (id, name, slug, post count). Use the ids in categories/tags of wp_create_post / wp_update_post.

NameTypeReqDescription
limitnumber–Max per taxonomy (default 100, cap 500)
searchstring––
site_idstringyes–

No output schema declared.

No examples provided.

wp_update_post ~206

ACTION on the WordPress site. Changes only the given fields of an existing post (title, content, excerpt, status, date, slug, categories, tags, featured_media); e.g. status=publish publishes a draft. Returns before → after. In safe mode the first call returns a PREVIEW with confirm_id: show it and call again with confirm_id only after the user approves.

NameTypeReqDescription
categoriesarray––
confirm_idstring–Token di conferma ritornato dall'anteprima. Ripassa lo STESSO payload + confirm_id per eseguire davvero la scrittura.
contentstring––
datestring––
excerptstring––
featured_mediainteger––
post_idstringyes–
site_idstringyes–
slugstring––
statusstring––
tagsarray––
titlestring––

No output schema declared.

No examples provided.

Install

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

# add to Claude Code
claude mcp add --transport http com-vendooly-vendooly 'https://mcp.vendooly.com/mcp'
Common questions

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.

What did VerifyMCP test on the Vendooly MCP server?

VerifyMCP ran 13 checks on Vendooly, covering TLS certificate, Authorization, HTTPS, HSTS header and 9 more. Supply Chain Security and Provenance & Transparency do not apply to a hosted endpoint, so they were not tested. The score does not measure everything, and the scoring documentation lists what it leaves out.