etsy_create_ draft_ listingCreates a physical draft listing product in a shop on the Etsy channel.
Publish drafts, retune inventory and pricing, mark receipts shipped with tracking, edit shipping profiles, and read the payment ledger for the shop you authorize.
PopMCPEtsy
Every listing, order, fulfillment, policy, payment and review operation the Open API v3 exposes, plus the shop events PopMCP can watch.
etsy_create_ draft_ listingCreates a physical draft listing product in a shop on the Etsy channel.
etsy_delete_ listingOpen API V3 endpoint to delete a ShopListing.
etsy_find_ all_ active_ listings_ by_ shopRetrieves a list of all active listings on Etsy in a specific shop, paginated by listing creation date.
etsy_find_ all_ listings_ activeA list of all active listings on Etsy paginated by their creation date.
etsy_get_ listingRetrieves a listing record by listing ID.
etsy_get_ listings_ by_ listing_ idsAllows to query multiple listing ids at once.
etsy_get_ listings_ by_ shopEndpoint to list Listings that belong to a Shop.
etsy_update_ listingUpdates a listing, identified by a listing ID, for a specific shop identified by a shop ID.
etsy_create_ shop_ shipping_ profileCreates a new ShippingProfile.
etsy_get_ shop_ shipping_ profilesRetrieves a list of shipping profiles available in the specific Etsy shop identified by its shop ID.
etsy_get_ shop_ return_ policiesReturns a shop's list of existing Return Policies
etsy_create_ shop_ sectionCreates a new section in a specific shop.
etsy_get_ shop_ sectionsRetrieves the list of shop sections in a specific shop identified by shop ID.
etsy_create_ receipt_ shipmentSubmits tracking information for a Shop Receipt, which creates a Shop Receipt Shipment entry for the given receiptid.
etsy_find_ shopsOpen API V3 endpoint for searching shops by name.
etsy_get_ shopRetrieves the shop identified by a specific shop ID.
etsy_get_ shop_ by_ owner_ user_ idRetrieves the shop identified by the shop owner's user ID.
etsy_get_ shop_ receiptRetrieves a receipt, identified by a receipt id, from an Etsy shop.
etsy_get_ shop_ receipt_ transactions_ by_ shopRetrieves the list of transactions associated with a shop.
etsy_get_ shop_ receiptsRequests the Shop Receipts from a specific Shop, unfiltered or filtered by receipt id range or offset, date, paid, and/or shipped purchases.
etsy_update_ shop_ receiptUpdates the status of a receipt, identified by a receipt id, from an Etsy shop.
etsy_get_ listing_ imagesRetrieves all listing image resources for a listing with a specific listing ID.
etsy_get_ paymentsRetrieves a list of payments from a shop identified by shopid.
etsy_get_ listing_ inventoryRetrieves the inventory record for a listing.
etsy_get_ meReturns basic info for the user making the request.
etsy_get_ properties_ by_ taxonomy_ idRetrieves a list of product properties, with applicable scales and values, supported for a specific seller taxonomy ID.
etsy_get_ reviews_ by_ shopOpen API V3 to retrieve the reviews from a shop given its ID.
etsy_get_ seller_ taxonomy_ nodesRetrieves the full hierarchy tree of seller taxonomy nodes.
etsy_get_ shop_ payment_ account_ ledger_ entriesGet a Shop Payment Account Ledger's Entries
etsy_update_ listing_ inventoryUpdates the inventory for a listing identified by a listing ID.
etsy_delete_ listing_ propertyDeletes a property for a Listing.
etsy_get_ featured_ listings_ by_ shopRetrieves Listings associated to a Shop that are featured.
etsy_get_ listing_ propertiesGet a listing's properties
etsy_get_ listing_ property[Feedback only] Retrieves a listing's property
etsy_get_ listings_ by_ shop_ receiptGets all listings associated with a receipt.
etsy_get_ listings_ by_ shop_ return_ policyGets all listings associated with a Return Policy.
etsy_get_ listings_ by_ shop_ section_ idRetrieves all the listings from the section of a specific shop.
etsy_update_ listing_ propertyUpdates or populates the properties list defining product offerings for a listing.
etsy_create_ shop_ shipping_ profile_ destinationCreates a new shipping destination, which sets the shipping cost, carrier, and class for a destination in a shipping profile.
etsy_create_ shop_ shipping_ profile_ upgradeCreates a new shipping profile upgrade, which can establish a price for a shipping option, such as an alternate carrier or faster delivery.
etsy_delete_ shop_ shipping_ profileDeletes a ShippingProfile by given id.
etsy_delete_ shop_ shipping_ profile_ destinationDeletes a shipping destination and removes the destination option from every listing that uses the associated shipping profile.
etsy_delete_ shop_ shipping_ profile_ upgradeDeletes a shipping profile upgrade and removes the upgrade option from every listing that uses the associated shipping profile.
etsy_get_ shipping_ carriersRetrieves a list of available shipping carriers and the mail classes associated with them for a given country
etsy_get_ shop_ shipping_ profileRetrieves a Shipping Profile referenced by shipping profile ID.
etsy_get_ shop_ shipping_ profile_ destinations_ by_ shipping_ profileRetrieves a list of shipping destination objects associated with a shipping profile.
etsy_get_ shop_ shipping_ profile_ upgradesRetrieves the list of shipping profile upgrades assigned to a specific shipping profile.
etsy_update_ shop_ shipping_ profileChanges the settings in a shipping profile.
etsy_update_ shop_ shipping_ profile_ destinationUpdates an existing shipping destination, which can set or reassign the shipping cost, carrier, and class for a destination.
etsy_update_ shop_ shipping_ profile_ upgradeUpdates a shipping profile upgrade and updates any listings that use the shipping profile.
etsy_consolidate_ shop_ return_ policiesConsolidates Return Policies by moving all listings from a source return policy to a destination return policy, and deleting the source return policy.
etsy_create_ shop_ return_ policyCreates a new Return Policy.
etsy_delete_ shop_ return_ policyDeletes an existing Return Policy.
etsy_get_ shop_ return_ policyRetrieves an existing Return Policy.
etsy_update_ shop_ return_ policyUpdates an existing Return Policy.
etsy_create_ shop_ readiness_ state_ definitionCreates a new ReadinessStateDefinition.
etsy_delete_ shop_ readiness_ state_ definitionDeletes a ReadinessStateDefinition by given readiness state definition ID.
etsy_delete_ shop_ sectionDeletes a section in a specific shop given a valid shopsectionid.
etsy_get_ shop_ readiness_ state_ definitionRetrieves a ProcessingProfile referenced by readiness state definition ID.
etsy_get_ shop_ readiness_ state_ definitionsRetrieves a list of ProcessingProfiles available in the specific Etsy shop identified by its shop ID.
etsy_get_ shop_ sectionRetrieves a shop section, referenced by section ID and shop ID.
etsy_update_ shop_ readiness_ state_ definitionUpdates an existing ReadinessStateDefinition.
etsy_update_ shop_ sectionUpdates a section in a specific shop given a valid shopsectionid.
etsy_get_ shop_ receipt_ transactionRetrieves a transaction by transaction ID.
etsy_get_ shop_ receipt_ transactions_ by_ listingRetrieves the list of transactions associated with a listing.
etsy_get_ shop_ receipt_ transactions_ by_ receiptRetrieves the list of transactions associated with a specific receipt.
etsy_update_ shopUpdates a shop.
etsy_create_ listing_ translationCreates a ListingTranslation by listingid and language
etsy_delete_ listing_ fileDeletes a file from a specific listing.
etsy_delete_ listing_ imageOpen API V3 endpoint to delete a listing image.
etsy_delete_ listing_ personalizationDeletes personalization for a listing.
etsy_delete_ listing_ videoOpen API V3 endpoint to delete a listing video.
etsy_delete_ user_ addressOpen API V3 endpoint to delete a UserAddress for a User.
etsy_get_ all_ listing_ filesRetrieves all the files associated with the given digital listing.
etsy_get_ listing_ fileRetrieves a single file associated with the given digital listing.
etsy_get_ listing_ imageRetrieves the references and metadata for a listing image with a specific image ID.
etsy_get_ listing_ personalizationRetrieves a listing's personalization questions by listing ID.
etsy_get_ listing_ translationGet a Translation for a Listing in the given language
etsy_get_ listing_ videoRetrieves a single video associated with the given listing.
etsy_get_ listing_ videosRetrieves all listing video resources for a listing with a specific listing ID.
etsy_get_ payment_ account_ ledger_ entry_ paymentsGet a Payment from a PaymentAccount Ledger Entry ID, if applicable
etsy_get_ shop_ payment_ by_ receipt_ idRetrieves a payment from a specific receipt, identified by receiptid, from a specific shop, identified by shopid
etsy_get_ user_ addressOpen API V3 endpoint to retrieve a UserAddress for a User.
etsy_get_ user_ addressesOpen API V3 endpoint to retrieve UserAddresses for a User.
etsy_update_ listing_ personalizationCreates or updates personalization settings for a listing, allowing the seller to collect personalization from the buyer.
etsy_update_ listing_ translationUpdates a ListingTranslation by listingid and language
etsy_get_ buyer_ taxonomy_ nodesRetrieves the full hierarchy tree of buyer taxonomy nodes.
etsy_get_ holiday_ preferencesRetrieves a list of holidays that are available to a shop to set a preference for.
etsy_get_ listing_ variation_ imagesGets all variation images on a listing.
etsy_get_ properties_ by_ buyer_ taxonomy_ idRetrieves a list of product properties, with applicable scales and values, supported for a specific buyer taxonomy ID.
etsy_get_ reviews_ by_ listingOpen API V3 to retrieve the reviews for a listing given its ID.
etsy_get_ shop_ payment_ account_ ledger_ entryGet a single Shop Payment Account Ledger's Entry
etsy_get_ userRetrieves an user profile based on an unique user ID.
etsy_pingCheck to confirm connectivity to the Etsy API with an application
etsy_token_ scopesCheck the scopes of the provided token
etsy_update_ holiday_ preferencesUpdates the preference for whether the seller will process orders or not on the holiday.
etsy_update_ variation_ imagesCreates variation images on a listing.
etsy_get_ listing_ offeringGet an Offering for a Listing
etsy_get_ listing_ productOpen API V3 endpoint to retrieve a ListingProduct by ID.
etsy_get_ shop_ production_ partnersRetrieves a list of production partners available in the specific Etsy shop identified by its shop ID.
Authorize once, then an endpoint your client signs into. Nothing to deploy, and nothing to install on the Etsy side.
Bring your own Etsy app: enter its API Key (keystring) and Shared Secret, then authorize in the browser. Etsy handles login and shop selection, no password is shared, and the connection is locked to that one shop.
your-etsy-valueabc123def456ghi789jkl012••••••••••••3f7aRead-only keeps the agent on listings, receipts and ledger reads. Full access adds writes — hold approval for what shoppers see: deleted listings, repriced stock, receipts marked shipped. Full catalog adds rarer tools.
Drop the PopMCP URL into Claude, ChatGPT, Codex or any other supported client. It signs in through PopMCP with OAuth, so your Etsy credential never leaves the server.
app.popmcp.com/mcp/…Ask for something harmless before you turn writes on. Once it comes back clean, widen the tool set or switch the connection to full access.
Show last month's paid receipts and what actually landed in my payout ledger
etsy_get_shop_receiptsok
Then just ask for the work
“Show last month's paid receipts and what actually landed in my payout ledger”
“Mark every paid order from this week as shipped and attach the tracking numbers”
“Draft a linen apron listing using my standard shipping profile and stock levels”
“Which reviews under 4 stars mention listings in my Ceramics section”
One hosted endpoint, registered once per client. The same tools and the same permissions, whichever window the request comes from.
Add the PopMCP URL under Settings → Connectors and the tools appear in every chat.
The same endpoint, registered in the browser. Nothing to install on the machine you are working from.
Register PopMCP as a custom connector, then let ChatGPT read and update the account.
Wire the endpoint into Codex or the Codex CLI when a task needs live business context, not a fixture.
Register the remote MCP server in OpenCode's config for terminal-first and scripted agent runs.
Add PopMCP as an MCP server in Z.ai's desktop app and work the account from the same window.
FAQ
What teams ask before putting Etsy behind an AI client.
You connect with your own Etsy app, so the form asks for its API Key (keystring) and its Shared Secret, alongside an optional Auth type display field. From there the flow is an OAuth redirect: you authorize PopMCP in your browser and Etsy handles the login itself, so no password is shared with us. There is no long-lived key to paste anywhere else.
The one you pick during the browser authorization. Etsy handles shop selection at that moment and the MCP server is then locked to that single shop, so writes such as update_listing or create_receipt_shipment can only ever land there. If you are unsure which identity the connection resolved to, get_me and get_shop_by_owner_user_id will tell you.
100 operations across 27 API modules, split 61 read to 39 write. That spans listings and their inventory, images, properties, translations and personalization, shop sections, shipping and return policies, processing and readiness profiles, production partners, receipts and fulfillment, transactions, payments and the ledger, reviews, your profile and addresses, and the buyer and seller taxonomies. Your AI client loads 30 tools by default and searches the rest on demand, so it does not drown in a hundred definitions.
From scratch. The full draft to inventory to images to publish flow is covered, so an agent can call create_draft_listing, fill variations and stock with update_listing_inventory, populate attributes with update_listing_property, and take it live with update_listing. get_properties_by_taxonomy_id and get_seller_taxonomy_nodes give it the valid categories and attribute values to work with rather than guessing them.
Yes, and this is the part that surprises people. Etsy's Open API v3 includes marketplace-wide browse endpoints, so find_shops and find_all_listings_active reach beyond your own shop, and find_all_active_listings_by_shop reads the active listings of a specific shop by its ID. Every write, though, stays inside the shop the connection is locked to.
There are 15 triggers. Eight are polled, covering the order lifecycle from received, updated and paid through shipped, delivered and cancelled, plus new reviews and payment account activity. The rest use change detection to notice listings being created, going live, changing state or selling, along with shop section and shipping profile edits. Neither kind is a push webhook from Etsy, so treat them as near-real-time rather than instant.
No. PopMCP hosts it and gives you a Streamable HTTP MCP URL. There is nothing to deploy, no callback URL to register, and no infrastructure to keep running or patch.
Any client that supports a remote Streamable HTTP MCP server — Claude Desktop, Claude Web, ChatGPT custom connectors, Codex and the Codex CLI, OpenCode and Z.ai's ZCode, as well as editors such as Cursor, Windsurf and Zed. Your client signs in to PopMCP with OAuth; the provider credential never leaves the server.
Loading 100 tool definitions into every conversation burns context before the work starts. PopMCP loads a curated 30-tool set covering the everyday workflows and keeps the rest searchable, so your AI pulls a specialist tool only when a task needs it. You can switch a connection to the full catalog at any time.
A tool is something your AI calls — there are 100 here. A trigger is something PopMCP watches for you: 15 Etsy events that can start work on the PopMCP side. Triggers never enter your AI client's context, and none of them ask you to paste a callback URL into Etsy.
Launch a hosted MCP endpoint for Etsy, keep tool access under control, and start testing real workflow prompts right away.