jaxon-optimizely-dxp-mcp
v3.10.2
Published
AI-powered automation for Optimizely DXP - deploy, monitor, and manage environments through natural conversations
Readme
Optimizely DXP MCP Server
AI-powered automation for Optimizely DXP. Deploy code, manage environments, and handle databases through natural language.
Quick Start (2 minutes)
# Install globally
npm install -g @jaxon-digital/optimizely-dxp-mcp@latest
# Add to Claude Desktop or Claude Code
claude mcp add optimizely "@jaxon-digital/optimizely-dxp-mcp"
# Test your setup
claude "Run setup wizard for Optimizely"What Can It Do?
Simple Commands
| Command | What it does |
|---------|-------------|
| deploy to production | Smart deploy from preproduction with progress tracking |
| backup database | Export production database (defaults to prod) |
| status | Show all deployments with suggestions |
| rollback production | Emergency rollback for failed deployments |
| quick | Ultra-fast status check |
Natural Language Operations
- "Deploy staging to production"
- "Show deployment dashboard"
- "Backup production database with auto-download"
- "Copy production content down to integration"
- "Check deployment status for project Acme"
No PowerShell commands or portal navigation required.
Key Features
Capabilities
Deployment Operations
- Deploy code and content between environments
- Monitor deployments with real-time progress tracking
- Smart rollback for failed deployments
- Handle large packages (>100MB) intelligently
- Natural language commands with smart defaults
Database Management
- Export and import databases
- Auto-download database backups when complete
- Monitor backup progress and status
- List recent backup history
Project Management
- Manage multiple projects seamlessly
- Dynamic project switching
- Per-project API key configuration
- Automatic credential validation
Performance & Reliability
- Smart retry with exponential backoff
- Rate limiting protection (30 req/min per project)
- Intelligent caching for read operations
- Setup wizard for first-time configuration
AI Agent & Workflow Automation
This MCP is perfect for always-on AI agents and automated workflows on platforms like:
Workflow Platforms
- n8n: Create visual workflows that trigger deployments based on events
- Zapier/Make: Connect DXP operations to 1000+ apps
- GitHub Actions: Automate deployments in CI/CD pipelines
- Jenkins: Integrate with existing DevOps pipelines
AI Agent Platforms
- LangChain/LlamaIndex: Build custom AI agents with DXP capabilities
- AutoGPT/AgentGPT: Enable autonomous deployment management
- Custom GPTs: Create specialized deployment assistants
- Slack/Teams Bots: Deploy via chat commands
Example Use Cases
- Auto-deploy after successful test runs
- Schedule content syncs during off-hours
- Trigger rollbacks on monitoring alerts
- Create approval workflows for production deployments
- Generate deployment reports and analytics
The MCP's JSON-RPC interface makes it easy to integrate with any platform that can make HTTP requests or run Node.js processes.
Prerequisites
- Node.js 20+
- PowerShell Core (installs automatically)
- Optimizely DXP project with API access
Understanding DXP Environments
Every Optimizely DXP project has exactly 3 environments:
- Integration - Development/testing environment
- Preproduction - Staging environment
- Production - Live website
The MCP accepts common aliases: dev→Integration, staging→Preproduction, prod→Production
Getting API Credentials
- Log in to Optimizely DXP Portal
- Navigate: Organization → Your Project → API tab
- Click "Add API Credentials"
- Select environments to grant access (typically all three)
- Copy these values:
- Project ID: UUID format (e.g.,
abc12345-...) - API Key: Your access key
- API Secret: Your secret key
- Project ID: UUID format (e.g.,
Configuration
Option 1: No Config (Simplest)
Provide credentials inline:
claude "Deploy for project MyProject with id abc-123, key YOUR_KEY, secret YOUR_SECRET"The MCP remembers credentials for the session.
Option 2: Environment Variables
Edit Claude's config (~/.claude/claude_desktop_config.json):
{
"mcpServers": {
"optimizely": {
"command": "jaxon-optimizely-dxp-mcp",
"env": {
"MY_PROJECT": "id=abc-123;key=YOUR_KEY;secret=YOUR_SECRET"
}
}
}
}Option 3: Multiple Projects
{
"mcpServers": {
"optimizely": {
"command": "jaxon-optimizely-dxp-mcp",
"env": {
"ACME_CORP": "id=abc-123;key=KEY1;secret=SECRET1;default=true",
"CONTOSO": "id=def-456;key=KEY2;secret=SECRET2",
"FABRIKAM": "id=ghi-789;key=KEY3;secret=SECRET3"
}
}
}
}Then use: claude "deploy to production for Acme"
Common Workflows
Deploy Code
# Simple deployment
claude "deploy to production"
# → Automatically deploys from Preproduction
# → Shows progress and ETA
# → Provides verification URL when ready
# Complete verification
claude "complete deployment"Database Backup
# Basic backup
claude "backup production database"
# → Creates .bacpac export
# → Provides download link when ready
# Auto-download backups
claude "backup database --auto-download"
# → Monitors completion
# → Downloads to ./backups automaticallyContent Sync
claude "copy production content to integration"
# → Syncs CMS content and media
# → Preserves integration code
# → Shows completion statusTechnical Architecture
This MCP leverages PowerShell + EpiCloud (Optimizely's official module):
User Request → MCP Server (Node.js) → PowerShell Core → EpiCloud Module → Optimizely DXP APIWhy this approach?
- ✅ Official Optimizely tooling (EpiCloud)
- ✅ Complete DXP feature coverage
- ✅ Enterprise-grade error handling
- ✅ Works on Windows, Mac, and Linux
Troubleshooting
Common Issues
| Error | Solution |
|-------|----------|
| "PowerShell not found" | Mac: brew install --cask powershell Linux: Install guide |
| "EpiCloud not installed" | Auto-installs on first use, or manually: pwsh -Command "Install-Module EpiCloud -Force" |
| "Authentication failed" | Verify API credentials in DXP Portal |
| "Rate limit exceeded" | Automatic retry with backoff (usually resolves itself) |
| "Deployment awaiting verification" | Run: claude "complete deployment" |
Getting Help
# Run interactive setup wizard
claude "run setup wizard"
# Test your connection and credentials
claude "test connection"
# Quick health check
claude "health check"
# Get detailed deployment info
claude "show deployment dashboard"Telemetry & Privacy
This MCP includes anonymous telemetry (enabled by default) to help understand usage patterns and improve the tool.
For Organizations: Since this is open source, you can use the telemetry feature to gain insights into how your team uses the MCP:
- Track which deployment operations are most common
- Monitor success rates and identify training needs
- Understand usage patterns across different teams
- Measure automation ROI and time savings
What's collected:
- Tool usage frequency (which tools are popular)
- Success/error rates (to identify issues)
- Performance metrics (operation timing)
- Environment info (OS type, MCP version)
What's NOT collected:
- No API keys or credentials
- No project names or IDs
- No personal information
- No file contents or paths
- No deployment package data
How to disable:
# Set environment variable to false
OPTIMIZELY_MCP_TELEMETRY=false
# Or in your MCP configuration:
"env": {
"OPTIMIZELY_MCP_TELEMETRY": "false"
}For self-hosted telemetry: Organizations can configure their own telemetry endpoint to collect data internally for compliance and analytics purposes.
Telemetry helps understand which features to prioritize and which issues to fix first. Thank you for helping make this tool better!
Architecture Note
Why This MCP Uses PowerShell + EpiCloud
FYI: This MCP leverages PowerShell and the official EpiCloud module rather than calling REST APIs directly. During development, we encountered authentication challenges with the OAuth2 implementation that blocked direct REST API usage. Rather than spending time debugging the authentication flow, we chose to use EpiCloud which:
- Just works: EpiCloud handles all authentication complexity internally
- Official support: It's Optimizely's recommended automation tool
- More features: Provides access to operations not exposed in the public REST API
- Better reliability: Built-in retry logic and error handling
- Proven solution: Used by enterprises worldwide for DXP automation
This architectural decision ensures reliability and full feature coverage while avoiding authentication complexities.
Known Limitations
- Large Files: Packages >100MB need special handling (use
analyze_packagetool for best approach) - Edge Logs: Require beta access (not available for most projects)
Support & Resources
- Issues & Bugs: GitHub Issues
- Documentation: Full Docs
- Email Support: [email protected]
- NPM Package: @jaxon-digital/optimizely-dxp-mcp
License
MIT - Free to use in your projects
Built by Jaxon Digital - Optimizely Gold Partner
LinkedIn | Website
