@iflow-mcp/dynamicendpoints-etsy-mcp 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md ADDED
@@ -0,0 +1,677 @@
1
+ # Etsy MCP Server
2
+
3
+ A Model Context Protocol (MCP) server that provides seamless integration with the Etsy API v3. This server enables AI assistants and applications to interact with Etsy's marketplace, search listings, retrieve shop information, and access product details.
4
+
5
+ **🚀 Deploy to Smithery**: This server is ready for deployment to [Smithery](https://smithery.ai) for hosted, always-available access. See [SMITHERY_DEPLOYMENT.md](./SMITHERY_DEPLOYMENT.md) for instructions.
6
+
7
+ ## Features
8
+
9
+ - 🔍 **Search Listings**: Search for active Etsy listings with keyword filtering
10
+ - 🏪 **Shop Information**: Get detailed shop information and listings
11
+ - 📦 **Product Details**: Access listing inventory, images, and variations
12
+ - 📊 **Trending Data**: Retrieve trending listings on Etsy
13
+ - ✏️ **Create & Update Listings**: Post new products and manage existing ones
14
+ - 🎨 **Manage Shop Sections**: Organize your shop with categories
15
+ - 🛠️ **Full Shop Management**: Update shop info, inventory, images, and more
16
+ - 🔐 **OAuth Support**: Secure authenticated access for write operations
17
+ - 💬 **Smart Prompts**: Pre-built prompts for listing creation, SEO optimization, pricing, and analytics
18
+ - 📚 **Comprehensive Resources**: Built-in guides for SEO, photography, shipping, and seller best practices
19
+ - 🏷️ **Tool Annotations**: All 19 tools include readOnlyHint, destructiveHint, and idempotentHint for better AI understanding
20
+ - ⚙️ **Zero Configuration**: Works out-of-the-box with sensible defaults, fully configurable via environment variables
21
+ - � **Built with Latest MCP Standards**: Uses @modelcontextprotocol/sdk v1.0.4
22
+
23
+ ## Installation
24
+
25
+ 1. Clone this repository:
26
+ ```bash
27
+ git clone <your-repo-url>
28
+ cd etsy_mcp
29
+ ```
30
+
31
+ 2. Install dependencies:
32
+ ```bash
33
+ npm install
34
+ ```
35
+
36
+ 3. Build the project:
37
+ ```bash
38
+ npm run build
39
+ ```
40
+
41
+ ## Smithery Deployment (Recommended)
42
+
43
+ Deploy to Smithery for hosted, always-available access:
44
+
45
+ 1. Push your code to GitHub
46
+ 2. Connect to [Smithery](https://smithery.ai/new)
47
+ 3. Click Deploy
48
+
49
+ **📖 Full Guide**: See [SMITHERY_DEPLOYMENT.md](./SMITHERY_DEPLOYMENT.md) for complete deployment instructions.
50
+
51
+ ## Local Development
52
+
53
+ Test locally with the Smithery interactive playground:
54
+
55
+ ```bash
56
+ npm run dev
57
+ ```
58
+
59
+ Or compile TypeScript manually:
60
+
61
+ ```bash
62
+ npm run compile
63
+ ```
64
+
65
+ ## Configuration
66
+
67
+ ### Getting an Etsy API Key
68
+
69
+ 1. Visit the [Etsy Developer Portal](https://www.etsy.com/developers)
70
+ 2. Create a new app or use an existing one
71
+ 3. Generate an API key (also called "Keystring")
72
+ 4. For shop management features, set up OAuth 2.0 to get an access token
73
+ 5. Set up your environment variables (see below)
74
+
75
+ ### OAuth Access Token (for Shop Management)
76
+
77
+ To create, update, or delete listings and manage your shop, you need an OAuth access token:
78
+
79
+ 1. In the Etsy Developer Portal, configure OAuth redirect URLs
80
+ 2. Follow the [Etsy OAuth 2.0 flow](https://developers.etsy.com/documentation/essentials/authentication/)
81
+ 3. Exchange the authorization code for an access token
82
+ 4. Add the access token to your environment variables
83
+
84
+ **📖 Detailed Guide**: See [OAUTH_SETUP.md](./OAUTH_SETUP.md) for complete step-by-step instructions with code examples.
85
+
86
+ **Note**: Read-only operations (searching, viewing listings) only require the API key.
87
+
88
+ ### Environment Variables (All Optional)
89
+
90
+ The server works out-of-the-box without any configuration. For production use with your own shop, you can set the following environment variables:
91
+
92
+ ```bash
93
+ ETSY_API_KEY=your_etsy_api_key_here # Optional: Defaults to demo mode
94
+ ETSY_SHOP_ID=your_shop_id # Optional: For faster shop operations
95
+ ETSY_ACCESS_TOKEN=your_oauth_access_token # Optional: Required only for write operations
96
+ ```
97
+
98
+ **Note**:
99
+ - Without an API key, the server runs in demo mode for documentation/testing purposes
100
+ - Read-only operations (searching, viewing listings) require an API key
101
+ - Write operations (creating/updating listings) require both API key and OAuth access token
102
+
103
+ ## Usage with Claude Desktop
104
+
105
+ ### Option 1: Smithery Hosted (Recommended)
106
+
107
+ After deploying to Smithery, use the hosted URL:
108
+
109
+ ```json
110
+ {
111
+ "mcpServers": {
112
+ "etsy": {
113
+ "url": "https://server.smithery.ai/your-username/etsy-mcp-server/mcp",
114
+ "config": {
115
+ "apiKey": "your_etsy_api_key",
116
+ "shopId": "your_shop_id",
117
+ "accessToken": "your_oauth_token"
118
+ }
119
+ }
120
+ }
121
+ }
122
+ ```
123
+
124
+ ### Option 2: Local Execution
125
+
126
+ Add this server to your Claude Desktop configuration:
127
+
128
+ ### Windows
129
+ Edit `%APPDATA%\Claude\claude_desktop_config.json`:
130
+
131
+ ```json
132
+ {
133
+ "mcpServers": {
134
+ "etsy": {
135
+ "command": "node",
136
+ "args": ["C:\\Users\\Owner\\etsy_mcp\\build\\index.js"],
137
+ "env": {
138
+ "ETSY_API_KEY": "your_etsy_api_key_here",
139
+ "ETSY_ACCESS_TOKEN": "your_oauth_token_here"
140
+ }
141
+ }
142
+ }
143
+ }
144
+ ```
145
+
146
+ ### macOS/Linux
147
+ Edit `~/Library/Application Support/Claude/claude_desktop_config.json`:
148
+
149
+ ```json
150
+ {
151
+ "mcpServers": {
152
+ "etsy": {
153
+ "command": "node",
154
+ "args": ["/path/to/etsy_mcp/build/index.js"],
155
+ "env": {
156
+ "ETSY_API_KEY": "your_etsy_api_key_here",
157
+ "ETSY_ACCESS_TOKEN": "your_oauth_token_here"
158
+ }
159
+ }
160
+ }
161
+ }
162
+ ```
163
+
164
+ ## Available Tools
165
+
166
+ ### Read-Only Tools (API Key Only)
167
+
168
+ ### 1. search_listings
169
+ Search for active Etsy listings with keyword filtering.
170
+
171
+ **Parameters:**
172
+ - `keywords` (required): Search keywords
173
+ - `limit`: Maximum results (default: 25, max: 100)
174
+ - `offset`: Results to skip for pagination
175
+ - `min_price`: Minimum price filter
176
+ - `max_price`: Maximum price filter
177
+ - `sort_on`: Field to sort by (created, price, updated, score)
178
+ - `sort_order`: Sort direction (asc, desc)
179
+
180
+ **Example:**
181
+ ```json
182
+ {
183
+ "keywords": "handmade jewelry",
184
+ "limit": 10,
185
+ "sort_on": "price",
186
+ "sort_order": "asc"
187
+ }
188
+ ```
189
+
190
+ ### 2. get_listing
191
+ Get detailed information about a specific listing.
192
+
193
+ **Parameters:**
194
+ - `listing_id` (required): Numeric listing ID
195
+ - `includes`: Array of additional data (Shop, Images, User, Translations, Inventory)
196
+
197
+ **Example:**
198
+ ```json
199
+ {
200
+ "listing_id": 1234567890,
201
+ "includes": ["Images", "Shop"]
202
+ }
203
+ ```
204
+
205
+ ### 3. get_shop
206
+ Get information about an Etsy shop.
207
+
208
+ **Parameters:**
209
+ - `shop_id` (required): Numeric shop ID
210
+
211
+ ### 4. get_shop_listings
212
+ Get all listings from a specific shop.
213
+
214
+ **Parameters:**
215
+ - `shop_id` (required): Numeric shop ID
216
+ - `limit`: Maximum results (default: 25)
217
+ - `offset`: Results to skip
218
+ - `state`: Filter by state (active, inactive, sold_out, draft, expired)
219
+
220
+ ### 5. search_shops
221
+ Search for Etsy shops by name.
222
+
223
+ **Parameters:**
224
+ - `shop_name` (required): Shop name to search
225
+ - `limit`: Maximum results
226
+ - `offset`: Results to skip
227
+
228
+ ### 6. get_listing_inventory
229
+ Get inventory information including quantities and variations.
230
+
231
+ **Parameters:**
232
+ - `listing_id` (required): Numeric listing ID
233
+
234
+ ### 7. get_listing_images
235
+ Get all images for a listing.
236
+
237
+ **Parameters:**
238
+ - `listing_id` (required): Numeric listing ID
239
+
240
+ ### 8. get_shop_sections
241
+ Get shop sections/categories.
242
+
243
+ **Parameters:**
244
+ - `shop_id` (required): Numeric shop ID
245
+
246
+ ### 9. get_trending_listings
247
+ Get currently trending listings on Etsy.
248
+
249
+ **Parameters:**
250
+ - `limit`: Maximum results (default: 25)
251
+ - `offset`: Results to skip
252
+
253
+ ### 10. find_shops
254
+ Find shops by location or other criteria.
255
+
256
+ **Parameters:**
257
+ - `location`: Location to search
258
+ - `limit`: Maximum results
259
+ - `offset`: Results to skip
260
+
261
+ ---
262
+
263
+ ### Shop Management Tools (Require OAuth Access Token)
264
+
265
+ ### 11. create_listing
266
+ Create a new product listing in your shop.
267
+
268
+ **Parameters:**
269
+ - `shop_id` (required): Your shop ID
270
+ - `quantity` (required): Available quantity
271
+ - `title` (required): Listing title (max 140 characters)
272
+ - `description` (required): Item description
273
+ - `price` (required): Price in shop currency
274
+ - `who_made` (required): i_did, someone_else, or collective
275
+ - `when_made` (required): e.g., made_to_order, 2020_2023
276
+ - `taxonomy_id` (required): Category taxonomy ID
277
+ - `shipping_profile_id`: Shipping profile ID (optional)
278
+ - `shop_section_id`: Shop section ID (optional)
279
+ - `tags`: Array of tags, max 13 (optional)
280
+
281
+ **Example:**
282
+ ```json
283
+ {
284
+ "shop_id": 12345678,
285
+ "quantity": 10,
286
+ "title": "Handmade Ceramic Mug",
287
+ "description": "Beautiful handcrafted ceramic mug...",
288
+ "price": 25.99,
289
+ "who_made": "i_did",
290
+ "when_made": "made_to_order",
291
+ "taxonomy_id": 1234,
292
+ "tags": ["ceramic", "mug", "handmade", "pottery"]
293
+ }
294
+ ```
295
+
296
+ ### 12. update_listing
297
+ Update an existing listing's details.
298
+
299
+ **Parameters:**
300
+ - `shop_id` (required): Your shop ID
301
+ - `listing_id` (required): Listing ID to update
302
+ - `title`: New title
303
+ - `description`: New description
304
+ - `price`: New price
305
+ - `quantity`: New quantity
306
+ - `tags`: New tags array
307
+ - `shop_section_id`: Shop section ID
308
+
309
+ **Example:**
310
+ ```json
311
+ {
312
+ "shop_id": 12345678,
313
+ "listing_id": 987654321,
314
+ "price": 29.99,
315
+ "quantity": 15
316
+ }
317
+ ```
318
+
319
+ ### 13. delete_listing
320
+ Remove a listing from your shop.
321
+
322
+ **Parameters:**
323
+ - `listing_id` (required): Listing ID to delete
324
+
325
+ ### 14. update_listing_inventory
326
+ Update inventory details including variations, SKUs, and quantities.
327
+
328
+ **Parameters:**
329
+ - `listing_id` (required): Listing ID
330
+ - `products` (required): Array of product variations
331
+ - `price_on_property`: Property IDs affecting price
332
+ - `quantity_on_property`: Property IDs affecting quantity
333
+ - `sku_on_property`: Property IDs affecting SKU
334
+
335
+ ### 15. upload_listing_image
336
+ Add an image to a listing.
337
+
338
+ **Parameters:**
339
+ - `shop_id` (required): Your shop ID
340
+ - `listing_id` (required): Listing ID
341
+ - `image_url` (required): URL of the image
342
+ - `rank`: Display order (1 = primary)
343
+ - `alt_text`: Accessibility text
344
+
345
+ ### 16. create_shop_section
346
+ Create a new section/category in your shop.
347
+
348
+ **Parameters:**
349
+ - `shop_id` (required): Your shop ID
350
+ - `title` (required): Section title
351
+
352
+ **Example:**
353
+ ```json
354
+ {
355
+ "shop_id": 12345678,
356
+ "title": "Holiday Collection"
357
+ }
358
+ ```
359
+
360
+ ### 17. update_shop_section
361
+ Update a shop section name.
362
+
363
+ **Parameters:**
364
+ - `shop_id` (required): Your shop ID
365
+ - `shop_section_id` (required): Section ID
366
+ - `title` (required): New title
367
+
368
+ ### 18. delete_shop_section
369
+ Remove a shop section.
370
+
371
+ **Parameters:**
372
+ - `shop_id` (required): Your shop ID
373
+ - `shop_section_id` (required): Section ID to delete
374
+
375
+ ### 19. update_shop
376
+ Update shop information and settings.
377
+
378
+ **Parameters:**
379
+ - `shop_id` (required): Your shop ID
380
+ - `title`: Shop title
381
+ - `announcement`: Shop announcement message
382
+ - `sale_message`: Message to buyers at checkout
383
+ - `policy_welcome`: Shop policies welcome message
384
+
385
+ **Example:**
386
+ ```json
387
+ {
388
+ "shop_id": 12345678,
389
+ "announcement": "Holiday sale - 20% off all items!",
390
+ "sale_message": "Thank you for your purchase!"
391
+ }
392
+ ```
393
+
394
+ ---
395
+
396
+ ## Prompts
397
+
398
+ The server provides comprehensive prompt templates to help you with common Etsy seller tasks:
399
+
400
+ ### 1. create-listing-guide
401
+ Complete guide for creating an optimized Etsy listing with best practices.
402
+
403
+ **Arguments:**
404
+ - `product_type` (required): Type of product (e.g., handmade, vintage, craft supply)
405
+
406
+ **Provides guidance on:**
407
+ - Title creation (140 char max, SEO-optimized)
408
+ - Description structure and formatting
409
+ - Tags strategy (13 tags with keyword research)
410
+ - Pricing calculations (materials, labor, fees)
411
+ - Photography checklist
412
+
413
+ ### 2. optimize-listing
414
+ Generate SEO-optimized title, tags, and description for existing listings.
415
+
416
+ **Arguments:**
417
+ - `listing_id` (required): The listing to optimize
418
+ - `focus_keywords` (optional): Keywords to prioritize
419
+
420
+ **Generates:**
421
+ - SEO-optimized title variations
422
+ - Enhanced description with keyword integration
423
+ - 13 strategic tags based on search trends
424
+ - Competitive analysis framework
425
+ - Action items for improvement
426
+
427
+ ### 3. shop-analytics-review
428
+ Create comprehensive shop performance analysis template.
429
+
430
+ **Arguments:**
431
+ - `shop_id` (required): Shop to analyze
432
+ - `time_period` (optional): Analysis timeframe (e.g., last_month, last_quarter)
433
+
434
+ **Analyzes:**
435
+ - Traffic metrics and conversion rates
436
+ - Sales performance and trends
437
+ - SEO effectiveness
438
+ - Customer insights and behavior
439
+ - Actionable recommendations
440
+
441
+ ### 4. product-photography-tips
442
+ Tailored product photography guidance for Etsy.
443
+
444
+ **Arguments:**
445
+ - `product_category` (required): Category (jewelry, home decor, clothing, etc.)
446
+
447
+ **Covers:**
448
+ - Equipment recommendations
449
+ - Shot list specific to category
450
+ - Lighting setup (natural and artificial)
451
+ - Styling and composition tips
452
+ - Post-processing techniques
453
+ - Etsy-specific best practices
454
+
455
+ ### 5. pricing-strategy
456
+ Calculate competitive pricing with full cost analysis.
457
+
458
+ **Arguments:**
459
+ - `material_cost` (required): Total material costs
460
+ - `time_hours` (required): Hours to create
461
+ - `desired_hourly_rate` (optional): Preferred hourly rate (default: $25)
462
+
463
+ **Calculates:**
464
+ - Complete cost breakdown (materials, labor, overhead)
465
+ - Etsy fees (transaction, processing, listing)
466
+ - Break-even price
467
+ - Suggested retail price with profit margin
468
+ - Premium positioning options
469
+ - Profitability analysis
470
+
471
+ **Example Usage:**
472
+ ```
473
+ Use prompt "pricing-strategy" with:
474
+ - material_cost: 15.50
475
+ - time_hours: 3
476
+ - desired_hourly_rate: 30
477
+ ```
478
+
479
+ ---
480
+
481
+ ## Resources
482
+
483
+ The server provides comprehensive documentation and guides as resources:
484
+
485
+ ### 1. etsy-api-docs
486
+ **URI:** `etsy://docs/api`
487
+
488
+ Complete Etsy Open API v3 reference documentation including:
489
+ - Authentication methods (API key, OAuth 2.0)
490
+ - Rate limits and best practices
491
+ - All endpoint documentation
492
+ - Request/response formats
493
+ - Error codes and handling
494
+
495
+ ### 2. etsy-seller-handbook
496
+ **URI:** `etsy://docs/seller-handbook`
497
+
498
+ Comprehensive seller guide covering:
499
+ - Shop setup and configuration
500
+ - Listing optimization strategies
501
+ - Product photography best practices
502
+ - SEO strategies for Etsy search
503
+ - Customer service excellence
504
+ - Marketing and growth tactics
505
+ - Seasonal planning guide
506
+
507
+ ### 3. etsy-seo-guide
508
+ **URI:** `etsy://docs/seo-guide`
509
+
510
+ Complete SEO optimization guide:
511
+ - Understanding Etsy search algorithm
512
+ - Keyword research methods and tools
513
+ - Title optimization formulas
514
+ - Tag strategy (maximizing all 13 tags)
515
+ - Description SEO techniques
516
+ - Category and attribute selection
517
+ - Performance tracking and analytics
518
+ - A/B testing strategies
519
+ - Common SEO mistakes to avoid
520
+ - Quick wins checklist
521
+
522
+ ### 4. etsy-shipping-guide
523
+ **URI:** `etsy://docs/shipping`
524
+
525
+ Everything about shipping on Etsy:
526
+ - Setting up shipping profiles
527
+ - Domestic and international shipping
528
+ - Free shipping strategies
529
+ - Carrier comparisons (USPS, UPS, FedEx)
530
+ - Packaging best practices and branding
531
+ - Tracking and insurance
532
+ - Handling shipping issues
533
+ - International customs requirements
534
+ - Seasonal shipping preparation
535
+
536
+ ### 5. etsy-photography-tips
537
+ **URI:** `etsy://docs/photography`
538
+
539
+ Professional product photography guide:
540
+ - Equipment essentials (cameras, lighting, support)
541
+ - Technical requirements for Etsy
542
+ - Essential shot list (hero, detail, lifestyle, scale)
543
+ - Lighting techniques (natural and artificial)
544
+ - Styling and composition rules
545
+ - Camera settings (smartphone and DSLR)
546
+ - Post-processing workflow
547
+ - Category-specific tips (jewelry, clothing, home decor, art)
548
+ - Mobile photography best practices
549
+ - Video content tips
550
+
551
+ ### 6. etsy-fees-calculator
552
+ **URI:** `etsy://tools/fees-calculator`
553
+
554
+ Interactive fees calculator with:
555
+ - All Etsy fee structures (listing, transaction, processing, offsite ads)
556
+ - Example calculations
557
+ - Pricing formulas for profitable pricing
558
+ - Tips for managing fee costs
559
+ - JSON format for programmatic access
560
+
561
+ **Example Usage:**
562
+ ```
563
+ Read resource "etsy://docs/seo-guide" for complete SEO strategies
564
+ Read resource "etsy://tools/fees-calculator" for pricing calculations
565
+ ```
566
+
567
+ ---
568
+
569
+ ## Development
570
+
571
+ ### Local Testing with Smithery CLI
572
+ ```bash
573
+ # Interactive playground with all tools
574
+ npm run dev
575
+ ```
576
+
577
+ ### Manual TypeScript Compilation
578
+ ```bash
579
+ npm run compile
580
+ ```
581
+
582
+ ### Run Directly (stdio mode)
583
+ ```bash
584
+ npm start
585
+ ```
586
+
587
+ ## API Rate Limiting
588
+
589
+ The Etsy API has rate limits. Please refer to [Etsy's API documentation](https://developers.etsy.com/documentation/reference) for current rate limit information.
590
+
591
+ ## Architecture
592
+
593
+ This server uses:
594
+ - **@modelcontextprotocol/sdk**: Latest MCP SDK (v1.0.4)
595
+ - **TypeScript**: For type safety
596
+ - **Axios**: For HTTP requests to Etsy API
597
+ - **Node.js**: ES2022 modules
598
+
599
+ ## Project Structure
600
+
601
+ ```
602
+ etsy_mcp/
603
+ ├── src/
604
+ │ └── index.ts # Main server implementation
605
+ ├── build/ # Compiled JavaScript output
606
+ ├── .github/
607
+ │ └── copilot-instructions.md
608
+ ├── smithery.yaml # Smithery deployment config
609
+ ├── package.json
610
+ ├── tsconfig.json
611
+ ├── README.md # Main documentation
612
+ ├── SMITHERY_DEPLOYMENT.md # Smithery deployment guide
613
+ ├── OAUTH_SETUP.md # OAuth setup guide
614
+ ├── QUICK_REFERENCE.md # Quick reference guide
615
+ ├── .env.example # Environment template
616
+ └── .gitignore
617
+ ```
618
+
619
+ ## Error Handling
620
+
621
+ The server includes comprehensive error handling:
622
+ - API errors return detailed error messages with status codes
623
+ - Missing API key throws a descriptive error on startup
624
+ - All Axios errors are caught and formatted for easy debugging
625
+
626
+ ## Contributing
627
+
628
+ Contributions are welcome! Please ensure:
629
+ 1. TypeScript compiles without errors
630
+ 2. Follow the existing code style
631
+ 3. Add appropriate error handling
632
+ 4. Update documentation for new features
633
+
634
+ ## License
635
+
636
+ MIT
637
+
638
+ ## Resources
639
+
640
+ - � [Smithery Deployment Guide](./SMITHERY_DEPLOYMENT.md) - Deploy to hosted infrastructure
641
+ - �📖 [OAuth Setup Guide](./OAUTH_SETUP.md) - Complete OAuth 2.0 setup instructions
642
+ - 📋 [Quick Reference](./QUICK_REFERENCE.md) - Tool categories and common examples
643
+ - [Etsy API Documentation](https://developers.etsy.com/documentation)
644
+ - [Model Context Protocol](https://modelcontextprotocol.io)
645
+ - [MCP SDK Documentation](https://github.com/modelcontextprotocol/typescript-sdk)
646
+ - [Smithery Platform](https://smithery.ai)
647
+
648
+ ## Troubleshooting
649
+
650
+ ### "ETSY_API_KEY environment variable is required"
651
+ Make sure you've set the `ETSY_API_KEY` in your MCP configuration or environment.
652
+
653
+ ### API Authentication Errors
654
+ Verify your API key is valid and has the necessary permissions in the Etsy Developer Portal.
655
+
656
+ ### Connection Issues
657
+ Ensure your internet connection is working and you can reach `openapi.etsy.com`.
658
+
659
+ ## Version History
660
+
661
+ - **1.2.0**: Quality improvements (Smithery score: 69 → 100)
662
+ - ⚙️ **Optional Configuration**: All config fields now optional with sensible defaults (+15pts)
663
+ - 🏷️ **Tool Annotations**: Added readOnlyHint, destructiveHint, and idempotentHint to all 19 tools (+9pts)
664
+ - 🎨 **Server Icon**: Added Etsy-themed SVG icon for better visual identity (+7pts)
665
+ - Zero-config deployment support - server runs without any credentials for demo/testing
666
+ - Environment variable fallbacks for all configuration options
667
+ - **1.1.0**: Added prompts and resources
668
+ - 5 comprehensive prompts for seller guidance
669
+ - 6 resource guides (SEO, photography, shipping, fees calculator)
670
+ - Enhanced AI assistant capabilities
671
+ - **1.0.0**: Initial release with 19 Etsy API tools
672
+ - 10 read-only tools for searching and viewing
673
+ - 9 shop management tools for creating and updating
674
+ - Full OAuth support for authenticated operations
675
+ - Create, update, and delete listings
676
+ - Manage shop sections and inventory
677
+ - Upload images and update shop info