@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.
@@ -0,0 +1,276 @@
1
+ # Smithery Deployment Guide
2
+
3
+ This guide will help you deploy the Etsy MCP server to [Smithery](https://smithery.ai), making it accessible as a hosted MCP server.
4
+
5
+ ## What is Smithery?
6
+
7
+ Smithery is a platform that hosts MCP servers, handling:
8
+ - Automatic containerization and deployment
9
+ - Infrastructure and scaling
10
+ - Discovery through the Smithery registry
11
+ - Easy integration with MCP clients like Claude Desktop
12
+
13
+ ## Prerequisites
14
+
15
+ - GitHub account with your repository
16
+ - [Smithery account](https://smithery.ai) (sign up is free)
17
+ - Your repository must be public or accessible to Smithery
18
+
19
+ ## Project Structure (Already Configured)
20
+
21
+ Your project includes all required Smithery files:
22
+
23
+ ```
24
+ etsy_mcp/
25
+ ├── smithery.yaml # ✅ Smithery configuration
26
+ ├── package.json # ✅ With module field
27
+ ├── src/
28
+ │ └── index.ts # ✅ Exports createServer function
29
+ └── tsconfig.json # ✅ TypeScript config
30
+ ```
31
+
32
+ ## Deployment Steps
33
+
34
+ ### 1. Push to GitHub
35
+
36
+ Ensure all files are committed and pushed:
37
+
38
+ ```bash
39
+ git add .
40
+ git commit -m "Configure for Smithery deployment"
41
+ git push origin main
42
+ ```
43
+
44
+ ### 2. Connect to Smithery
45
+
46
+ 1. Go to [smithery.ai/new](https://smithery.ai/new)
47
+ 2. Click **"Connect GitHub"**
48
+ 3. Authorize Smithery to access your repositories
49
+ 4. Select the `etsy_mcp` repository
50
+
51
+ ### 3. Configure Server Details
52
+
53
+ Fill in your server information:
54
+ - **Name**: Etsy MCP Server
55
+ - **Description**: MCP server for Etsy API integration with shop management
56
+ - **Category**: E-commerce or API Integration
57
+ - **Repository**: Your GitHub URL
58
+
59
+ ### 4. Deploy
60
+
61
+ 1. Navigate to the **Deployments** tab on your server page
62
+ 2. Click **"Deploy"**
63
+ 3. Smithery will:
64
+ - Clone your repository
65
+ - Detect the TypeScript runtime from `smithery.yaml`
66
+ - Install dependencies with `npm ci`
67
+ - Build using Smithery CLI
68
+ - Deploy to hosted infrastructure
69
+ - Discover your tools automatically
70
+
71
+ ### 5. Test Your Deployment
72
+
73
+ Once deployed, your server will be available at:
74
+ ```
75
+ https://server.smithery.ai/your-username/etsy-mcp-server/mcp
76
+ ```
77
+
78
+ ## Configuration for Users
79
+
80
+ Users connecting to your Smithery-hosted server will see a configuration form with these fields:
81
+
82
+ 1. **API Key** (required): Etsy API key from Developer Portal
83
+ 2. **Shop ID** (optional): Their Etsy shop ID for faster operations
84
+ 3. **Access Token** (optional): OAuth token for write operations
85
+
86
+ This is automatically generated from the `configSchema` in `src/index.ts`.
87
+
88
+ ## Local Testing Before Deployment
89
+
90
+ Test your server locally with the Smithery CLI:
91
+
92
+ ```bash
93
+ # Install dependencies
94
+ npm install
95
+
96
+ # Start development server with interactive playground
97
+ npm run dev
98
+ ```
99
+
100
+ This opens the **Smithery Interactive Playground** where you can:
101
+ - Test all 19 MCP tools in real-time
102
+ - See tool responses and debug issues
103
+ - Validate your configuration schema
104
+ - Experiment with different inputs
105
+
106
+ ## Build Command
107
+
108
+ If you want to build without deploying:
109
+
110
+ ```bash
111
+ npm run build
112
+ ```
113
+
114
+ This uses the Smithery CLI to bundle your server.
115
+
116
+ ## Updating Your Deployment
117
+
118
+ To deploy updates:
119
+
120
+ 1. Make changes to your code
121
+ 2. Commit and push to GitHub
122
+ 3. In Smithery dashboard, click **"Deploy"** again
123
+ 4. Smithery will rebuild and redeploy automatically
124
+
125
+ ## Environment Variables (Not Needed for Smithery)
126
+
127
+ When deployed to Smithery:
128
+ - ❌ No need for `.env` files
129
+ - ❌ No environment variables required
130
+ - ✅ Users provide configuration through the form
131
+ - ✅ Configuration is encrypted and secure
132
+
133
+ ## Remote vs Local Deployment
134
+
135
+ ### Remote Deployment (Default)
136
+ Your current `smithery.yaml` configures **remote deployment**:
137
+ ```yaml
138
+ runtime: "typescript"
139
+ ```
140
+
141
+ This means:
142
+ - ✅ Hosted on Smithery's infrastructure
143
+ - ✅ No local setup needed for users
144
+ - ✅ Automatic scaling and monitoring
145
+ - ✅ Always available
146
+
147
+ ### Local Deployment (Alternative)
148
+ To allow users to run locally instead:
149
+ ```yaml
150
+ runtime: "typescript"
151
+ target: "local"
152
+ ```
153
+
154
+ With local deployment:
155
+ - Server runs on user's machine
156
+ - Available in Smithery registry for discovery
157
+ - Users need to `npm install` and run locally
158
+
159
+ **Recommendation**: Stick with remote deployment for easier user experience.
160
+
161
+ ## Troubleshooting
162
+
163
+ ### Build Fails on Smithery
164
+
165
+ Check these common issues:
166
+
167
+ 1. **Missing dependencies**: All packages must be in `package.json`
168
+ 2. **TypeScript errors**: Run `npm run compile` locally to check
169
+ 3. **Module field**: Ensure `package.json` has `"module": "src/index.ts"`
170
+ 4. **Export structure**: Verify `createServer` is default export
171
+
172
+ ### Server Doesn't Show Tools
173
+
174
+ Ensure:
175
+ - `createServer` function returns the server object
176
+ - Tools are registered before returning
177
+ - No runtime errors during initialization
178
+
179
+ ### Configuration Form Not Showing
180
+
181
+ Verify:
182
+ - `configSchema` is exported from `src/index.ts`
183
+ - Schema uses Zod with proper descriptions
184
+ - All fields have `.describe()` calls
185
+
186
+ ## Testing Your Deployed Server
187
+
188
+ ### With Claude Desktop
189
+
190
+ Add to your `claude_desktop_config.json`:
191
+
192
+ ```json
193
+ {
194
+ "mcpServers": {
195
+ "etsy": {
196
+ "url": "https://server.smithery.ai/your-username/etsy-mcp-server/mcp",
197
+ "apiKey": "your_etsy_api_key",
198
+ "config": {
199
+ "apiKey": "your_etsy_api_key",
200
+ "shopId": "your_shop_id",
201
+ "accessToken": "your_oauth_token"
202
+ }
203
+ }
204
+ }
205
+ }
206
+ ```
207
+
208
+ ### With MCP Inspector
209
+
210
+ ```bash
211
+ npx @modelcontextprotocol/inspector https://server.smithery.ai/your-username/etsy-mcp-server/mcp
212
+ ```
213
+
214
+ ## Advanced Configuration
215
+
216
+ ### Custom Build Options
217
+
218
+ Create `smithery.config.js` in your project root:
219
+
220
+ ```javascript
221
+ export default {
222
+ esbuild: {
223
+ // Mark packages as external if bundling issues occur
224
+ external: ["some-native-module"],
225
+
226
+ // Enable minification
227
+ minify: true,
228
+
229
+ // Set Node.js target
230
+ target: "node18",
231
+ },
232
+ };
233
+ ```
234
+
235
+ ### OAuth Support (Future)
236
+
237
+ Smithery supports OAuth for remote servers. If you want to add full OAuth flow:
238
+
239
+ 1. Export an `oauth` provider from `src/index.ts`
240
+ 2. Smithery automatically handles OAuth endpoints
241
+ 3. See [Smithery OAuth docs](https://smithery.ai/docs/build/oauth)
242
+
243
+ ## Monitoring Your Server
244
+
245
+ After deployment, Smithery provides:
246
+ - **Usage metrics**: How many requests your server receives
247
+ - **Error logs**: Any runtime errors or failures
248
+ - **Performance data**: Response times and latency
249
+ - **User analytics**: How many users are connecting
250
+
251
+ Access this from your Smithery dashboard.
252
+
253
+ ## Costs
254
+
255
+ Smithery hosting is:
256
+ - **Free tier**: Available for public servers
257
+ - **Pro tier**: For private servers or higher usage
258
+ - **Enterprise**: Custom infrastructure
259
+
260
+ Check [smithery.ai/pricing](https://smithery.ai/pricing) for details.
261
+
262
+ ## Support
263
+
264
+ - 📚 [Smithery Documentation](https://smithery.ai/docs)
265
+ - 💬 [Smithery Discord](https://discord.gg/smithery)
266
+ - 🐛 [GitHub Issues](https://github.com/your-username/etsy_mcp/issues)
267
+
268
+ ## Next Steps
269
+
270
+ After deployment:
271
+ 1. ✅ Test all tools through the playground
272
+ 2. ✅ Add your server to the public registry (if desired)
273
+ 3. ✅ Share with the MCP community
274
+ 4. ✅ Monitor usage and update as needed
275
+
276
+ Your Etsy MCP server is now production-ready! 🚀
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAgBnE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAYxB,eAAO,MAAM,YAAY;;;;;;;;;;;;EAIvB,CAAC;AAwiFH,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAA;CAAE;;;;;;;;;;;;;;;;;;;;;;GAYzF"}