
MCP server providing full access to the Etsy Open API v3 — 37 tools for listings, orders, shipping, reviews, inventory, payments, and more
概览
A Model Context Protocol (MCP) server that provides full access to the Etsy Open API v3. Supports both buyer browsing and seller shop management with covering listings, orders, shipping, reviews, inventory, payments, and more. - — 37 MCP tools wrapping ~70 API endpoints - — Secure browser-based authentication with automatic token refresh - — Search listings, manage shops, process orders, handle shipping - — Concurrency-safe 10 req/sec limiter to respect Etsy's limits - — Exponential backoff on 429/5xx errors, automatic token refresh on 401 - — Full type safety with types generated from Etsy's official OpenAPI spec Register at Etsy Developers to get your API credentials. Copy .env.example to .env and fill in your credentials: On first use, call the authenticate tool. This opens your browser to Etsy's OAuth consent page using PKCE. After granting access, tokens are stored at ~/.etsy-mcp/tokens.json (owner-only permissions) and auto-refreshed when they expire.
README
以下为原文 README 节选,完整内容请查看原文。
Etsy MCP Server
A Model Context Protocol (MCP) server that provides full access to the Etsy Open API v3. Supports both buyer browsing and seller shop management with 37 tools covering listings, orders, shipping, reviews, inventory, payments, and more.
Features
- Full Etsy API v3 coverage — 37 MCP tools wrapping ~70 API endpoints
- OAuth 2.0 + PKCE — Secure browser-based authentication with automatic token refresh
- Both buyer and seller workflows — Search listings, manage shops, process orders, handle shipping
- Rate limiting — Concurrency-safe 10 req/sec limiter to respect Etsy’s limits
- Auto-retry — Exponential backoff on 429/5xx errors, automatic token refresh on 401
- TypeScript — Full type safety with types generated from Etsy’s official OpenAPI spec
| Category | Tools |
|---|---|
| Listings | search_listings, get_listing, create_draft_listing, update_listing, delete_listing, get_listings_by_shop |
| Shop | get_shop, update_shop, find_shops, get_shop_sections, manage_shop_sections |
| Orders | get_shop_receipts, get_receipt, update_receipt, create_shipment |
| Transactions | get_transactions_by_shop, get_transaction, get_transactions_by_receipt |
| Shipping | get_shipping_profiles, create_shipping_profile, update_shipping_profile, manage_shipping_destinations, get_shipping_carriers |
| Reviews | get_reviews_by_listing, get_reviews_by_shop |
| Users | get_me, get_user, get_user_addresses |
| Taxonomy | get_buyer_taxonomy, get_taxonomy_properties |
| Images/Video | get_listing_images, upload_listing_image, upload_listing_video, delete_listing_image |
| Inventory | get_listing_inventory, update_listing_inventory |
| Payments | get_payments, get_ledger_entries |
| Return Policies | get_return_policies, manage_return_policy |
| Auth | authenticate |
Installation
From source
git clone https://github.com/aserper/etsy-mcp.git
cd etsy-mcp
npm install
npm run build
Docker
docker pull ghcr.io/aserper/etsy-mcp:latest
Configuration
Register at Etsy Developers to get your API credentials.
| Variable | Required | Description |
安装
docker run --rm \配置
{
"mcpServers": {
"etsy": {
"command": "node",
"args": ["/path/to/etsy-mcp/dist/index.js"],
"env": {
"ETSY_API_KEY": "your_keystring",
"ETSY_SHARED_SECRET": "your_shared_secret"
}
}
}
}