etsy-mcp
Wraps the Etsy Open API v3 to manage Etsy shops at scale, including reading shops, listings, listing images, videos, inventory, properties, translations, and digital files; managing receipts, payments, and shipping profiles; browsing seller taxonomy and reviews; looking up users and buyer addresses; and bulk creating/updating listings or image alt text.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@etsy-mcpupdate alt text for every image in my Etsy shop to be descriptive"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
etsy-mcp
Professional-grade Model Context Protocol server wrapping the Etsy Open API v3 as pure capability primitives. Built so AI agents (Claude, ChatGPT, Gemini, local Llama) can manage Etsy shops at scale without baked-in heuristics getting in their way.
What this is
90 tools across 13 categories — every endpoint your agent needs to:
Read shops, listings, listing images/videos/inventory/properties/translations/digital files
Manage receipts, payments, shipping profiles
Walk the seller taxonomy and read reviews
Look up users and buyer addresses
Bulk create / update listings from templates (rate-limit-friendly)
Bulk update image alt_text across an entire shop
Every tool is a thin wrapper around an Etsy API endpoint. No scoring algorithms. No SEO heuristics. No tag generators. No "AI search readiness" judgments. The MCP is a capability layer; your model is the reasoning layer.
Related MCP server: Etsy MCP Server
Why pure primitives
A baked-in seo_score_listing heuristic goes stale the day it ships. AI ranking algorithms change constantly, and Claude/GPT/Gemini/Llama all reason differently about SEO. By keeping every judgment inside the model, the MCP works identically across every agent today and continues to work as both Etsy's algorithms and your model evolve. Less code, lower test surface, no hidden intelligence to debug. See docs/WORKFLOWS.md for end-to-end LLM-driven workflow examples that prove the model alone is enough.
How we compare
Project | Tools | Reasoning baked in? |
37 | partial | |
10 | partial | |
etsy-mcp (this project) | 90 | none — pure primitives |
Quick start
Install
uvx etsy-mcp@latest --helpOr install into a project:
uv add etsy-mcpAuthenticate
For shared n8n/MCP authentication, configure the private Etsy token service:
ETSY_KEYSTRING=your_etsy_app_keystring
ETSY_SHARED_SECRET=your_etsy_app_shared_secret
ETSY_BROKER_URL=http://etsy-token:8080
ETSY_BROKER_KEY=the_token_services_client_keys_mcp_valuePass these variables to the MCP process. From this checkout, run
uv run --package etsy-mcp etsy-mcp auth info to inspect the service. MCP ignores
local tokens in this mode; only the service refreshes them. See
docs/TOKEN_SERVICE.md for migration and Docker/host setup.
Run this checkout containing the change; the upstream PyPI package does not
automatically include changes from this fork.
For standalone authentication without broker variables:
etsy-mcp auth loginThis walks you through the OAuth 2.0 + PKCE flow, opens your browser, captures the callback on localhost:3456, and writes tokens to ~/.config/etsy-mcp/tokens.json (mode 0600). Refresh tokens rotate automatically; you only re-auth if your refresh token is invalidated.
Register with Claude Code
claude mcp add etsy -- uvx etsy-mcp@latestOr in claude_desktop_config.json:
{
"mcpServers": {
"etsy": {
"command": "uvx",
"args": ["etsy-mcp@latest"],
"env": {
"ETSY_KEYSTRING": "your-app-keystring",
"ETSY_SHARED_SECRET": "your-app-shared-secret"
}
}
}
}Remote Docker deployment
This fork supports both local stdio and long-running Streamable HTTP transport. The included Docker Compose file runs the MCP server continuously while keeping the host port loopback-only by default:
docker compose build
docker compose up -d
docker compose logs -f etsy-mcpThe MCP endpoint is then:
http://127.0.0.1:8000/mcpPut an authenticated HTTPS reverse proxy in front of that endpoint for remote
clients. Do not expose the container port directly to the public internet. The
MCP container joins the external etsy-auth Docker network and reaches the
shared token service at http://etsy-token:8080.
Local stdio remains the default:
uv run --package etsy-mcp etsy-mcpYou can also select Streamable HTTP explicitly without Docker:
uv run --package etsy-mcp etsy-mcp serve \
--transport streamable-http \
--host 127.0.0.1 \
--port 8000 \
--path /mcpConfiguration
Variable | Required | Purpose |
| Yes | Etsy application keystring |
| In broker mode | Etsy application shared secret |
| With broker key | Service base URL, e.g. |
| With broker URL | Token service |
| No | Broker timeout; default 60 seconds |
| No |
|
| HTTP only | Bind host; default |
| HTTP only | Bind port; default |
| HTTP only | Streamable HTTP path; default |
| Standalone only | Local token file override |
| Standalone only | Bootstrap from an existing refresh token |
Either broker variable selects broker mode; incomplete configuration fails instead
of using local OAuth. See .env.example for other server settings.
Documentation
docs/ARCHITECTURE.md — package layering and responsibilities
docs/OAUTH.md — full PKCE flow and token rotation
docs/TOKEN_SERVICE.md — shared n8n/MCP token-service authentication
docs/RATE_LIMITS.md — token bucket, daily counter, backoff
docs/ERROR_HANDLING.md — exception hierarchy and envelope shapes
docs/TESTING.md — unit and integration test strategy
docs/WORKFLOWS.md — end-to-end LLM workflows using only primitives
docs/permissions.md — policy gates and confirmation modes
Security notice
In token-service mode, refresh tokens stay on the private service; MCP obtains access tokens in memory and never falls back to local OAuth. In standalone mode, tokens are stored at ~/.config/etsy-mcp/tokens.json with mode 0600, and the latest refresh response is persisted. The F3 redaction layer scrubs OAuth tokens, broker keys, buyer PII and shop credentials. Report vulnerabilities per SECURITY.md — never via public issues.
Contributing
See CONTRIBUTING.md for the development workflow, golden paths, and PR conventions. The full project rules live in AGENTS.md — read them before opening a PR.
License
MIT — copyright 2026 Rick Villucci
This server cannot be deployed
Maintenance
Related MCP Connectors
Etsy MCP — public listing search via Etsy Open API v3 (api_key auth only)
Etsy search + Etsy shop sales: live listing rows and sales counters via Apify MCP.
Directory of APIs, merchants, and tools AI agents can actually use.
Agentic commerce gateway: discovery, search, checkout across Shopify/Woo/Odoo/PrestaShop.
Related MCP Servers
- FlicenseNot gradedqualityNot gradedmaintenanceEnables seamless integration with Etsy's marketplace API v3 to search listings, manage shop inventory, create and update products, optimize SEO, and access seller resources with OAuth support for authenticated operations.5-
- AlicenseAqualityDmaintenanceEnables AI assistants to search for products, retrieve listing details, get shop information, discover trending items, and access reviews on Etsy through the Etsy API v3.716MIT
- AlicenseBqualityDmaintenanceProvides full access to the Etsy Open API v3 for both buyer browsing and seller shop management through 37 specialized tools. It enables users to manage listings, process orders, handle shipping, and access inventory data via secure OAuth 2.0 authentication.419MIT
- FlicenseBqualityCmaintenanceEnables Etsy sellers to manage their shops via natural language, including listing CRUD, bulk price and quantity updates by SKU, whole-shop A-F grade audits, photo uploads, shipping profiles, conversations, receipts, fulfillment tracking, and profit calculation.19-