etsy-clean-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ETSY_KEYSTRING | Yes | App keystring | |
| ETSY_UPLOAD_DIR | No | Image upload folder | ~/Etsy/upload |
| ETSY_REDIRECT_URI | No | Callback URL | http://localhost:3003/callback |
| ETSY_SHARED_SECRET | Yes | App shared secret | |
| ETSY_CLEAN_MCP_HOME | No | Config folder | ~/.config/etsy-clean-mcp |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_my_shopA | Your Etsy shop: name, URL, currency, counts, reviews. |
| list_listingsB | List your shop's listings by state (default active). |
| get_listingB | One listing with details, images and inventory (products, prices, quantities, SKUs). |
| list_shipping_profilesB | Your shipping profiles with destinations and costs. |
| list_return_policiesC | Your return policies. |
| list_processing_profilesA | Your processing profiles (readiness_state_id + processing days), needed for physical listings. |
| list_shop_sectionsC | Your shop sections. |
| search_taxonomyA | Find seller taxonomy ids (categories) by words, e.g. 'wall clock'. Prefer leaf entries. |
| list_receiptsA | Your orders (receipts), newest first. Filter by paid/shipped. |
| get_receiptC | One order: items, totals, buyer message, shipping address, shipments. |
| create_draft_listingA | Create a new listing as a DRAFT (never published). confirm=false previews. Physical listings also need shipping_profile_id and readiness_state_id before they can be activated. |
| update_listingA | Change listing text and settings (title, description, tags, materials, section, profiles, category). Not price/quantity: use update_inventory. confirm=false previews. |
| update_inventoryA | Set price, quantity and/or SKU per product. Omit product_id when the listing has a single product. confirm=false reads the current inventory and previews the full update. |
| upload_listing_imageA | Upload a jpg/png/gif/webp image to a listing. The file must be inside the upload folder (/root/Etsy/upload); relative paths are taken from there. confirm=false checks the file and previews. |
| activate_listingA | Publish a draft or inactive listing (state -> active). COSTS AN ETSY LISTING FEE. confirm=false previews. |
| add_trackingA | Add tracking to an order and mark it shipped. Etsy emails the buyer. confirm=false previews. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 16 tools
Each tool has a clear resource+action identity: read tools target distinct shop resources (shop, policies, profiles, sections, taxonomy, receipts, listings), and write tools split cleanly along listing lifecycle (create_draft_listing, update_listing, update_inventory, upload_listing_image, activate_listing) plus order fulfillment (add_tracking). The descriptions explicitly resolve the one plausible overlap by stating that price/quantity belong to update_inventory, not update_listing.
All 16 names follow a strict snake_case verb_noun pattern (get_*, list_*, create_*, update_*, upload_*, activate_*, add_*), with singular/plural nouns used correctly for single-resource vs collection operations. No camelCase or verb-style drift.
16 tools is at the upper edge for a shop-management server, but most earn their place given the breadth of the domain (listings, inventory, images, orders, taxonomy, shop config). A few read-only reference lookups (policies, sections, processing profiles, shipping profiles) could arguably be consolidated, but none are redundant with each other.
Listing creation/update/inventory/image/publish and order read+tracking are covered, but the lifecycle has a dead end: activate_listing exists with no deactivate or delete_listing counterpart, and images cannot be deleted or reordered. Reference data is read-only (policies, shipping/processing profiles, sections can only be listed, not created), which will block agents from fully setting up a shop.