@Mcpengine/Etsy
FreeNot checkedComprehensive MCP server for the Etsy API v3, providing 50+ tools to manage listings, shops, orders, payments, and more through natural language.
About
Comprehensive MCP server for the Etsy API v3, providing 50+ tools to manage listings, shops, orders, payments, and more through natural language.
README
The most complete Model Context Protocol (MCP) server for the Etsy API v3, featuring 50+ tool modules covering virtually the entire Etsy API surface.
Features
- 50+ tools across every Etsy API domain
- Full Etsy API v3 coverage
- Zod-validated input schemas on every tool
readOnlyHinton all GET/list operationsdestructiveHinton all delete operations- Cursor/offset pagination on all list tools
- Axios-based client with OAuth bearer token support
- TypeScript with 0 compilation errors
Tools Index
Listings (Core)
| Tool | Description |
|---|---|
etsy_listings_list |
List active listings with filters |
etsy_listing_get |
Get a single listing |
etsy_listings_get_by_ids |
Batch-fetch listings by IDs |
etsy_listings_list_by_shop |
List all listings in a shop |
etsy_listing_create |
Create a new listing |
etsy_listing_update |
Update a listing |
etsy_listing_delete |
Delete a listing |
etsy_listings_featured |
Get featured listings |
Listing Images
| Tool | Description |
|---|---|
etsy_listing_images_list |
List images for a listing |
etsy_listing_image_get |
Get a specific image |
etsy_listing_image_upload |
Upload an image via URL |
etsy_listing_image_delete |
Delete an image |
etsy_listing_images_reorder |
Reorder listing images |
Listing Videos
| Tool | Description |
|---|---|
etsy_listing_videos_list |
List videos |
etsy_listing_video_get |
Get a specific video |
etsy_listing_video_upload |
Upload/attach a video |
etsy_listing_video_delete |
Remove a video |
Listing Inventory
| Tool | Description |
|---|---|
etsy_listing_inventory_get |
Get inventory (variations, prices, quantities) |
etsy_listing_inventory_update |
Update inventory |
Listing Properties
| Tool | Description |
|---|---|
etsy_listing_properties_list |
List properties |
etsy_listing_property_get |
Get a property |
etsy_listing_property_update |
Update a property |
etsy_listing_property_delete |
Delete a property |
Digital Files
| Tool | Description |
|---|---|
etsy_listing_files_list |
List digital download files |
etsy_listing_file_get |
Get a file |
etsy_listing_file_upload |
Upload a digital file |
etsy_listing_file_delete |
Delete a file |
Translations
| Tool | Description |
|---|---|
etsy_listing_translations_list |
List translations |
etsy_listing_translation_get |
Get a translation |
etsy_listing_translation_create |
Create translation |
etsy_listing_translation_update |
Update translation |
Variation Images
| Tool | Description |
|---|---|
etsy_listing_variation_images_get |
Get variation images |
etsy_listing_variation_images_update |
Update variation images |
Shops
| Tool | Description |
|---|---|
etsy_shop_get |
Get a shop |
etsy_shop_update |
Update a shop |
etsy_shops_by_owner |
Get shops by user |
etsy_shop_find |
Search shops by name |
Shop Sections
| Tool | Description |
|---|---|
etsy_shop_sections_list |
List sections |
etsy_shop_section_get |
Get a section |
etsy_shop_section_create |
Create a section |
etsy_shop_section_update |
Update a section |
etsy_shop_section_delete |
Delete a section |
Shop About, Production Partners, Return Policies
| Tool | Description |
|---|---|
etsy_shop_about_get |
Get shop About page |
etsy_shop_production_partners_list |
List production partners |
etsy_shop_production_partner_create |
Create partner |
etsy_shop_production_partner_update |
Update partner |
etsy_shop_production_partner_delete |
Delete partner |
etsy_shop_return_policies_list |
List return policies |
etsy_shop_return_policy_get |
Get a policy |
etsy_shop_return_policy_create |
Create policy |
etsy_shop_return_policy_update |
Update policy |
etsy_shop_return_policy_delete |
Delete policy |
Shipping Profiles
| Tool | Description |
|---|---|
etsy_shop_shipping_profiles_list |
List profiles |
etsy_shop_shipping_profile_get |
Get a profile |
etsy_shop_shipping_profile_create |
Create profile |
etsy_shop_shipping_profile_update |
Update profile |
etsy_shop_shipping_profile_delete |
Delete profile |
etsy_shipping_profile_destinations_list |
List destinations |
etsy_shipping_profile_destination_create |
Create destination |
etsy_shipping_profile_destination_update |
Update destination |
etsy_shipping_profile_destination_delete |
Delete destination |
etsy_shipping_profile_upgrades_list |
List upgrades |
etsy_shipping_profile_upgrade_create |
Create upgrade |
etsy_shipping_profile_upgrade_update |
Update upgrade |
etsy_shipping_profile_upgrade_delete |
Delete upgrade |
etsy_shipping_carriers_list |
List shipping carriers |
Orders & Receipts
| Tool | Description |
|---|---|
etsy_receipts_list |
List orders/receipts |
etsy_receipt_get |
Get a receipt |
etsy_receipt_update |
Update receipt (ship, note) |
etsy_receipt_transactions_list |
List transactions |
etsy_receipt_transaction_get |
Get a transaction |
etsy_receipt_transactions_by_receipt |
Transactions for a receipt |
etsy_receipt_shipments_list |
List shipments |
etsy_receipt_shipment_create |
Add tracking |
etsy_shop_receipt_transactions_list |
Receipt transactions in shop |
etsy_shop_listing_transactions_list |
Listing transactions |
Payments & Finance
| Tool | Description |
|---|---|
etsy_payments_list |
List payments |
etsy_payment_get |
Get a payment |
etsy_payments_by_receipt |
Payments for a receipt |
etsy_payment_ledger_entries_list |
List ledger entries |
etsy_payment_ledger_entry_get |
Get a ledger entry |
etsy_payment_account_get |
Get payment account |
etsy_ledger_entries_list |
List ledger entries (alt) |
etsy_ledger_entry_get |
Get ledger entry |
etsy_ledger_entry_payment_get |
Payment for ledger entry |
etsy_payouts_list |
List payouts |
etsy_payout_get |
Get a payout |
Reviews
| Tool | Description |
|---|---|
etsy_shop_reviews_list |
Shop reviews |
etsy_listing_reviews_list |
Listing reviews |
Users & Addresses
| Tool | Description |
|---|---|
etsy_user_get |
Get a user |
etsy_user_me |
Get authenticated user |
etsy_user_addresses_list |
List addresses |
etsy_user_address_get |
Get an address |
etsy_user_address_delete |
Delete an address |
Taxonomy & Discovery
| Tool | Description |
|---|---|
etsy_taxonomy_seller_list |
List seller taxonomy |
etsy_taxonomy_node_get |
Get a taxonomy node |
etsy_taxonomy_properties_list |
List taxonomy properties |
etsy_taxonomy_properties_get |
Get properties for node |
etsy_buyer_taxonomy_list |
List buyer taxonomy |
etsy_buyer_taxonomy_node_get |
Get buyer taxonomy node |
etsy_listings_search |
Global listing search |
etsy_shop_listings_search |
Search within a shop |
etsy_shop_listings_by_section |
Listings by section |
Favorites
| Tool | Description |
|---|---|
etsy_user_favorite_listings_list |
List favorited listings |
etsy_user_favorite_listing_get |
Check if listing is favorited |
etsy_user_favorite_listing_add |
Favorite a listing |
etsy_user_favorite_listing_remove |
Unfavorite a listing |
etsy_user_favorite_shops_list |
List favorited shops |
etsy_user_favorite_shop_get |
Check if shop is favorited |
etsy_user_favorite_shop_add |
Favorite a shop |
etsy_user_favorite_shop_remove |
Unfavorite a shop |
Images, Media & Icons
| Tool | Description |
|---|---|
etsy_listing_image_upload_url |
Upload image from URL |
etsy_listing_image_set_rank |
Set image display rank |
etsy_listing_image_update_alt |
Update image alt text |
etsy_shop_icon_get |
Get shop icon |
etsy_shop_icon_delete |
Delete shop icon |
etsy_shop_banner_get |
Get shop banner |
etsy_shop_banner_delete |
Delete shop banner |
Listing Lifecycle & Content
| Tool | Description |
|---|---|
etsy_listing_drafts_list |
List draft listings |
etsy_listing_draft_create |
Create a draft |
etsy_listing_draft_publish |
Publish a draft |
etsy_listing_renew |
Renew an expired listing |
etsy_listings_expired_list |
List expired listings |
etsy_listings_inactive_list |
List inactive listings |
etsy_listing_stats_get |
Get listing stats |
etsy_listing_views_get |
Get view count |
etsy_listings_stats_bulk |
Bulk listing stats |
etsy_featured_listings_list |
List featured listings |
etsy_listing_set_featured_rank |
Set featured rank |
etsy_listing_feature |
Feature a listing |
etsy_listing_unfeature |
Unfeature a listing |
etsy_listing_tags_get |
Get listing tags |
etsy_listing_tags_update |
Replace tags |
etsy_listing_tags_add |
Add tags |
etsy_listing_materials_get |
Get materials |
etsy_listing_materials_update |
Replace materials |
etsy_listing_materials_add |
Add materials |
etsy_listing_occasion_get |
Get occasion |
etsy_listing_occasion_set |
Set occasion |
etsy_listing_styles_update |
Update styles |
Shop Analytics
| Tool | Description |
|---|---|
etsy_shop_stats_get |
Shop-level stats |
etsy_shop_receipt_summary |
Order summary |
etsy_shop_payment_summary |
Payment account summary |
Products & Offerings
| Tool | Description |
|---|---|
etsy_listing_offering_get |
Get a product offering |
etsy_listing_product_get |
Get a product variant |
Setup
1. Get an Etsy API Key
- Visit Etsy Developer Portal
- Click Create a New App
- Note your API Key (Keystring)
- For write operations, set up OAuth 2.0 and obtain an access token
2. Install
npm install
npm run build
3. Configure
cp .env.example .env
# Edit .env with your credentials
ETSY_API_KEY=your_etsy_api_key_here
ETSY_ACCESS_TOKEN=your_oauth_access_token_here # Optional: for write operations
4. Run
npm start
Or with npx:
ETSY_API_KEY=<key> node dist/main.js
MCP Client Configuration
Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"etsy": {
"command": "node",
"args": ["/path/to/etsy-mcp/dist/main.js"],
"env": {
"ETSY_API_KEY": "your_api_key_here",
"ETSY_ACCESS_TOKEN": "your_access_token_here"
}
}
}
}
Cursor
Add to .cursor/mcp.json in your project:
{
"mcpServers": {
"etsy": {
"command": "node",
"args": ["./dist/main.js"],
"env": {
"ETSY_API_KEY": "your_api_key_here"
}
}
}
}
Authentication
The Etsy API uses two forms of authentication:
| Operation | Auth Required |
|---|---|
| Public listing search | API Key only |
| Read shop data | API Key only |
| Write/update operations | OAuth 2.0 Access Token |
| Financial data | OAuth 2.0 Access Token |
API Key: Pass as ETSY_API_KEY env var
OAuth Token: Pass as ETSY_ACCESS_TOKEN env var
For OAuth setup, see Etsy's OAuth 2.0 Guide.
Architecture
src/
├── main.ts # Entry point, env validation
├── server.ts # MCP server class, tool loader
├── client.ts # Axios-based Etsy API v3 client
├── types.ts # TypeScript interfaces
└── tools/ # One file per API domain (47 modules)
├── listings.ts
├── listing_images.ts
├── ...
└── listing_occasion.ts
Development
npm run dev # ts-node (no build step)
npm run build # TypeScript compile → dist/
npm run lint # ESLint
License
MIT — see LICENSE
Installing @Mcpengine/Etsy
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/BusyBee3333/etsy-mcp-2026-completeFAQ
Is @Mcpengine/Etsy MCP free?
Yes, @Mcpengine/Etsy MCP is free — one-click install via Unyly at no cost.
Does @Mcpengine/Etsy need an API key?
No, @Mcpengine/Etsy runs without API keys or environment variables.
Is @Mcpengine/Etsy hosted or self-hosted?
A hosted option is available: Unyly runs the server in the cloud, no local setup required.
How do I install @Mcpengine/Etsy in Claude Desktop, Claude Code or Cursor?
Open @Mcpengine/Etsy on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
GitHub
PRs, issues, code search, CI status
by GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
by mcpdotdirectCompare @Mcpengine/Etsy with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All development MCPs
