Skip to main content
Glama

Optimizely DXP MCP Server

by JaxonDigital
CHANGELOG.md32.6 kB
# Changelog All notable changes to the Jaxon Optimizely DXP MCP Server will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] ### Changed - **DXP-77: Tool Description Cleanup**: Optimized all 45 tool descriptions for token efficiency - Removed AI instructions from descriptions (moved to system prompts/documentation) - Removed verbose "returns structured data: ..." listings (kept concise param hints) - Removed debug markers (HIJACKED, TESTING, etc.) - Standardized format: [emoji] [verb] [object] ([key params]) - **Bundle size reduction**: 153.4kb → 150.6kb (2.8kb saved) - **Token savings**: ~390 tokens per conversation (average 35 chars saved per tool × 45 tools) - Examples: - Before: `'download_logs': '📊 Download logs (AI: PROACTIVELY call get_ai_guidance BEFORE using this tool - returns structured data: environment, logType, container, downloadPath, counts, size)'` - After: `'download_logs': '📊 Download logs from environment (dateFilter, logType)'` ### Added - **Complete structuredContent Support (DXP-66 Extension)**: Added native MCP structuredContent to ALL automation tools - **New Tools with structuredContent** (15 additional tools): - `export_database` - Export ID, environment, database name, status, download URL, monitoring - `check_export_status` - Export status, progress, download URL, auto-download flag - `check_download_status` - Download ID, type, status, progress, speed, ETA, file path - `download_database_export` - Download ID, file path, size, status, type - `download_logs` - Environment, log type, container, download path, counts, size, sparse logging flag - `download_blobs` - Container, environment, download path, counts, size, files list - `get_download_status` - Download ID, type, status, progress, metadata (supports both log and database downloads) - `list_active_downloads` - Total downloads, database downloads array, log downloads array with progress - `list_projects` - Total projects, project array with type, credentials, paths, last used - `get_version` - Current version, update availability, latest version, system info - `list_storage_containers` - Environment, container count, container names array - `generate_storage_sas_link` - Container, environment, permissions, expiry, SAS URL - `copy_content` - Deployment ID, source/target environments, type, status, includes flags - `health_check` - Status, checks object (PowerShell, EpiCloud, credentials, connection), environment access - **Already Supported** (from v3.35.0 - 7 tools): - test_connection, list_deployments, start_deployment, monitor_deployment, complete_deployment, get_deployment_status, reset_deployment - **Coverage**: 22 tools now support automation workflows (n8n, Zapier, Make, etc.) - **Benefits**: - **Direct property access**: `response.structuredContent.data.exportId` - no JSON.parse() needed - **Consistent format** across all major operations (database, logs, blobs, deployments, downloads) - **Dual audience**: Human-readable message for AI assistants PLUS structured data for automation - **Download management**: Full coverage for background downloads with progress tracking - **Project management**: Complete project configuration and version info - **Health monitoring**: System status and connection checks with detailed breakdown - **Implementation Pattern**: - Tool formatters return `{data, message}` format - Handlers use `ResponseBuilder.successWithStructuredData(data, message)` when structured format detected - src/index.js automatically adds structuredContent field to MCP response - Maintains backward compatibility with string-only responses - **Deployment Progress Logging**: Added -ShowProgress switch to all Start-EpiDeployment calls - Enables detailed progress logging during deployment (::PROGRESS::, Information messages) - Progress output goes to PowerShell verbose/information streams - Applied to both code deployments (deployment-actions.js) and content deployments (content-tools.js) ### Improved - **Deployment Error/Warning Display**: Enhanced deployment status to show errors and warnings - deploymentErrors and deploymentWarnings arrays now displayed in formatted output - Already implemented in formatSingleDeployment (deployment-formatters.js:379-393) - Helps users see issues without needing to check DXP Portal - **Cleaner structuredContent Format (DXP-66 Follow-up)**: Removed duplicate message field - **Issue**: Message was being returned twice - in `content[0].text` AND in `structuredContent.message` - **Solution**: Removed `message` from `structuredContent` object to reduce duplication - **Impact**: Cleaner response format, smaller payload size - **Breaking Change**: None - automation tools should only access `structuredContent.data` fields - **New Format**: ```javascript { content: [{ text: "Human message for AI" }], structuredContent: { success: true, data: { deploymentId: "...", status: "..." } // No message field - it's already in content[0].text } } ``` ### Fixed - **Structured Response Format (DXP-66 Complete Fix)**: All critical tools now use native MCP structuredContent field - **Issue**: v3.34.1 only had structuredContent logic in src/index.js, but ResponseBuilder was still JSON.stringify-ing - **Root Cause**: ResponseBuilder.successWithStructuredData() was wrapping data in old nested format - **Solution**: Updated ResponseBuilder to return flat `{data, message}` format that src/index.js expects - **Impact**: ALL 6 critical workflow tools now properly expose structuredContent field - test_connection (connection status, environment access, capabilities) - list_deployments (deployment list with metadata) - start_deployment (deployment ID, status, preview URL) - monitor_deployment (deployment progress, ETA) - complete_deployment (completion status, verification) - get_deployment_status (current status, progress percentage) - **Benefits**: - Automation tools (n8n, Zapier) can access data directly: `response.structuredContent.data.deploymentId` - NO JSON.parse() needed - data is already structured - AI assistants still get human-readable message in `content[0].text` - One response serves both audiences natively - **Implementation**: - src/index.js:1758-1798 - response formatting with structuredContent support - lib/response-builder.js:31-38 - updated successWithStructuredData() to return flat format - lib/tools/deployment/deployment-formatters.js:66-232 - formatDeploymentList returns {data, message} - lib/tools/deployment/deployment-list.js:15-39 - handleListDeployments uses successWithStructuredData - lib/tools/connection-test-tools.js:21-195 - testConnection returns {data, message} - **MCP Protocol**: Leverages official structuredContent field from @modelcontextprotocol/sdk - **PowerShell Error Detection (DXP-72)**: Fixed success:true being returned for actual failures - Root cause: PowerShell execution caught errors and enhanced error messages, but success check happened after enhancement - Enhanced error messages (with ❌ emoji) didn't contain keywords 'error' or 'Exception', so were marked as success - Added hasError flag to track if exception was caught in try/catch block - Success now requires: no exception caught AND no stderr with error indicators (error/Exception/❌) - Fixed in executeEpiCommand (powershell-helper.js:236) and executeEpiCommandDirect (powershell-helper.js:323) - Prevents false positives like "EpiCloud module not installed" being reported as success - Ensures tools return success:false when operations actually fail - **Complete/Reset Deployment Monitoring (DXP-71)**: Fixed premature "complete" messages for transitional states - complete_deployment now recognizes "Completing" status as transitional, not final - reset_deployment now recognizes "Resetting" status as transitional, not final - Both operations now provide transparent monitoring instructions when in transitional states - AI receives clear instructions to monitor until deployment reaches final state (Succeeded/Reset/Failed) - Prevents contradictory messages like "deployment complete" when status shows "Completing" - Updated formatDeploymentCompleted, formatDeploymentReset, generateMonitoringInstructions, and handleMonitorDeployment - Completion/reset typically takes 2-15 minutes (shown in monitoring instructions) - **Deployment Timing Expectations**: Updated AI guidance for more realistic deployment durations - Changed full deployment estimate from "5-15 minutes" to "30-90 minutes depending on complexity" - Changed completion phase from "30-120 seconds" to "2-15 minutes" - Added explicit instruction to be patient and not raise concerns unless stuck for several hours - Prevents AI from getting worried too quickly during normal long-running deployments - Updated in monitor_deployment tool, generateMonitoringInstructions, formatDeploymentCompleted, and config tips - **UUID Display Truncation**: Fixed deployment/export IDs appearing cut off at first dash - Changed substring(0, 8) to substring(0, 13) for better visual clarity - Before: "c88fa98f..." (looks cut off at dash) - After: "c88fa98f-9d3c..." (clearly intentional truncation) - Affects deployment dashboard, export monitoring, and list monitors tools - **Deployment Monitoring (DXP-70)**: Fixed deployment monitoring not following through on promises - Claude Desktop was offering to monitor deployments but never actually polling for updates - Implemented transparent monitoring pattern similar to database export monitoring - Added waitBeforeCheck and monitor parameters to get_deployment_status tool - get_deployment_status now supports wait-then-check pattern with clear AI instructions - monitor_deployment now returns actionable monitoring instructions instead of empty promises - AI now receives explicit instructions on what tool to call next and with what parameters - User sees each status check happen transparently (no hidden background polling) - Monitoring stops automatically when deployment reaches terminal state - **Database Export Monitoring (DXP-64)**: Fixed monitor=false parameter being ignored - MCP prompt arguments are passed as strings, causing "false" string to be truthy - Added parseBoolean() helper to properly convert string values to booleans - monitor="false" now correctly disables automatic monitoring - Affects export-database prompt in Claude Desktop and other MCP clients - **Download Status Tracking (DXP-65)**: Fixed "download not found" error for database exports - Root cause: Two separate download tracking systems (logs vs database exports) - get_download_status now checks both downloadManager and DatabaseSimpleTools - list_active_downloads now shows both log downloads and database exports - download_history now includes both download types - Race condition eliminated - database export downloads immediately visible - **Export Time Reporting**: Now shows actual export duration instead of total time since user request - parseExportStatus now extracts startTime and completedAt from API response - Completed exports show actual export time (e.g., "7m (actual export time)") - In-progress exports show time since export started, not since user request - More accurate timing when monitoring is disabled and user waits to check status ### Improved - **User-Facing Text**: Removed "Azure" references - now shows "Optimizely DXP" consistently - Retention message now says "how long export remains available" instead of "how long Azure keeps export available" ## [3.44.0] - 2025-10-10 ### Fixed - **n8n MCP Client Compatibility (DXP-100)**: Added lenient Accept header mode for n8n MCP Client Tool v1.114.4+ - **Issue**: n8n's MCP Client Tool doesn't send required `Accept: application/json, text/event-stream` headers per MCP spec - **Impact**: n8n workflows couldn't connect to DXP MCP HTTP server (HTTP 406 errors) - **Solution**: Patched MCP SDK to add optional `strictHeaders` parameter - Defaults to `true` (spec-compliant) for backward compatibility - When `false`, skips Accept header validation in HTTP POST requests - Enables n8n workflows while maintaining spec compliance for standard clients - **Implementation**: - Created automatic SDK patcher (`scripts/patch-mcp-sdk.js`) - Patches both ESM and CJS versions of `@modelcontextprotocol/sdk` after npm install - DXP MCP HTTP server uses `strictHeaders: false` in transport options - Idempotent patching system (safe to run multiple times) - **Files Changed**: - `src/index.js` - Enable lenient headers for n8n compatibility - `scripts/patch-mcp-sdk.js` - Automatic SDK patcher - `package.json` - Added postinstall script to apply patches - `N8N_INTEGRATION.md` - Updated troubleshooting section - **Testing**: Build successful, HTTP server initializes with patched SDK - **Related**: n8n issue #18938, blocks AI orchestration workflows (AA-2) ## [3.28.0] - 2025-09-25 ### Added - **Enhanced Database Export Workflow (DXP-53)**: Interactive prompts for better user experience - New transparent monitoring mode that shows real-time export progress - Smart detection of concurrent export operations - Improved error handling with graceful fallbacks - Added `latest` parameter to check_export_status for most recent export - Clear guidance between automatic vs transparent monitoring options ### Fixed - **Database Export Monitoring (DXP-53)**: Removed broken queryPaaSExports implementation - Eliminated indefinite hanging when checking export status - Replaced with working listPaaSDBExports API call - Fixed option numbering confusion in user prompts ### Improved - **Export Status Checking**: Better progress indicators and user feedback - Shows download link immediately when export completes - Clearer messaging about concurrent exports - Improved error detection and reporting ## [3.27.0] - 2025-09-21 ### Fixed - **Non-Blocking Telemetry (DXP-41)**: Ensures telemetry never blocks MCP operations - All telemetry tracking methods now use `setImmediate()` for asynchronous execution - Complete error isolation prevents telemetry failures from affecting MCP operations - Performance: 1000 telemetry calls complete in under 2ms - Added comprehensive test suite verifying non-blocking behavior - Meets spec TW-21 requirement that telemetry should never impact tool execution ## [3.26.0] - 2025-09-20 ### Added - **Enhanced Health Monitoring (DXP-40)**: Comprehensive health checks and monitoring patterns - Created new `TelemetryHealth` module with endpoint and system monitoring - Endpoint health checks every 5 minutes with response time tracking - System health monitoring every minute (memory, buffer usage) - Event-driven health alerts with configurable thresholds - Health state persistence across MCP server restarts - 11 comprehensive test cases covering all health monitoring functionality ### Added - **Health Event System**: Event-driven architecture for health monitoring - Health event handlers for endpoint failures, slow responses, high memory/buffer usage - Configurable thresholds for performance warnings - Integration with existing telemetry error tracking - Real-time health status and summary reporting ### Improved - **Telemetry Integration**: Seamless integration of health monitoring with existing telemetry - Health monitoring automatically starts/stops with telemetry initialization - Health events tracked as telemetry errors and performance metrics - Health status accessible via telemetry API methods - Updated telemetry documentation with DXP-40 implementation details ## [3.25.11] - 2025-09-20 ### Fixed - **Telemetry Re-enabled**: Removed temporary disable flags that were blocking all telemetry - Tool invocations are now properly tracked and sent to analytics endpoints - Telemetry follows opt-out model as designed (enabled by default) - Users can still disable via OPTIMIZELY_MCP_TELEMETRY=false environment variable ## [3.25.10] - 2025-09-20 ### Added - **Telemetry Buffering and Retry Logic (DXP-39)**: Implemented robust buffering and retry mechanism for telemetry events - Created new `TelemetryBuffer` module with exponential backoff and jitter - Events now persist to disk in `buffer.json` for recovery across restarts - Maximum 1000 events buffered to prevent unlimited growth - Automatic retry every 30 seconds with exponential backoff (1s base, 60s max) - Added 25% jitter to prevent thundering herd problems - Maximum 3 retry attempts per event before dropping ### Added - **Circuit Breaker Pattern (DXP-39)**: Implemented circuit breaker to prevent cascading failures - Opens after 5 consecutive telemetry failures - Automatically resets after 5 minutes - Events dropped while circuit is open to prevent resource exhaustion - Debug logging for circuit breaker state changes ### Added - **Comprehensive Buffer Tests**: New test suite `tests/test-telemetry-buffer.js` - Tests buffering, persistence, and retry logic - Validates exponential backoff calculations with jitter - Tests circuit breaker functionality - Verifies retry tracking and statistics - 11 comprehensive test cases covering all buffer functionality ### Improved - **Telemetry Documentation**: Updated `TELEMETRY_EVENT_FORMAT.md` with DXP-39 implementation details - Documented retry configuration parameters - Added circuit breaker specifications - Updated error handling section with implementation status ## [3.25.9] - 2025-09-20 ### Added - **Telemetry Event Format Documentation (DXP-38)**: Comprehensive technical specification for telemetry events - Created detailed `TELEMETRY_EVENT_FORMAT.md` with complete event structure documentation - Documented all event types: session_start, tool_invocation, tool_error, session_end - Specified required fields, validation rules, and data types for each event - Added examples with proper JSON structure for all event types - Documented AI client detection methods and geographic location collection - Included session ID generation algorithm and privacy considerations - Referenced recent telemetry improvements (DXP-34, DXP-35, DXP-37) ### Fixed - **Session End Event Compliance (DXP-38)**: Added missing platform field to session_end events - Ensures all events have consistent required field structure - Maintains compliance with documented telemetry specification ### Added - **Telemetry Format Validation Test**: New test file `tests/test-telemetry-format-compliance.js` - Validates actual events against documented specification - Tests all event types for required fields and proper structure - Ensures flat field structure compliance (no nested objects) - Verifies field types and format validation ## [3.25.8] - 2025-09-20 ### Improved - **Project Switching Error Handling (DXP-36)**: Significantly enhanced error handling when switching to non-existent projects - Added fuzzy matching with intelligent suggestions for typos and abbreviations - Implemented comprehensive try-catch blocks for configuration errors - Enhanced error messages with detailed troubleshooting steps - Added graceful handling of corrupted project configurations - Improved "no projects configured" and "no active project" error messages - Better distinction between configuration errors and missing projects - Added context-aware help based on available projects ### Added - **Smart Project Name Suggestions**: Fuzzy matching algorithm suggests similar project names for typos - **Edit Distance Calculation**: Levenshtein distance algorithm for intelligent name matching - **Project Switch Test Suite**: New test file `tests/test-project-switch-errors.js` validates error handling ## [3.25.7] - 2025-09-20 ### Fixed - **Telemetry Data Structure (DXP-37)**: Fixed malformed ai_client and location field structures - Converted all nested ai_client objects to flat fields (ai_client, ai_client_version) - Converted nested location objects to flat fields (location_region, location_timezone, location_country) - Ensures consistent data structure across all event types (session_start, session_end, tool_invocation) - Fixes analytics dashboard 500 errors caused by inconsistent nested vs flat structures - All telemetry events now use standardized flat field format ### Added - **Telemetry Structure Test Suite**: New test file `tests/test-telemetry-structure.js` validates flat field format ## [3.25.6] - 2025-09-20 ### Fixed - **Session ID Stabilization (DXP-35)**: Implemented deterministic session ID generation for accurate user counting - Session IDs now persist across MCP server restarts using machine-specific stable identifiers - Uses hardware UUID on macOS, machine-id on Linux, and registry GUID on Windows - Daily rotation maintains privacy while providing consistent tracking within a day - Significantly reduces inflated user counts caused by frequent MCP restarts - All session data remains fully anonymous through SHA-256 hashing ### Added - **Session Stability Test Suite**: New test file `tests/test-session-stability.js` validates ID persistence ## [3.25.5] - 2025-09-20 ### Fixed - **Critical Telemetry Fix (DXP-34)**: Fixed complete telemetry outage introduced in v3.25.4 - Changed overly strict validation that blocked ALL telemetry when tool name was missing - Now uses 'unknown_tool' as fallback instead of blocking telemetry entirely - Session events (session_start, session_end) no longer require tool_name field - Added comprehensive debug logging for analytics dashboard 500 errors - Ensures all events have required fields: type, timestamp, session_id, platform - Created comprehensive telemetry test suite for validation ### Added - **Enhanced Telemetry Debugging**: Better error logging with response bodies for failed analytics calls - **Event Validation**: Automatic addition of missing required fields with sensible defaults - **Test Coverage**: New telemetry test suite (tests/test-telemetry.js) ## [3.14.3] - 2025-08-30 ### Removed - **Tool Architecture Consolidation**: Major cleanup of redundant and thin-wrapper tools - Removed AI-friendly tools (5 thin wrapper functions that reduced transparency) - Removed legacy backup aliases (`backup`, `backup_status`, `list_backups`) - use `export_database`, `check_export_status`, `list_exports` instead - Consolidated 6 permission checker tools into unified `PermissionChecker` class - Merged `database-tools.js` into `database-simple-tools.js` for cleaner architecture ### Improved - **Unified Permission Detection**: Single, comprehensive permission checker with direct PowerShell execution - **Streamlined Database Operations**: Consolidated database functionality with internal method implementations - **Cleaner Architecture**: Reduced tool file count by 50%, eliminated redundant dependencies - **Better Transparency**: Removed "thin wrapper" pattern in favor of direct, clear tool functionality ### Fixed - **Settings Isolation**: Fixed critical bug where global settings contaminated project-based MCP usage - **Project Context Detection**: Improved detection of MCP project context vs global CLI usage ## [3.8.0] - 2025-08-19 ### Added - **Rock-Solid Simple Commands**: Production-ready enhancements to deploy, status, rollback, and quick commands - Smart retry logic with exponential backoff for all operations - Connection validation before operations with helpful error messages - Dry-run mode for safe testing (`--dry-run` flag) - Real-time deployment progress estimation with ETA - Stuck deployment detection (warns when deployments run >20 minutes) - Enhanced error classification (retryable vs non-retryable) - **Natural Language Database Operations**: Simple commands for database backups - `backup` - Create database backup (defaults to production for safety) - `backup_status` - Check backup status (automatically finds latest) - `list_backups` - Show recent backup history - **Auto-Download Option**: `--auto-download` flag monitors and downloads backup when complete - Progress tracking for downloads with real-time percentage - Smart environment parsing (prod→Production, staging→Preproduction) - **Comprehensive Integration Tests**: Full test coverage for simple commands - **Better Project Resolution**: Graceful handling of single project, multiple projects, and no default scenarios ### Improved - **Status Command Intelligence**: Shows deployment progress percentage and estimated completion time - **Error Recovery**: All simple commands now retry automatically on transient failures - **JSON Parsing Safety**: Robust handling of malformed or missing deployment data - **Environment Validation**: Prevents invalid deployments with clear error messages - **Project Configuration**: Smart fallbacks when no default project is set ### Fixed - Fixed potential crashes when project configuration is missing - Fixed JSON parsing errors in status commands - Prevented same-environment deployments which would fail - Fixed undefined behavior when no projects are configured ## [3.7.0] - 2025-08-19 ### Added - **Dead Simple Commands**: 4 new natural language commands for 80% of daily operations - `deploy` - Universal deployment with smart defaults - `status` - Intelligent status overview with actionable suggestions - `rollback` - Emergency one-click safety - `quick` - Ultra-fast status check - **Smart Environment Detection**: Handles all common aliases (prod→Production, staging→Preproduction) - **Deployment Type Intelligence**: Automatically determines code vs content based on direction - **SIMPLE_COMMANDS.md**: Comprehensive documentation for the new simple commands ## [3.6.0] - 2025-08-18 ### Added - **Smart Executor Module**: Intelligent command execution with automatic retry, caching, and error handling - **Deployment Monitoring Dashboard**: Comprehensive real-time deployment monitoring with analytics - Environment status overview - Active deployment tracking with progress estimation - Success rate analytics and deployment patterns - Actionable recommendations based on deployment history - **Enhanced Error Messages**: Clear, actionable error messages with copy-paste ready fixes - **Improved PowerShell Detection**: Better cross-platform detection with helpful installation instructions - **Batch Operations Support**: Execute multiple commands efficiently with concurrency control - **Real-time Progress Tracking**: Monitor long-running operations with progress updates ### Improved - PowerShell error handling now provides platform-specific installation instructions - Rate limiting errors include wait time and helpful guidance - Authentication failures provide specific troubleshooting steps - Cache system now supports intelligent invalidation for write operations - Retry logic includes exponential backoff with jitter ### Fixed - PowerShell detection on Windows now properly finds PowerShell 5.1+ - Error messages now properly escape and format for better readability - Rate limit handling respects retry-after headers from API ## [3.5.0] - 2025-08-19 ### Added - **Setup Wizard Tool**: Interactive configuration guide for first-time users - Validates PowerShell installation - Checks EpiCloud module availability - Tests API credentials - Provides configuration templates and actionable recommendations ## [3.4.0] - 2025-08-19 ### Added - **Connection Testing Tools**: Better onboarding experience - `test_connection`: Comprehensive setup validation - `health_check`: Quick status check with minimal output - **Quick Start Guide**: Streamlined onboarding in CLAUDE.md ## [3.3.0] - 2025-08-18 ### Fixed - Cross-platform PowerShell detection improvements - Automatic detection of PowerShell 5.1+ on Windows - Better error messages when PowerShell is not found ## [3.2.0] - 2025-08-18 ### Removed - `get_analytics` tool (not useful for end users) ### Added - Live telemetry endpoints at accelerator.jaxondigital.com - Telemetry analysis scripts for monitoring usage ### Improved - Telemetry system fully operational with aggregated analytics ## [3.1.1] - 2025-08-18 ### Fixed - `get_version` tool: Fixed missing imports and method names - Version checking now properly displays current and latest versions ## [3.1.0] - 2025-08-18 ### Added - `get_version` tool for checking MCP version and updates - Automatic update notifications when new versions are available ## [3.0.0] - 2025-08-17 (BREAKING CHANGE) ### Breaking Changes - **Complete configuration freedom**: Any environment variable name now works - Removed requirement for `OPTIMIZELY_API_KEY_` or `OPTIMIZELY_PROJECT_` prefixes - Configuration format remains the same: `id=<uuid>;key=<key>;secret=<secret>` ### Migration Guide If you have existing configuration: - Old: `OPTIMIZELY_API_KEY_PROJECT1`, `OPTIMIZELY_PROJECT_CLIENT2` - New: Can use any name: `ACME`, `CONTOSO`, `PRODUCTION`, `MY_CLIENT`, etc. ## [2.0.0] - 2025-08-17 ### Changed - Major configuration overhaul for better multi-project support - Simplified credential management - Improved project name resolution across all tools ## [1.9.0] - 2025-08-16 ### Added - **Enterprise Features Suite**: - Anonymous telemetry and analytics (opt-in) - Intelligent rate limiting with per-project quotas - Smart caching system with operation-specific TTL - Real-time progress tracking for large operations ### Improved - Performance optimizations for repeated operations - Better handling of API rate limits - Enhanced error recovery mechanisms ## [1.8.0] - 2025-08-15 ### Added - `get_rate_limit_status` tool for monitoring API usage - `get_cache_status` tool for cache management - Progress bars for file uploads over 10MB ### Improved - Rate limiting now tracks per-project quotas - Cache invalidation for related operations - Better handling of 429 responses ## [1.7.0] - 2025-08-14 ### Added - Dynamic project registration and management - Inline credential provision for all tools - Project persistence across sessions ### Improved - Multi-project workflow support - Credential validation and error messages - Project name resolution logic ## [1.6.0] - 2025-08-13 ### Added - Large file handling utilities - Package analysis and splitting tools - SAS URL generation for direct uploads ### Improved - Upload strategy for packages over 100MB - Better progress tracking for large operations ## [1.5.0] - 2025-08-12 ### Added - Content synchronization tools - Storage container management - Edge/CDN log access (beta feature) ### Improved - Deployment status visualization - Error message formatting - Response consistency across tools ## [1.4.0] - 2025-08-11 ### Added - Package upload and deployment tools - Database export status checking - Deployment completion with verification URLs ### Improved - Smart deployment defaults (code up, content down) - Better handling of deployment states - Enhanced error detection ## [1.3.0] - 2025-08-10 ### Added - Multi-project configuration support - Project switching capabilities - Default project selection ### Improved - Credential management for agencies - Project name resolution - Configuration flexibility ## [1.2.0] - 2025-08-09 ### Added - Database export tools - Deployment reset capabilities - Storage SAS link generation ### Improved - PowerShell command building - Error handling and suggestions - Response formatting consistency ## [1.1.0] - 2025-08-08 ### Added - Basic deployment listing - Deployment status checking - Environment name normalization ### Improved - PowerShell execution wrapper - JSON parsing from mixed output - Security helper for credential masking ## [1.0.0] - 2025-08-07 ### Initial Release - Core MCP server implementation - PowerShell + EpiCloud integration - Basic deployment operations - Multi-project support foundation - Claude Desktop and CLI compatibility --- For more details on each release, see the [GitHub Releases](https://github.com/JaxonDigital/optimizely-dxp-mcp/releases) page.

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/JaxonDigital/optimizely-dxp-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server