ppdm-mcp-server
Provides tools for monitoring and managing Dell EMC PowerProtect Data Manager (PPDM) and NetWorker backup infrastructure, including system health checks, job monitoring, asset and policy management, backup triggering, activity cancellation, and SLA compliance reporting.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ppdm-mcp-serverhow many backup jobs failed today?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
π§© ppdm-mcp-server
Dell PowerProtect Data Manager, NetWorker and Data Domain as Claude Code tools β 32 tools in one MCP server
Overview
ppdm-mcp-server lets any Claude Code session query, monitor and control your backup infrastructure in plain English:
PPDM (20 tools) β job monitoring, on-demand and bulk backups, single-call restores, restore session tracking, schedule and policy management, SLA compliance and system health.
NetWorker (6 tools) β savesets, clients, protection groups and on-demand saves.
Data Domain (6 tools) β system info, filesystem capacity, DDBoost status, storage units and users.
Each system is optional. Configure only the ones you use; a tool for an unconfigured system returns an error explaining which settings are missing.
Related MCP server: mcp-cohesity
Requirements
Node.js 18+
Claude Code
Network access to the PPDM, NetWorker and/or Data Domain REST APIs, with an account that can read (and, for write tools, change) the relevant objects
Install
Register the server with Claude Code, passing the settings for the systems you use:
claude mcp add ppdm-mcp-server \
-e PPDM_HOST=ppdm.example.com -e PPDM_USER=admin -e PPDM_PASS=... \
-- npx -y ppdm-mcp-serverThe first npx start downloads the package and can take up to a minute. For instant starts, install it once with npm install -g ppdm-mcp-server and register -- ppdm-mcp-server instead.
Configuration
Set environment variables with -e as above, or put them in a .env file in the directory the server starts from. .env.example lists them all.
System | Variables | Default port |
PPDM |
|
|
NetWorker |
|
|
Data Domain |
|
|
Tools
PPDM β monitoring
Tool | What it does |
| Health status from a sample of the 10 most recent failed and running jobs |
| Failed backup jobs with asset, error and start time; filter by asset type |
| Currently running backup jobs |
| Protected assets; filter by name or type |
| Protection policies |
| Full detail for one activity |
| Every asset not backed up within a given number of hours |
PPDM β backup and restore
Tool | What it does |
| On-demand backup of an asset with a named policy |
| On-demand backup of every asset matching a filter under a policy |
| Cancel a running activity |
| Cancel all running jobs, optionally by asset type |
| Wait for an activity to succeed, fail or be canceled, and return the result |
| Restore an asset to its original location from its most recent copy |
PPDM β restore sessions
Tool | What it does |
| Recent restore sessions; filter by state |
| Progress, bytes restored, state and timing of one session |
| Cancel a running restore session |
PPDM β schedules and policies
Tool | What it does |
| Every policy schedule: frequency, start time, duration, enabled state |
| Change a policy stage's frequency, start time or duration |
| Disable a policy so its jobs stop running |
| Re-enable a paused policy |
NetWorker
Tool | What it does |
| Savesets (backup copies); filter by client |
| Savesets that didn't complete successfully |
| Registered clients |
| Full detail for one client |
| Protection groups |
| On-demand backup of a client |
Data Domain
Tool | What it does |
| Model, version, serial number and uptime |
| Total, used and available capacity, and percentage used |
| Whether DDBoost is enabled, and its authorized users |
| DDBoost storage units with user, quota and status |
| Create a DDBoost storage unit |
| Local Data Domain users |
Names must be unambiguous. Tools that take a policy or asset name use an exact match (ignoring case) when there is one, or a partial name that matches exactly one object. If a partial name matches several, the tool refuses and lists them, so it never acts on the wrong object. Replies always name the object that was used.
Write tools change your environment.
trigger_backup,bulk_trigger_backup,cancel_activity,bulk_cancel_jobs,restore_latest,cancel_restore,update_schedule,pause_policy,resume_policy,nw_trigger_saveanddd_create_storage_unitall take action. Claude Code asks before running a tool unless you've allowed it, so review those prompts.
Examples
How many backup jobs failed in the last 24 hours, and why?
β get_system_health + list_failed_jobs
Back up every Kubernetes asset under the "Daily-K8s" policy and tell me when they finish.
β bulk_trigger_backup + poll_until_complete
Restore prod-sql-01 from its latest copy and watch the restore.
β restore_latest + get_restore_status
Is the Data Domain running low on space?
β dd_filesystem_statsSecurity notes
TLS verification is disabled for all three systems, because they commonly use self-signed certificates. Run the server on a trusted internal network.
Credentials are read from environment variables and never logged.
Development
git clone https://github.com/Moodswing9/ppdm-mcp-server.git
cd ppdm-mcp-server
npm ci
npm run build # compile to dist/
npm run dev # run from source
npm test # build, then run the tests (no network access needed)See CONTRIBUTING.md and CHANGELOG.md.
Related projects
ppdm-alert-bot β PPDM and NetWorker alerts to Slack, Teams, PagerDuty and email
networker-ppdm β Claude Code plugin with slash commands for DR orchestration and anomaly detection
ppdm-watch β real-time terminal monitoring dashboard
ppdm-es-troubleshooter β Elasticsearch diagnostic tool
Portfolio: moodswing9.github.io
This server cannot be deployed
Maintenance
Related MCP Connectors
Provides capabilities that let LLM agents perform a range of infrastructure management tasks.
Gateway between LLM agents and world data through eight tools and a bundled endpoint catalog.
Provide detailed PokΓ©mon data and information through a standardized MCP interface. Enable LLMs anβ¦
Carbon Voice MCP serves as a bridge that connects AI assistants like ChatGPT, Claude, and Cursor to a user's Carbon Voice account, turning voice messages and conversations into a private, on-demand knowledge base. It provides 28 specialized tools for comprehensive voice messaging management, including creating and sending messages, accessing conversation history with instant transcription, running AI actions (summarization, TLDR generation, meeting notes), and managing workspace collaboration through folders, contacts, and team communications.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to interact with Dell PowerScale (Isilon) OneFS clusters through over 2,400 tools generated from the REST API specification. It supports managing storage protocols, snapshots, networking, and cluster configurations using natural language.2MIT
- AlicenseAqualityCmaintenanceProvides AI assistants with access to Cohesity DataProtect for managing backups, recovery operations, and data protection monitoring via the Cohesity REST API. It enables users to trigger on-demand backups, monitor cluster health, and manage protection policies through natural language commands.1417 npm2-
- FlicenseAqualityDmaintenanceEnables Claude to read and control Veeam Backup & Replication infrastructure through natural language, supporting full operator capabilities like starting/stopping jobs, creating backups, and monitoring threat detection via the VBR REST API.34-
- FlicenseNot gradedqualityBmaintenanceExposes VMware vROps resources, metrics, and alerts as MCP tools, allowing an LLM client to directly query monitored infrastructure.-