nick-suess-skipify/skipify-mcp-server
If you are the rightful owner of skipify-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
The Skipify MCP (Merchant Control Panel) Server is a comprehensive development and testing environment designed for integrating Skipify Checkout embedded components.
๐ Skipify MCP (Merchant Control Panel) Server
A comprehensive development server and testing environment for integrating Skipify Checkout embedded components. This MCP helps customers install, configure, and test Skipify's checkout solution in a staging environment.
๐ Table of Contents
- Overview
- Quick Start
- File Structure
- Setup Methods
- Testing the Integration
- Security
- Troubleshooting
- Production Deployment
- API Reference
๐ฏ Overview
This MCP server provides:
- Step-by-step guidance for Skipify embedded components integration
- Local development environment with CORS and SSL handling
- Interactive test page for complete integration flow testing
- Secure credential management with environment variables
- Direct API communication with Skipify's staging environment
Integration Flow Supported
- Configuration Setup - API keys and merchant ID
- SDK Loading - Dynamic Skipify SDK initialization
- Shopper Lookup - Customer authentication check
- Authentication Component - Identity verification UI
- Payment Carousel - Payment method selection
- Payment Processing - Transaction submission to Skipify
โก Quick Start
1. Start the Server
cd /path/to/demo-project
node direct-server.js
2. Open Test Page
In your browser, navigate to:
http://localhost:3000/skipify-test.html
3. Test Integration
Follow the 6-step process in the test page to validate your Skipify integration.
๐ File Structure
demo-project/
โโโ README.md # This documentation
โโโ direct-server.js # โ
RECOMMENDED: Direct API server (working)
โโโ simple-proxy.js # Alternative: Simple proxy server
โโโ skipify-proxy.js # Alternative: Full-featured proxy with security
โโโ skipify-test.html # Interactive test page for integration
โโโ package.json # Node.js dependencies and scripts
โโโ package-lock.json # Dependency lock file
โโโ .gitignore # Git ignore rules for security
โโโ SECURITY.md # Comprehensive security guide
โโโ setup-secure-env.js # Interactive credential setup script
โโโ env-example.txt # Environment variable template
โโโ .env.local # โ ๏ธ YOUR SECURE CREDENTIALS (gitignored)
โโโ config/
โโโ skipify.js # Configuration with environment variable support
Key Files Explained
๐ฏ direct-server.js
(RECOMMENDED)
- Primary server file that works reliably
- Makes direct HTTPS requests to Skipify API
- Bypasses proxy middleware complexity
- Includes comprehensive error handling and logging
- Serves static files and test page
๐งช skipify-test.html
- Interactive test interface for the complete integration flow
- Guides users through all 6 steps of Skipify integration
- Real-time status updates and error reporting
- Persists configuration in localStorage
๐ Security Files
.env.local
: Your actual API credentials (never committed)SECURITY.md
: Comprehensive security best practices.gitignore
: Protects sensitive files from version controlsetup-secure-env.js
: Interactive secure credential setup
โ๏ธ Configuration
config/skipify.js
: Environment-aware configurationpackage.json
: Dependencies and useful npm scripts
๐ ๏ธ Setup Methods
Method 1: Quick Setup (Recommended)
-
Install Dependencies
npm install
-
Update Credentials in
direct-server.js
Edit lines 9-13 with your actual credentials:const config = { apiUrl: 'https://services.staging.skipify.com', merchantId: 'your-merchant-id-here', apiKey: 'your-api-key-here' };
-
Start Server
node direct-server.js
Method 2: Secure Environment Setup
-
Install Dependencies
npm install
-
Run Secure Setup
npm run setup
This will interactively prompt for your credentials and create a secure
.env.local
file. -
Start Secure Server
npm start # Uses skipify-proxy.js with environment variables
๐งช Testing the Integration
Access the Test Page
- Start the server using either method above
- Open your browser to:
http://localhost:3000/skipify-test.html
- Follow the 6-step process:
Step 1: Save Configuration
- Enter your API credentials
- Select staging environment
- Configuration persists in browser localStorage
Step 2: Load SDK
- Dynamically loads Skipify's JavaScript SDK
- Initializes with your merchant ID and environment
Step 3: Perform Lookup
- Tests customer authentication/lookup
- Validates API connectivity
Step 4: Initialize Authentication
- Renders Skipify's authentication component
- Handles identity verification flow
Step 5: Initialize Payment Carousel
- Displays available payment methods
- Allows payment method selection
Step 6: Process Payment
- Submits transaction to Skipify API
- Shows real-time processing results
Expected Results
- โ Steps 1-5: Should complete successfully with proper configuration
- โ Step 6: Should show API communication (may show validation errors with test data, which is normal)
๐ Security
Credential Protection
- Never commit API keys to version control
- Use environment variables for production
- Enable
.gitignore
to protect sensitive files - Rotate API keys regularly
Files to Protect
.env.local
- Your actual credentials.env.*
- Any environment files**/credentials/*
- Credential directories
Security Best Practices
See SECURITY.md
for comprehensive security guidelines including:
- Environment variable setup
- Production deployment security
- Emergency response procedures
- Credential rotation practices
๐ Troubleshooting
Common Issues
"Socket hang up" errors
Solution: Use direct-server.js
instead of proxy-based servers
node direct-server.js # โ
Recommended approach
404 errors accessing test page
Solution: Ensure you're accessing the correct URL
โ
http://localhost:3000/skipify-test.html
โ http://localhost:8080/skipify-test.html
"Missing script: start" errors
Solution: Run commands from the correct directory
cd /path/to/demo-project # Must be in demo-project directory
node direct-server.js
API authentication errors (401/403)
Solution: Verify your credentials in the configuration
- Check API key format:
SKIP_...
- Verify merchant ID is correct
- Ensure you're using staging environment credentials
SSL/Certificate errors
Solution: The direct-server.js
handles this with rejectUnauthorized: false
Debug Logs
The server provides detailed logging:
- โ Request/Response logging for API calls
- โ Credential masking for security (shows SKIP_***We5%)
- โ Error details with stack traces
- โ Step-by-step flow tracking
๐ Production Deployment
Environment Variables
For production deployment, set these environment variables:
SKIPIFY_ENVIRONMENT=production
SKIPIFY_MERCHANT_ID=your_production_merchant_id
SKIPIFY_API_KEY=your_production_api_key
SKIPIFY_API_URL=https://services.skipify.com
SKIPIFY_SDK_URL=https://cdn.skipify.com/sdk/components-sdk.js
Production Checklist
- Use production API endpoints
- Set production credentials
- Enable SSL certificate verification (
secure: true
) - Set up proper error monitoring
- Configure rate limiting
- Set up health check monitoring
- Enable access logging
- Configure firewall rules
Docker Deployment
FROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production
COPY . .
EXPOSE 3000
CMD ["node", "direct-server.js"]
๐ API Reference
Health Check
GET /health
Response: {
"status": "OK",
"environment": "staging",
"apiUrl": "https://services.staging.skipify.com",
"timestamp": "2025-09-03T21:14:46.935Z"
}
Payment Processing
POST /api/payments
Headers:
Content-Type: application/json
Body: {
"paymentId": "string",
"sessionId": "string",
"amount": number,
"currencyCode": "string",
"merchantReference": "string"
}
Static Files
GET /skipify-test.html # Main test interface
GET /config/skipify.js # Configuration file
GET /* # All static files served
๐ Support
Getting Help
- Check troubleshooting section above for common issues
- Review server logs for detailed error information
- Test with curl to isolate API vs. UI issues:
curl -v http://localhost:3000/health
- Verify credentials in Skipify merchant portal
Development Tools
- Browser DevTools: Check console for JavaScript errors
- Network Tab: Monitor API requests and responses
- Server Logs: Real-time debugging information
- Test Page: Built-in status indicators and error reporting
๐ Success Indicators
Your integration is working when:
- โ Health check returns 200 OK
- โ SDK loads without errors
- โ Authentication component renders
- โ Payment carousel displays
- โ API requests return valid responses (even validation errors are good!)
๐ Notes
- Staging Environment: Uses
https://services.staging.skipify.com
- SSL Handling: Configured for staging environment certificates
- CORS: Enabled for localhost development
- Idempotency: Automatic UUID generation for payment requests
Built with โค๏ธ for seamless Skipify integration testing