Letting an AI agent run an Etsy shop safely

Every change the agent wants to make in my shop is previewed first and runs only after I agree.

3 min read

Etsy Automation Manager is an MCP server I built so an AI agent can manage my own Etsy shops: listings, stock and prices, media, shipping profiles and orders. Giving an agent write access to a real shop is the risky part. A wrong call can publish a listing, which costs a listing fee, or change stock and prices. So the design starts from one rule: the agent can propose any change, but nothing runs until I have seen it and agreed.

The risk of a helpful agent

An agent that wants to help will act. Ask it to tidy up a listing and it may also adjust the price, the quantity or the shipping profile, all through valid API calls. The API cannot tell a change I wanted from one the agent guessed.

The server works with several Etsy accounts and shops in different regions, which makes a mistaken write easier to miss. Writes are where I wanted a hard stop that the agent cannot skip, even when it is confident. For extra caution there is a read-only login that registers only the read tools, so in that mode the agent cannot even see a write tool.

The term "Etsy" is a trademark of Etsy, Inc. This application uses the Etsy API but is not endorsed or certified by Etsy, Inc. The server is tested offline against mocked HTTP; tests against a live shop are still pending.

Flow: the agent calls a write tool and gets a preview of effects, warnings and the state before; you agree; the same call with confirm runs once within ten minutes. Changed arguments loop back to a new preview.

Preview first, then confirm

Every write is two calls. The first returns a preview with the effects, any warnings and the state before the change, and it changes nothing. The agent shows me that preview. Only after I agree does it send the same call with confirm set to true, and that works within ten minutes and only once.

The key is a hash of the tool, the shop and the arguments, so if the agent changes anything, it needs a new preview. New listings are always drafts, and publishing is a separate confirmed change. Tokens stay in files only I can read, and login uses OAuth with PKCE.

What the API does not allow

Before promising features, I mapped what the Etsy API cannot do. There is nothing for messages, ads, stats, coupons or refunds, marketplace search is out of scope, and there is no endpoint to copy a listing. That is why automatic product research and template products are planned, not built.

The server itself is tested offline against mocked HTTP, and tests against a live shop are still pending. Mapping the limits early kept the project honest about what an agent can really do in a shop.

Project: Etsy Automation Manager

Newsletter

One short email when a new post goes live.

New project? Let's talk.

Contact