Skip to main content
Glama
Moodswing9

ppdm-mcp-server

by Moodswing9

🧩 ppdm-mcp-server

Dell PowerProtect Data Manager, NetWorker and Data Domain as Claude Code tools β€” 32 tools in one MCP server

npm License CI Node


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-server

The 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

PPDM_HOST, PPDM_USER, PPDM_PASS, PPDM_PORT

8443

NetWorker

NW_HOST, NW_USER, NW_PASS, NW_PORT

9090

Data Domain

DD_HOST, DD_USER, DD_PASS, DD_PORT

3009


Tools

PPDM β€” monitoring

Tool

What it does

get_system_health

Health status from a sample of the 10 most recent failed and running jobs

list_failed_jobs

Failed backup jobs with asset, error and start time; filter by asset type

list_running_jobs

Currently running backup jobs

list_assets

Protected assets; filter by name or type

list_policies

Protection policies

get_activity

Full detail for one activity

get_sla_compliance

Every asset not backed up within a given number of hours

PPDM β€” backup and restore

Tool

What it does

trigger_backup

On-demand backup of an asset with a named policy

bulk_trigger_backup

On-demand backup of every asset matching a filter under a policy

cancel_activity

Cancel a running activity

bulk_cancel_jobs

Cancel all running jobs, optionally by asset type

poll_until_complete

Wait for an activity to succeed, fail or be canceled, and return the result

restore_latest

Restore an asset to its original location from its most recent copy

PPDM β€” restore sessions

Tool

What it does

list_restore_sessions

Recent restore sessions; filter by state

get_restore_status

Progress, bytes restored, state and timing of one session

cancel_restore

Cancel a running restore session

PPDM β€” schedules and policies

Tool

What it does

list_schedules

Every policy schedule: frequency, start time, duration, enabled state

update_schedule

Change a policy stage's frequency, start time or duration

pause_policy

Disable a policy so its jobs stop running

resume_policy

Re-enable a paused policy

NetWorker

Tool

What it does

nw_list_savesets

Savesets (backup copies); filter by client

nw_list_failed_savesets

Savesets that didn't complete successfully

nw_list_clients

Registered clients

nw_get_client

Full detail for one client

nw_list_policies

Protection groups

nw_trigger_save

On-demand backup of a client

Data Domain

Tool

What it does

dd_system_info

Model, version, serial number and uptime

dd_filesystem_stats

Total, used and available capacity, and percentage used

dd_ddboost_status

Whether DDBoost is enabled, and its authorized users

dd_list_storage_units

DDBoost storage units with user, quota and status

dd_create_storage_unit

Create a DDBoost storage unit

dd_list_users

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_save and dd_create_storage_unit all 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_stats

Security 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.


  • 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

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables 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.
    2
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Provides 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.
    14
    17 npm
    2
    -
  • F
    license
    A
    quality
    D
    maintenance
    Enables 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
    -