DEPLOYMENT_CHECKLIST.md•5.2 kB
# Smithery Deployment Checklist
Use this checklist to verify your Etsy MCP server is ready for Smithery deployment.
## ✅ Required Files
- [x] `smithery.yaml` - Runtime configuration
- [x] `package.json` - With `module` field pointing to `src/index.ts`
- [x] `src/index.ts` - Exports default `createServer` function
- [x] `tsconfig.json` - TypeScript configuration
- [x] `.gitignore` - Excludes node_modules and build artifacts
## ✅ Code Structure
- [x] Default export: `createServer` function
- [x] Configuration schema: `configSchema` exported with Zod
- [x] Returns MCP Server object from `createServer`
- [x] Stdio support: CLI entry point for local execution
- [x] Config support: Accepts config from Smithery or environment
## ✅ Dependencies
- [x] `@modelcontextprotocol/sdk` in dependencies
- [x] `axios` for HTTP requests
- [x] `zod` for schema validation
- [x] `@smithery/cli` in devDependencies
- [x] TypeScript types installed
## ✅ Scripts
- [x] `npm run build` - Uses Smithery CLI
- [x] `npm run dev` - Opens interactive playground
- [x] `npm run compile` - TypeScript compilation (for testing)
- [x] `npm start` - Runs compiled server
## ✅ Testing
### Local Testing
```bash
# Install dependencies
npm install
# Test compilation
npm run compile
# Test with Smithery playground
npm run dev
# Test direct execution
ETSY_API_KEY=your_key npm start
```
### Verify These Work:
- [ ] Server starts without errors
- [ ] All 19 tools are listed
- [ ] Configuration schema shows 3 fields
- [ ] Tools execute and return responses
## ✅ Configuration Schema
The exported `configSchema` includes:
- [x] `apiKey` (string, required) - With description
- [x] `shopId` (string, optional) - With description
- [x] `accessToken` (string, optional) - With description
## ✅ Tools Exported
### Read-Only (10 tools)
- [x] search_listings
- [x] get_listing
- [x] get_shop
- [x] get_shop_listings
- [x] search_shops
- [x] get_listing_inventory
- [x] get_listing_images
- [x] get_shop_sections
- [x] get_trending_listings
- [x] find_shops
### Shop Management (9 tools)
- [x] create_listing
- [x] update_listing
- [x] delete_listing
- [x] update_listing_inventory
- [x] upload_listing_image
- [x] create_shop_section
- [x] update_shop_section
- [x] delete_shop_section
- [x] update_shop
## ✅ Documentation
- [x] README.md - Main documentation
- [x] SMITHERY_DEPLOYMENT.md - Deployment guide
- [x] OAUTH_SETUP.md - OAuth setup instructions
- [x] QUICK_REFERENCE.md - Quick reference guide
- [x] .env.example - Environment template
## ✅ GitHub Repository
Before deploying:
- [ ] Push all files to GitHub
- [ ] Repository is public (or accessible to Smithery)
- [ ] All commits are up to date
- [ ] .gitignore excludes sensitive files
## 🚀 Deployment Steps
1. **Push to GitHub**
```bash
git add .
git commit -m "Ready for Smithery deployment"
git push origin main
```
2. **Connect to Smithery**
- Go to https://smithery.ai/new
- Connect your GitHub account
- Select the `etsy_mcp` repository
3. **Configure Server**
- Name: Etsy MCP Server
- Description: MCP server for Etsy API integration
- Category: E-commerce / API Integration
4. **Deploy**
- Click "Deploy" button
- Wait for build to complete
- Test deployed server
## ✅ Post-Deployment Verification
After deployment, verify:
- [ ] Server shows as "Running" in Smithery dashboard
- [ ] All 19 tools are discoverable
- [ ] Configuration form displays correctly
- [ ] Test tools work with valid API key
- [ ] Error messages are clear and helpful
## 🧪 Testing Deployed Server
### With Claude Desktop
Add to `claude_desktop_config.json`:
```json
{
"mcpServers": {
"etsy": {
"url": "https://server.smithery.ai/YOUR-USERNAME/etsy-mcp-server/mcp",
"config": {
"apiKey": "your_etsy_api_key"
}
}
}
}
```
### With MCP Inspector
```bash
npx @modelcontextprotocol/inspector https://server.smithery.ai/YOUR-USERNAME/etsy-mcp-server/mcp
```
### Test These Operations:
- [ ] Search for listings works
- [ ] Get listing details works
- [ ] Get shop information works
- [ ] Error handling for invalid API key
- [ ] Error handling for missing resources
## 📊 Monitoring
After deployment, check:
- [ ] View usage metrics in Smithery dashboard
- [ ] Monitor error logs for issues
- [ ] Check performance data
- [ ] Review user feedback
## 🔧 Troubleshooting
If deployment fails:
1. **Check build logs** in Smithery dashboard
2. **Verify locally** with `npm run build`
3. **Test compilation** with `npm run compile`
4. **Review errors** and fix TypeScript issues
5. **Check dependencies** in package.json
6. **Validate structure** matches Smithery requirements
## ✅ Success Criteria
Your deployment is successful when:
- ✅ Build completes without errors
- ✅ Server shows as "Running"
- ✅ All tools are listed
- ✅ Configuration form works
- ✅ Test queries return results
- ✅ Error messages are clear
## 🎉 You're Ready!
Once all items are checked, your Etsy MCP server is:
- ✅ **Smithery-compatible**
- ✅ **Production-ready**
- ✅ **Fully documented**
- ✅ **Ready to deploy**
Click that Deploy button! 🚀