Key takeaways
  • aserper/etsy-mcp exposes 40 tools covering listings, orders, shipping, inventory, payments, taxonomy, and return policies against a real Etsy shop.
  • The OAuth client requests all 20 Etsy Open API scopes by default — including listings_d, billing_r, cart_w, favorites_w, recommend_w — while no cart, favorites, recommend, or billing tool is registered (src/index.ts:24-30, 50-53, 8-19).
  • Etsy's own first-party Dev MCP server (mcp.api.etsycloud.com/mcp) states it 'does not call the Etsy API directly' — it teaches the API spec and operates no shop.
  • Listings can only be created as drafts via create_draft_listing; there is no direct publish tool.
  • The repo shows 3 stars, 3 forks, 0 open issues, MIT licence, and a last default-branch commit of 2026-04-02 as of the 2026-07-29 read.

01 What etsy-mcp (aserper) is and who ships it

If you need an AI assistant to actually run an Etsy shop — list products, manage orders, adjust inventory — the server to install is etsy-mcp, a community project by Amit Serper (aserper). Its OAuth flow requests all 20 Etsy Open API v3 scopes by default — including listings_d, billing_r, cart_w, favorites_w, and recommend_w — even though the server registers no cart, favorites, recommend, or billing tool at all (src/index.ts:24-30, 50-53, 8-19).

