UNPKG

launchfast-mcp

Version:

๐Ÿš€ Professional Amazon & Alibaba research tools for Claude AI - Product research, keyword intelligence, and supplier discovery via MCP

724 lines (557 loc) โ€ข 16.8 kB
# ๐Ÿš€ Production Deployment Guide This guide covers deploying LaunchFast MCP Server to production for team use. --- ## ๐Ÿ“‹ Production Checklist ### Pre-Deployment - [ ] Update API endpoints to production URLs - [ ] Generate team API keys in LaunchFast admin dashboard - [ ] Test all three tools with production credentials - [ ] Review rate limits (20 req/min globally) - [ ] Document team installation process - [ ] Set up monitoring/alerting (optional) ### Post-Deployment - [ ] Distribute installation instructions to team - [ ] Test on all platforms (macOS, Windows, Linux) - [ ] Verify rate limit headers in responses - [ ] Monitor usage in admin dashboard - [ ] Collect feedback from team --- ## ๐Ÿ”‘ Team API Key Management ### Generating Keys for Team Members 1. **Admin Dashboard**: Visit https://launchfastlegacyx.com/admin/usage-stats 2. **Navigate to "MCP API Keys" tab** 3. **For each team member**: - Enter their email address - Click "Generate API Key" - Copy the generated key (format: `lf_<64_char_hex>`) - Note their User ID (UUID) 4. **Send credentials securely**: - Use your company's secure credential sharing method - Do NOT send via plain email - Consider using 1Password, LastPass, or similar ### Key Naming Convention Use descriptive names in the admin dashboard: ``` John Doe - Claude Desktop - MacBook Pro Jane Smith - Cursor - Windows Desktop Team Shared - CI/CD Pipeline ``` ### Key Rotation **When to rotate:** - Every 90 days (recommended) - When a team member leaves - If a key is compromised - For security audits **How to rotate:** 1. Generate new key for user 2. Update their MCP configuration 3. Test new key works 4. Delete old key in admin dashboard --- ## ๐Ÿ“ฆ Distribution Methods ### Option 1: NPM Package (Recommended for Teams) **Publish to private npm registry** (npm, GitHub Packages, or Artifactory): ```bash # Update package.json with registry npm config set registry https://your-registry.com # Publish npm publish ``` **Team members install with**: ```bash npm install -g @yourcompany/launchfast-mcp-server ``` ### Option 2: Internal GitHub/GitLab Repository **Host internally**: ```bash git remote add company git@github.com:yourcompany/launchfast-mcp-internal.git git push company main ``` **Team members clone**: ```bash git clone git@github.com:yourcompany/launchfast-mcp-internal.git cd launchfast-mcp-internal npm install npm run build ``` ### Option 3: Pre-configured Package **Create installable package**: ```bash # Build production version npm run build # Create tarball npm pack # Distribute: launchfast-mcp-server-1.0.0.tgz ``` **Team installs**: ```bash npm install -g ./launchfast-mcp-server-1.0.0.tgz ``` --- ## ๐Ÿ› ๏ธ Team Installation Script Create a custom setup script for your team: **`setup-team.sh`** (macOS/Linux): ```bash #!/bin/bash # LaunchFast MCP - Team Installation Script # Company: Your Company Name # Support: team-support@company.com echo "๐Ÿš€ LaunchFast MCP Server - Team Setup" echo "======================================" echo "" # Check Node.js version NODE_VERSION=$(node -v 2>/dev/null) if [ $? -ne 0 ]; then echo "โŒ Node.js not found. Please install Node.js 18+ first:" echo " https://nodejs.org/" exit 1 fi echo "โœ… Node.js detected: $NODE_VERSION" echo "" # Prompt for platform echo "Select your AI tool:" echo "1. Claude Desktop" echo "2. Cursor" echo "3. Claude Code (VS Code)" read -p "Enter choice (1-3): " PLATFORM # Get credentials echo "" echo "Enter your LaunchFast credentials:" read -p "API Key (lf_...): " API_KEY read -p "User ID: " USER_ID if [[ ! $API_KEY == lf_* ]]; then echo "โš ๏ธ Warning: API key should start with 'lf_'" fi # Determine config path case $PLATFORM in 1) CONFIG_PATH="$HOME/Library/Application Support/Claude/claude_desktop_config.json" TOOL_NAME="Claude Desktop" ;; 2) CONFIG_PATH="$HOME/Library/Application Support/Cursor/User/globalStorage/settings.json" TOOL_NAME="Cursor" ;; 3) CONFIG_PATH="$HOME/Library/Application Support/Code/User/settings.json" TOOL_NAME="Claude Code" ;; *) echo "โŒ Invalid selection" exit 1 ;; esac # Create config directory if needed mkdir -p "$(dirname "$CONFIG_PATH")" # Create/update config cat > "$CONFIG_PATH" << EOF { "mcpServers": { "launchfast": { "command": "npx", "args": ["-y", "@launchfast/mcp-server"], "env": { "LAUNCHFAST_API_URL": "https://launchfastlegacyx.com", "LAUNCHFAST_API_KEY": "$API_KEY", "LAUNCHFAST_USER_ID": "$USER_ID" } } } } EOF echo "" echo "โœ… Configuration saved to:" echo " $CONFIG_PATH" echo "" echo "๐Ÿ“‹ Next steps:" echo "1. Restart $TOOL_NAME" echo "2. Look for ๐Ÿ”จ hammer icon" echo "3. Test with: 'Research the market for portable chargers'" echo "" echo "๐Ÿ“ž Need help? Contact: team-support@company.com" ``` **`setup-team.ps1`** (Windows PowerShell): ```powershell # LaunchFast MCP - Team Installation Script (Windows) Write-Host "๐Ÿš€ LaunchFast MCP Server - Team Setup" -ForegroundColor Green Write-Host "======================================" -ForegroundColor Green Write-Host "" # Check Node.js try { $nodeVersion = node -v Write-Host "โœ… Node.js detected: $nodeVersion" -ForegroundColor Green } catch { Write-Host "โŒ Node.js not found. Please install Node.js 18+ first:" -ForegroundColor Red Write-Host " https://nodejs.org/" exit 1 } # Prompt for platform Write-Host "" Write-Host "Select your AI tool:" Write-Host "1. Claude Desktop" Write-Host "2. Cursor" Write-Host "3. Claude Code (VS Code)" $platform = Read-Host "Enter choice (1-3)" # Get credentials Write-Host "" Write-Host "Enter your LaunchFast credentials:" $apiKey = Read-Host "API Key (lf_...)" $userId = Read-Host "User ID" # Determine config path switch ($platform) { 1 { $configPath = "$env:APPDATA\Claude\claude_desktop_config.json" $toolName = "Claude Desktop" } 2 { $configPath = "$env:APPDATA\Cursor\User\globalStorage\settings.json" $toolName = "Cursor" } 3 { $configPath = "$env:APPDATA\Code\User\settings.json" $toolName = "Claude Code" } default { Write-Host "โŒ Invalid selection" -ForegroundColor Red exit 1 } } # Create config directory $configDir = Split-Path $configPath if (!(Test-Path $configDir)) { New-Item -ItemType Directory -Path $configDir -Force | Out-Null } # Create config $config = @{ mcpServers = @{ launchfast = @{ command = "npx" args = @("-y", "@launchfast/mcp-server") env = @{ LAUNCHFAST_API_URL = "https://launchfastlegacyx.com" LAUNCHFAST_API_KEY = $apiKey LAUNCHFAST_USER_ID = $userId } } } } $config | ConvertTo-Json -Depth 10 | Set-Content $configPath Write-Host "" Write-Host "โœ… Configuration saved to:" -ForegroundColor Green Write-Host " $configPath" Write-Host "" Write-Host "๐Ÿ“‹ Next steps:" Write-Host "1. Restart $toolName" Write-Host "2. Look for ๐Ÿ”จ hammer icon" Write-Host "3. Test with: 'Research the market for portable chargers'" Write-Host "" Write-Host "๐Ÿ“ž Need help? Contact: team-support@company.com" ``` --- ## ๐Ÿ“Š Monitoring & Usage Tracking ### Admin Dashboard Monitor team usage at: https://launchfastlegacyx.com/admin/usage-stats **Available Metrics**: - Total API calls per user - Endpoints hit (market research, keywords, suppliers) - Response times and error rates - Rate limit status - Last used timestamps ### Rate Limit Management **Current Limits**: - **Global**: 20 requests/minute across all MCP users - **Per-key tracking**: Available in `mcp_usage_logs` table **Monitoring Rate Limits**: ```sql -- Check usage by user (last 24 hours) SELECT u.email, COUNT(*) as requests, AVG(processing_time_ms) as avg_response_time FROM mcp_usage_logs l JOIN user_profiles u ON l.user_id = u.id WHERE l.created_at > NOW() - INTERVAL '24 hours' GROUP BY u.email ORDER BY requests DESC; -- Check rate limit hits SELECT window_start, window_end, request_count FROM mcp_rate_limits WHERE window_end > NOW() - INTERVAL '1 hour' ORDER BY window_start DESC; ``` ### Alerting (Optional) Set up Slack/email alerts for: - Rate limit exceeded (429 errors) - High error rates (>5% 5xx errors) - Slow response times (>10s average) - Unauthorized access attempts (401/403) --- ## ๐Ÿ”’ Security Best Practices ### 1. API Key Security **DO**: - โœ… Store keys in secure credential managers (1Password, etc.) - โœ… Use environment variables in CI/CD - โœ… Rotate keys every 90 days - โœ… Generate separate keys per user - โœ… Revoke keys immediately when team members leave **DON'T**: - โŒ Commit keys to git repositories - โŒ Share keys via email or Slack - โŒ Use the same key for multiple users - โŒ Store keys in plain text files ### 2. Access Control **Admin Access**: - Only admins can generate/delete API keys - Requires `role = 'admin'` in `user_profiles` table - Review admin list quarterly **User Isolation**: - Each user has their own API key - RLS policies enforce user-level data isolation - Usage logs tied to individual user IDs ### 3. Network Security **Production**: - All traffic over HTTPS (TLS 1.3) - API keys in headers, never in URLs - CORS enabled for web dashboard only --- ## ๐Ÿšจ Incident Response ### Key Compromised 1. **Immediately disable key** in admin dashboard 2. **Generate new key** for affected user 3. **Review usage logs** for suspicious activity: ```sql SELECT * FROM mcp_usage_logs WHERE api_key_id = 'compromised_key_id' ORDER BY created_at DESC; ``` 4. **Notify security team** if unusual patterns found 5. **Update user's configuration** with new key ### Rate Limit Exceeded 1. **Check global usage**: 20 req/min across all users 2. **Identify heavy users** in admin dashboard 3. **Options**: - Enable caching (`useCache: true`) - Reduce `limit` parameter (e.g., 10 instead of 50) - Batch requests during off-peak hours - Request rate limit increase ### Service Outage 1. **Check API status**: https://launchfastlegacyx.com/api/health 2. **View error logs** in admin dashboard 3. **Test with curl**: ```bash curl -X POST https://launchfastlegacyx.com/api/products/research \ -H "X-LaunchFast-API-Key: lf_test" \ -H "Content-Type: application/json" \ -d '{"keyword": "test", "limit": 1}' ``` 4. **Contact support**: support@launchfastlegacy.com --- ## ๐Ÿ“– Team Documentation ### Internal Wiki Template Create a page in your company wiki with: **Title**: LaunchFast MCP Server - Quick Start **Sections**: 1. What is LaunchFast MCP? 2. How to get credentials 3. Installation instructions (link to setup scripts) 4. Example prompts 5. Troubleshooting 6. Support contacts **Example prompts to share**: ``` # Market Research "Research the Amazon market for [product]" "Show me top products in [category] under $50" "What's the competition level for [keyword]?" # Keyword Analysis "Find keyword opportunities for ASIN [asin]" "Show me keyword gaps vs competitor [asin]" "What keywords should I target for [product]?" # Supplier Sourcing "Find suppliers for [product] with low MOQ" "Show me Gold Suppliers in China for [product]" "Which supplier offers best quality for [product]?" # Complete Workflow "Help me launch [product] on Amazon - do complete research" ``` ### Slack/Teams Channel Create a dedicated channel: **#launchfast-mcp** **Pin these resources**: - Link to internal wiki page - Installation scripts (as file attachments) - Common troubleshooting tips - Support contact info **Example pinned message**: ``` ๐Ÿ“Œ LaunchFast MCP Resources ๐Ÿ”ง Setup: โ€ข macOS: Run setup-team.sh โ€ข Windows: Run setup-team.ps1 โ€ข Get credentials: https://launchfastlegacyx.com/admin/usage-stats ๐Ÿ“š Docs: โ€ข Wiki: [link to internal wiki] โ€ข GitHub: [link to internal repo] ๐Ÿ†˜ Support: โ€ข Email: team-support@company.com โ€ข This channel for quick questions ๐ŸŽฏ Example Prompts: "Research the market for portable chargers" "Find keywords for ASIN B08N5WRWNW" "Search Alibaba for bluetooth speaker suppliers" ``` --- ## ๐Ÿงช Testing Checklist Before rolling out to the whole team, test thoroughly: ### Functional Tests - [ ] Market research returns 50 products - [ ] Keyword research handles 1-10 ASINs - [ ] Supplier search returns 20 suppliers - [ ] All filters work (price, rating, MOQ, etc.) - [ ] Error handling is graceful - [ ] Rate limits are respected ### Platform Tests - [ ] Works on Claude Desktop (macOS) - [ ] Works on Claude Desktop (Windows) - [ ] Works on Cursor - [ ] Works on Claude Code - [ ] NPX method works - [ ] Manual install method works ### Performance Tests - [ ] Market research completes in <10s - [ ] Keyword research completes in <15s per ASIN - [ ] Supplier search completes in <15s - [ ] Cached requests return in <3s - [ ] No memory leaks over 1 hour usage ### Security Tests - [ ] Invalid API key returns 401 - [ ] Disabled key returns 403 - [ ] Rate limit returns 429 with Retry-After - [ ] Keys not exposed in logs - [ ] HTTPS enforced --- ## ๐Ÿ“ž Support Plan ### Tier 1: Self-Service **Resources**: - Internal wiki documentation - QUICKSTART.md guide - INSTALL.md troubleshooting section - Slack/Teams channel for peer help ### Tier 2: Team Support **Contact**: team-support@company.com **Response Time**: 4 business hours **Handles**: - Installation issues - Configuration help - Basic troubleshooting - Key generation/rotation ### Tier 3: LaunchFast Support **Contact**: support@launchfastlegacy.com **Response Time**: 24 business hours **Handles**: - API issues - Rate limit increases - Feature requests - Bug reports --- ## ๐ŸŽฏ Success Metrics Track these KPIs after deployment: **Adoption**: - % of team with MCP installed - Active users per week - Queries per user per day **Performance**: - Average response time - Cache hit rate - Error rate (<1% target) **Value**: - Time saved vs manual research - Number of product launches aided - Successful product identifications **Example Dashboard Query**: ```sql -- Weekly stats SELECT DATE_TRUNC('week', created_at) as week, COUNT(DISTINCT user_id) as active_users, COUNT(*) as total_queries, AVG(processing_time_ms) as avg_response_ms, COUNT(*) FILTER (WHERE status_code >= 400) * 100.0 / COUNT(*) as error_rate_pct FROM mcp_usage_logs WHERE created_at > NOW() - INTERVAL '90 days' GROUP BY week ORDER BY week DESC; ``` --- ## ๐Ÿš€ Rollout Plan ### Phase 1: Pilot (Week 1) **Participants**: 3-5 early adopters **Goals**: - Validate installation process - Collect feedback on UX - Identify edge cases - Refine documentation ### Phase 2: Limited Release (Week 2-3) **Participants**: 25% of team **Goals**: - Scale testing - Monitor rate limits - Gather usage patterns - Update documentation ### Phase 3: General Availability (Week 4+) **Participants**: Entire team **Goals**: - Full deployment - Ongoing support - Continuous improvement - Feature requests --- ## ๐Ÿ“‹ Maintenance ### Weekly - [ ] Review error logs - [ ] Check rate limit usage - [ ] Address support tickets - [ ] Update documentation if needed ### Monthly - [ ] Review usage metrics - [ ] Collect team feedback - [ ] Plan feature improvements - [ ] Update dependencies ### Quarterly - [ ] Rotate API keys - [ ] Security audit - [ ] Performance review - [ ] Team training session --- ## ๐ŸŽ‰ Launch Announcement Template **Subject**: ๐Ÿš€ New Tool: LaunchFast MCP Server for Amazon Research **Body**: ``` Hi team, We're excited to announce LaunchFast MCP Server - a powerful new tool that brings Amazon and Alibaba intelligence directly into Claude! ๐ŸŽฏ What can you do? โ€ข Research Amazon products and markets in seconds โ€ข Analyze keywords with gap detection โ€ข Find and score Alibaba suppliers โ€ข Get complete product launch strategies โšก Installation (takes 2 minutes): 1. Get credentials: [link to admin dashboard] 2. Run setup script: [link to scripts] 3. Restart your AI tool 4. Try it: "Research the market for portable chargers" ๐Ÿ“š Resources: โ€ข Quick Start Guide: [link] โ€ข Full Documentation: [link] โ€ข Support Channel: #launchfast-mcp ๐Ÿ†˜ Need help? โ€ข Slack: #launchfast-mcp โ€ข Email: team-support@company.com We've tested this extensively with [pilot team members], and they're seeing 10x faster research times! Questions? Join us for a live demo on [date/time]. Happy researching! ๐Ÿš€ [Your Team] ``` --- **Need deployment help? Contact: support@launchfastlegacy.com**