Commvault Release Comparison
FreeNot checkedMCP server for comparing Commvault release versions, retrieving categorized changes, and generating release summaries to support upgrade planning.
About
MCP server for comparing Commvault release versions, retrieving categorized changes, and generating release summaries to support upgrade planning.
README
A Model Context Protocol (MCP) server that enables AI assistants to compare Commvault release versions and analyze product changes across functional areas.
Problem Statement
Commvault customers and administrators face a significant challenge when planning product upgrades:
- Fragmented Information: Release details are scattered across multiple documentation pages and release notes
- Information Overload: Large volumes of release notes make it difficult to identify changes relevant to specific needs
- Category Blindness: Users struggle to understand how changes impact particular functional areas such as Virtualization, Security, Storage, Databases, and APIs
- Time-Consuming Analysis: Manual review of multiple versions is labor-intensive and error-prone
This fragmentation increases the time and effort required to make informed decisions about upgrade timing and planning.
Solution Overview
The Commvault Release Comparison MCP Server bridges this gap by providing intelligent tools for exploring and comparing release information. It enables:
- Quick Comparisons: Compare two release versions side-by-side with categorized change summaries
- Targeted Queries: Retrieve changes specific to functional areas of interest
- Version Analysis: View all changes for a specific release, optionally filtered by category
- Human-Readable Summaries: Generate formatted release summaries in multiple output formats
- AI-Powered Integration: Leverage Claude and other AI assistants to answer questions about Commvault releases
By exposing release data through MCP tools, customers can integrate release comparison capabilities directly into their AI workflows, enabling faster, more informed decision-making.
Architecture
Component Overview
┌─────────────────────────────────────────────────────┐
│ Claude/AI Assistant │
└────────────────┬────────────────────────────────────┘
│ MCP Protocol (stdio)
┌────────────────▼──────────────────────────────────┐
│ Commvault Release Comparison MCP Server │
├───────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────┐ ┌──────────────────┐ │
│ │ Tool Router │ │ Tool Handlers │ │
│ │ │ │ │ │
│ │ - compare_releases │─▶│ - Compare Logic │ │
│ │ - get_release_... │ │ - Query Logic │ │
│ │ - get_category_... │ │ - Format Logic │ │
│ │ - generate_summary │ │ │ │
│ └─────────────────────┘ └──────────────────┘ │
│ │ │ │
│ ┌────────▼────────────────────────▼──────────┐ │
│ │ Release Manager (Singleton) │ │
│ │ - Coordinates data loading │ │
│ │ - Manages caching with TTL │ │
│ │ - Handles multiple data sources │ │
│ └────────┬─────────────────────────────────┬┘ │
│ │ │ │
│ ┌────────▼────────┐ ┌─────────────────┐ │ │
│ │ Release Data │ │ Cache Manager │ │ │
│ │ Loader │ │ │ │ │
│ │ │ │ - In-memory │ │ │
│ │ - Multi-source │ │ - TTL-based │ │ │
│ │ fallback │ │ - Expiration │ │ │
│ │ - Dedup │ │ │ │ │
│ │ concurrent │ └─────────────────┘ │ │
│ │ requests │ │ │
│ └──────┬──────────┘ │ │
│ │ │ │
│ ┌──────┴──────────────────────────────────┴──┐ │
│ │ Data Sources (pluggable) │ │
│ │ │ │
│ │ 1. Commvault Documentation Source │ │
│ │ - Fetches from commvault.com │ │
│ │ - Supports versions 11.44, 11.46+ │ │
│ │ │ │
│ │ 2. Mock Data Source (Fallback) │ │
│ │ - Provides test data │ │
│ │ - v11.44, v11.46 included │ │
│ │ │ │
│ │ 3. Custom Sources (extensible) │ │
│ │ - Database, API, File sources │ │
│ │ - Implement DataSource interface │ │
│ └───────────────────────────────────────────┘ │
│ │
└───────────────────────────────────────────────────┘
Data Loading Architecture
The system uses a dynamic, multi-source data loading approach:
- Initialization: On startup,
ReleaseManagerloads specified versions - Data Sources: Tries sources in order (Commvault docs → Mock data)
- Automatic Fallback: If web source fails, automatically uses mock data
- Intelligent Caching: Results cached with TTL to avoid repeated fetches
- On-Demand Loading: Versions loaded on first access if not preloaded
See docs/data-loading.md for complete architecture details.
Technology Stack
- Runtime: Node.js 18+
- Language: TypeScript 5.0+
- Protocol: Model Context Protocol (MCP) v1.0.0
- Build Tool: TypeScript Compiler (tsc)
Project Structure
commvault-release-comparison-mcp/
├── src/
│ ├── index.ts # Main MCP server implementation
│ ├── data/
│ │ ├── releases.ts # Type definitions and exports
│ │ └── releaseManager.ts # Release data coordinator
│ └── services/
│ ├── types.ts # Shared data source interfaces
│ ├── cacheManager.ts # TTL-based cache implementation
│ ├── releaseDataLoader.ts # Multi-source loader orchestrator
│ ├── commvaultDocSource.ts # Fetches from Commvault docs
│ └── mockDataSource.ts # Fallback test data
├── build/ # Compiled JavaScript output
├── docs/
│ ├── project-plan.md # Original project planning
│ ├── data-loading.md # Data loading architecture (NEW)
│ ├── data-sources-config.md # Configuration guide (NEW)
│ └── DATA-LOADING-SUMMARY.md # Implementation summary (NEW)
├── examples/
│ └── test-data-loading.mjs # Data loading test suite (NEW)
├── package.json # Dependencies and metadata
├── tsconfig.json # TypeScript configuration
├── README.md # This file
└── LICENSE # MIT License
Services Overview
Data Loading Services
- ReleaseManager - Singleton coordinator for all data operations
- ReleaseDataLoader - Manages multiple data sources with fallback
- CacheManager - In-memory cache with TTL expiration
Data Sources
- CommvaultDocSource - Fetches from official Commvault documentation
- MockDataSource - Provides test data for v11.44 and v11.46
- Custom Sources - Extensible architecture for custom implementations
MCP Tools
1. compare_releases
Compare two Commvault release versions and view categorized differences.
Parameters:
version1(string, required): First version to compare- Available versions: Check server output for current list
version2(string, required): Second version to compare- Available versions: Check server output for current list
Returns:
version1/version2: Version strings comparedrelease_date_v1/release_date_v2: Release dates for each versioncategory_comparison: Object with category-wise metricsversion1_count: Change count in first versionversion2_count: Change count in second versionnew_in_v2: List of features new in second version
Use Cases:
- Planning upgrade paths
- Understanding feature additions between versions
- Assessing compatibility impacts
2. get_release_changes
Retrieve all changes for a specific Commvault release, optionally filtered by category.
Parameters:
version(string, required): Release version to querycategory(string, optional): Filter by functional category- Available categories: Virtualization, Security, Database, Storage, APIs, User Experience
Returns:
version: Release version queriedrelease_date: When the release was publishedcategory(if filtered): The specific category requestedchanges: Array of change objects with title and descriptiontotal: Count of changes returned
Use Cases:
- Identifying all changes in a specific release
- Finding changes related to a specific product area
- Generating release notes for internal teams
3. get_category_changes
Retrieve changes for a functional category across multiple releases.
Parameters:
category(string, required): Functional category to retrieve- Available categories: Virtualization, Security, Database, Storage, APIs, User Experience
start_version(string, optional): Filter from this version onwardend_version(string, optional): Filter through this version
Returns:
category: The category queriedtotal_changes: Total count across all matching releaseschanges_by_version: Object mapping versions to their changes in this categoryversions_filtered: Boolean indicating if version range was applied
Use Cases:
- Tracking evolution of a feature area over time
- Understanding security enhancements across versions
- Planning API migration strategies
4. generate_summary
Generate a human-readable summary for a release in multiple formats.
Parameters:
version(string, required): Release version to summarizeformat(string, optional, default: "markdown"): Output format- Valid values: "markdown", "html", "plaintext"
include_metrics(boolean, optional, default: true): Include change statistics
Returns:
version: Release versionrelease_date: Publication dateformat: Requested formatcontent: Formatted summary textmetrics(if included):- Per-category change counts
- Total change count
Use Cases:
- Creating release announcement content
- Generating documentation
- Providing summaries in chat interfaces
Installation
Prerequisites
- Node.js 18.0.0 or higher
- npm or yarn package manager
- 50 MB disk space for dependencies and build artifacts
Steps
Clone the repository
git clone https://github.com/yourusername/commvault-release-comparison-mcp.git cd commvault-release-comparison-mcpInstall dependencies
npm installBuild the project
npm run buildThis compiles TypeScript to JavaScript in the
build/directory.Verify the build
ls -la build/You should see
index.jsand subdirectories fordata/andservices/.
Development Setup
For active development with auto-recompilation:
npm run watch
This starts the TypeScript compiler in watch mode. Changes to source files will automatically trigger recompilation.
Testing Data Loading
Verify the data loading service works correctly:
npm run build
node examples/test-data-loading.mjs
This runs a comprehensive test suite covering:
- Release loading and caching
- Version comparison
- Data source fallback
- Diagnostic information
Local Registration with Claude
Option 1: Via Claude Code Settings (Recommended)
Open Claude Code (CLI or IDE extension)
Create or update
.claude/settings.json:{ "mcpServers": { "commvault-release-comparison": { "type": "stdio", "command": "node", "args": ["/path/to/commvault-release-comparison-mcp/build/index.js"], "disabled": false } } }Replace
/path/to/with the actual absolute path to your installation.Restart Claude Code to load the server.
Option 2: Via Claude Web Interface
If using Claude at claude.ai:
- Navigate to your account settings
- Find the "MCP Servers" or "Extensions" section
- Add a new server with:
- Name:
commvault-release-comparison - Type:
stdio - Command:
node - Arguments:
["/path/to/build/index.js"]
- Name:
- Save and refresh
Option 3: Using the CLI
If you have the Claude CLI installed:
claude mcp add commvault-release-comparison \
--type stdio \
--command node \
--args '"/path/to/commvault-release-comparison-mcp/build/index.js"'
Verification
Test that the server is registered:
# Start the server directly to verify it launches
node build/index.js &
# In another terminal, you can check if it's running
# The server should print: "Commvault Release Comparison MCP Server started"
If using Claude Code, simply try calling a tool in your chat and Claude should offer auto-complete for available tools.
Example Tool Calls
Example 1: Compare Two Releases
User Query:
"What changed between version 14.0 and 15.0?"
Tool Call:
{
"name": "compare_releases",
"arguments": {
"version1": "14.0",
"version2": "15.0"
}
}
Sample Response:
{
"version1": "14.0",
"version2": "15.0",
"release_date_v1": "2024-01-15",
"release_date_v2": "2024-06-20",
"category_comparison": {
"Virtualization": {
"version1_count": 5,
"version2_count": 8,
"new_in_v2": [
"Enhanced Kubernetes support",
"Improved VM cloning"
]
},
"Security": {
"version1_count": 3,
"version2_count": 5,
"new_in_v2": [
"Multi-factor authentication enhancements"
]
}
}
}
Example 2: Get Release Changes by Category
User Query:
"What security improvements are in version 15.0?"
Tool Call:
{
"name": "get_release_changes",
"arguments": {
"version": "15.0",
"category": "Security"
}
}
Sample Response:
{
"version": "15.0",
"release_date": "2024-06-20",
"category": "Security",
"changes": [
{
"id": "sec-001",
"title": "Multi-factor authentication enhancements",
"description": "Support for FIDO2 keys and improved SMS delivery"
},
{
"id": "sec-002",
"title": "Enhanced encryption algorithms",
"description": "Support for AES-256-GCM across all data flows"
},
{
"id": "sec-003",
"title": "API token rotation",
"description": "Automatic and manual token rotation policies"
},
{
"id": "sec-004",
"title": "Audit logging improvements",
"description": "Detailed logging of all administrative actions"
},
{
"id": "sec-005",
"title": "RBAC enhancements",
"description": "Fine-grained role-based access controls"
}
],
"total": 5
}
Example 3: View Category Evolution
User Query:
"Show me how virtualization features have evolved across the last few releases."
Tool Call:
{
"name": "get_category_changes",
"arguments": {
"category": "Virtualization"
}
}
Sample Response:
{
"category": "Virtualization",
"total_changes": 18,
"changes_by_version": {
"13.0": [
{
"id": "virt-001",
"title": "VMware 7.0 support",
"description": "Full support for VMware vSphere 7.0"
},
{
"id": "virt-002",
"title": "Hyper-V Live Migration",
"description": "Improved live migration handling"
}
],
"14.0": [
{
"id": "virt-003",
"title": "Kubernetes integration",
"description": "Native Kubernetes cluster backup and recovery"
}
],
"15.0": [
{
"id": "virt-004",
"title": "OpenStack support",
"description": "OpenStack cloud platform integration"
}
]
},
"versions_filtered": false
}
Example 4: Generate Formatted Summary
User Query:
"Generate a markdown summary of version 15.0 with statistics."
Tool Call:
{
"name": "generate_summary",
"arguments": {
"version": "15.0",
"format": "markdown",
"include_metrics": true
}
}
Sample Response:
{
"version": "15.0",
"release_date": "2024-06-20",
"format": "markdown",
"content": "# Commvault 15.0 Release\n\n**Release Date**: 2024-06-20\n\n## Summary\nRelease 15.0 includes 24 major enhancements across virtualization, security, database, and storage categories.\n\n## Changes by Category\n\n### Virtualization\n- **Enhanced Kubernetes support**: Expanded container orchestration capabilities\n- **Improved VM cloning**: Faster and more reliable VM replication\n\n### Security\n- **Multi-factor authentication enhancements**: Support for FIDO2 keys\n- **Enhanced encryption algorithms**: AES-256-GCM support\n\n### Database\n- **Oracle 21c support**: Latest Oracle database compatibility\n- **MongoDB backup enhancements**: Improved backup consistency\n\n### Storage\n- **Object storage integration**: S3-compatible storage support\n- **Deduplication improvements**: 30% better compression ratios\n\n## Statistics\n- Virtualization: 8 enhancements\n- Security: 5 enhancements\n- Database: 6 enhancements\n- Storage: 5 enhancements\n- **Total**: 24 enhancements",
"metrics": {
"virtualization": 8,
"security": 5,
"database": 6,
"storage": 5,
"total": 24
}
}
Future Enhancements
Phase 2: Expanded Data Loading (IN PROGRESS)
- ✅ Dynamic Release Data: Now loads from Commvault documentation with fallback
- ✅ Multi-Source Support: Pluggable architecture for custom data sources
- ✅ Intelligent Caching: TTL-based cache with automatic expiration
- ✅ Automatic Fallback: Falls back to mock data if web sources fail
- 🔄 Database Backend: Persist loaded data to PostgreSQL/MongoDB
- 🔄 Version Discovery: Auto-detect available versions from sources
- 🔄 Custom Parsers: Support for different documentation formats
Phase 3: Data and Features
- Search Functionality: Full-text search across all release notes
- Deprecation Tracking: Identify deprecated features and migration paths
- Performance Impact Analysis: Compare performance changes between versions
- Breaking Changes Detection: Highlight incompatible changes between versions
Phase 3: Advanced Analytics
- Trend Analysis: Identify areas of focus in recent releases (security, performance, etc.)
- Feature Roadmap Insights: Predict upcoming features based on development patterns
- Impact Assessment: Estimate organizational impact of specific changes
- Compatibility Checker: Verify if current environment supports target release
Phase 4: Integration and Distribution
- MCPB Distribution: Bundle as .mcpb file for easy installation
- Claude Code Marketplace: List on official MCP server registry
- Slack Integration: Expose as Slack bot for team collaboration
- Documentation Website: Dedicated site for accessing release information
- API Endpoint: RESTful API for programmatic access
- Webhook Support: Real-time notifications for new releases
Phase 5: Enterprise Features
- Multi-tenant Support: Organization-specific release configurations
- Custom Categories: Allow users to organize changes by their priorities
- Comparison History: Track and save comparison results
- Export Capabilities: Generate PDF/Excel reports
- Authentication: Secure access for sensitive release information
- Audit Logging: Track who accessed which release information
Phase 6: Machine Learning
- Smart Summaries: AI-powered summaries tailored to user's specific use cases
- Impact Prediction: ML-based risk assessment for upgrades
- Change Classification: Automatic categorization of complex changes
- Intelligent Recommendations: Suggest releases based on feature needs
Contributing
Contributions are welcome! To contribute:
- Fork the repository
- Create a feature branch (
git checkout -b feature/your-feature) - Commit your changes (
git commit -am 'Add new feature') - Push to the branch (
git push origin feature/your-feature) - Open a Pull Request
Please ensure:
- TypeScript code is properly typed
- Changes compile without errors (
npm run build) - Code follows existing style conventions
- Commit messages are clear and descriptive
License
This project is licensed under the MIT License - see the LICENSE file for details.
Support
For issues, questions, or suggestions:
- GitHub Issues: Open an issue on GitHub
- Documentation: Check the
docs/directory for additional information - Project Plan: See
docs/project-plan.mdfor architectural decisions
Related Resources
- Model Context Protocol Documentation
- Commvault Product Documentation
- Claude AI Documentation
- Node.js MCP SDK
Version: 1.0.0
Last Updated: 2026-08-06
Maintainer: Chandrakanth Sawant
Installing Commvault Release Comparison
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/csawantgit/commvault-release-comparison-mcpFAQ
Is Commvault Release Comparison MCP free?
Yes, Commvault Release Comparison MCP is free — one-click install via Unyly at no cost.
Does Commvault Release Comparison need an API key?
No, Commvault Release Comparison runs without API keys or environment variables.
Is Commvault Release Comparison hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Commvault Release Comparison in Claude Desktop, Claude Code or Cursor?
Open Commvault Release Comparison on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
GitHub
PRs, issues, code search, CI status
by GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
by mcpdotdirectCompare Commvault Release Comparison with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All development MCPs