That's not Etsy's own first-party Dev MCP server, which explicitly does not touch a real shop at all. Etsy documents its own server at developers.etsy.com/documentation/mcp_server/devmcpserver (endpoint https://mcp.api.etsycloud.com/mcp) and states in its own words that it "does not call the Etsy API directly" — it exists only to teach an assistant the shape of the Etsy Open API v3 spec. aserper/etsy-mcp is the opposite: 40 tools that call the real API against a real shop, authenticated with OAuth2.

i
Who this is for: shop owners or developers wiring an AI assistant into an actual Etsy shop's listings, orders, inventory, or shipping — not developers who just want an assistant to learn the Etsy Open API v3 spec (that's what Etsy's own Dev MCP server is for).

etsy-mcp is unaffiliated with Etsy — a community server hosted at github.com/aserper/etsy-mcp, licensed MIT. Public record and source read on 2026-07-29 shows the repository at 3 stars, 3 forks, 0 open issues, with a last commit to the default branch on 2026-04-02. The repo's own GitHub description states "37 tools for listings, orders, shipping, reviews, inventory, payments, and more" — but the project's enumerated tool list, read directly, contains 40 named tools, not 37. That's a real discrepancy between the repo's own marketing string and its actual registered surface, and it's worth knowing before you count on either number.

02 Tools it exposes

The 40 tools below come from the source's tool registration, grouped by the modules listed at src/index.ts:8-19 — listings, shop, orders, transactions, shipping, reviews, users, taxonomy, images, inventory, payments, and return-policies.

ToolWhat it doesRead/write
search_listingsSearch listingsRead
get_listingFetch a single listingRead
create_draft_listingCreate a listing as a draftWrite
update_listingUpdate an existing listingWrite
delete_listingDelete a listingWrite
get_listings_by_shopList a shop's listingsRead
get_listing_imagesFetch listing imagesRead
upload_listing_imageUpload a listing imageWrite
upload_listing_videoUpload a listing videoWrite
delete_listing_imageDelete a listing imageWrite
get_listing_inventoryFetch inventory for a listingRead
update_listing_inventoryUpdate inventory for a listingWrite
get_shopFetch shop detailsRead
update_shopUpdate shop detailsWrite
find_shopsSearch for shopsRead
get_shop_sectionsFetch shop sectionsRead
manage_shop_sectionsCreate/update/delete shop sectionsWrite
get_shop_receiptsFetch a shop's receiptsRead
get_receiptFetch a single receiptRead
update_receiptUpdate a receiptWrite
create_shipmentCreate a shipmentWrite
get_transactions_by_shopFetch a shop's transactionsRead
get_transactionFetch a single transactionRead
get_transactions_by_receiptFetch transactions for a receiptRead
get_shipping_profilesFetch shipping profilesRead
create_shipping_profileCreate a shipping profileWrite
update_shipping_profileUpdate a shipping profileWrite
manage_shipping_destinationsManage shipping destinationsWrite
get_shipping_carriersFetch shipping carriersRead
get_reviews_by_listingFetch reviews for a listingRead
get_reviews_by_shopFetch reviews for a shopRead
get_meFetch the authenticated userRead
get_userFetch a userRead
get_user_addressesFetch a user's addressesRead
get_buyer_taxonomyFetch buyer taxonomyRead
get_taxonomy_propertiesFetch taxonomy propertiesRead
get_paymentsFetch paymentsRead
get_ledger_entriesFetch ledger entriesRead
get_return_policiesFetch return policiesRead
manage_return_policyCreate/update a return policyWrite

That's full Open API v3 coverage including the parts most integrations skip — buyer taxonomy, ledger entries, and return policies — alongside the ordinary listings/shop/orders surface.

03 Install and auth

Transport is stdio. No published Docker image tag is provided in the repository; build the image from source: docker run --rm (image built from repo).

bash
docker run --rm (image built from repo)

Auth is OAuth2 against Etsy Open API v3 OAuth2 scopes. The default scope set is not a short, task-scoped list — it's all 20 Etsy Open API scopes, requested automatically unless overridden (src/index.ts:24-30, 50-53). More on why that matters below.

04 What the source shows

Public record and source read on 2026-07-29 turns up the fact that carries this page: the OAuth client requests all 20 Etsy Open API scopes by default — including listings_d (delete), billing_r, email_r, profile_w, cart_r, cart_w, favorites_r, favorites_w, recommend_r, and recommend_w — even though the server registers no cart, favorites, recommendation, or billing tool at all. src/index.ts:24-30 defines a 20-entry ALL_SCOPES constant, and :50-53 passes scopes: config.scopes ?? ALL_SCOPES to the OAuth client by default. The registered tool modules, listed at src/index.ts:8-19, cover listings, shop, orders, transactions, shipping, reviews, users, taxonomy, images, inventory, payments, and return-policies — nothing more. The practical result: the consent screen a shop owner signs grants materially more access than the 40 tools can ever exercise.

Two more things the source shows that the README doesn't spell out. The refresh token is persisted to ~/.etsy-mcp/tokens.json, written with file mode 0o600 (src/index.ts:45-47, src/auth/token-store.ts:23-24) — a point in the server's favor, since a locked-down token file limits blast radius if the host is compromised. And the HTTP client self-throttles outbound calls to 10 requests per second via a 100ms minimum interval between requests, retrying once after a 401 by refreshing the token (src/client/etsy-client.ts:19, :100-110).

05 Quirks, gaps and the honest verdict

  • Draft-only listing creationcreate_draft_listing is the only listing-creation tool in the 40-tool set; there is no direct publish tool, so shipping a live listing still requires a separate step outside this server.
  • Low adoption — 3 GitHub stars and 3 forks as of the 2026-07-29 read, despite a 40-tool surface covering nearly the entire Open API v3. Unproven at scale.
  • Self-reported tool count disagrees with itself — the GitHub repo's own description says "37 tools," while the enumerated tool list read directly from the record contains 40 named tools. The two numbers come from the same project and don't match.
  • Wrong pick if you're only trying to teach an assistant the API shape — for that, Etsy's own Dev MCP server at https://mcp.api.etsycloud.com/mcp is the right tool: it needs no API key and, in its own words, "does not call the Etsy API directly." Its docs page states it provides "five tools," though the table beneath that line actually lists seven: learn_etsy_api, search_etsy_api, list_endpoints, get_endpoint, get_schema, list_guides, get_guide.

The verdict: pick aserper/etsy-mcp to operate a real Etsy shop through 40 tools spanning listings, orders, shipping, and inventory. Unless you only want an assistant that understands the Etsy Open API v3 spec well enough to help you build against it — then Etsy's own Dev MCP server is the right, and simpler, tool, since it needs no shop and no OAuth grant at all.

07 Frequently asked questions

Is aserper/etsy-mcp an official Etsy product?
No. It's a community project by Amit Serper, unaffiliated with Etsy, licensed MIT. Etsy's own first-party MCP server is a separate, spec-teaching product documented at developers.etsy.com/documentation/mcp_server/devmcpserver.
What transport does aserper/etsy-mcp use?
stdio, per the curated record's install configuration.
Does aserper/etsy-mcp let an assistant publish a live Etsy listing?
Not directly. Its listing-creation tool is create_draft_listing, and the 40-tool set has no separate publish tool.
Why would I use Etsy's own Dev MCP server instead?
If you only need an assistant to understand the Etsy Open API v3 spec — its docs state it 'does not call the Etsy API directly' — that server needs no OAuth grant and no shop at all.
What OAuth scopes does aserper/etsy-mcp request by default?
All 20 Etsy Open API scopes via its ALL_SCOPES constant (src/index.ts:24-30), including listings_d, billing_r, email_r, cart_w, favorites_w and recommend_w, even though no cart, favorites, recommend, or billing tool is registered.
i
Sources & verification. Setup performed and every number on this page verified 2026-07-29 against: aserper/etsy-mcp — GitHub repository · Etsy Dev MCP Server documentation
AM
Alex Mashkovtsev
Founder · Eng Lead at INSO

Alex leads engineering at INSO, an AI-native product & commerce studio. He's shipped custom Shopify apps, checkout redesigns, and theme architecture for brands across the US and EU.