BackupsFree + Pro
UpdraftPlus MCP: check the last backup, queue the next one
Before an AI client updates a plugin or rewrites a batch of posts, someone should be able to say whether the site has a good backup from today. The UpdraftPlus MCP abilities answer that from UpdraftPlus's own records, in GoBuildWP Free as well as Pro. When the answer is no, GoBuildWP Pro can queue a new backup through UpdraftPlus's scheduler and hold risky calls until it lands. They read and start backups only; restores stay in UpdraftPlus.
Update WooCommerce, but only once we have a good backup from today.
wppilot/backup-statusReadShows the last UpdraftPlus job succeeded two days ago, so there is nothing from today.
wppilot/backup-triggerWriteQueues a full backup and returns state queued with the time it was queued.
wppilot/backup-statusReadPolled until nothing is running and the last job is newer than the queue time, with result success.
wppilot/update-pluginConfirm firstRuns once the owner confirms; on a site that requires a fresh backup, the new UpdraftPlus set is what that check finds.
- Edition
- Free 2 + Pro 1
- Abilities
- 3
- Requires
- WordPress 6.9+, PHP 8.0+
Abilities
The three backup abilities against UpdraftPlus
| Ability | What it does here | Undo and limits |
|---|---|---|
backup-statusFree | Returns the last job with UpdraftPlus's verdict, the last successful set, any job in progress, the next files and database runs with their intervals, the configured storage names and how many sets UpdraftPlus keeps. | Read-only. A set whose archives are gone is reported as deleted, not as a good backup. |
backup-listFree | Walks the history newest first (20 by default, up to 100), with contents, size per set, storage and any error or warning counts. | Read-only. Every set older than the latest job reads result unknown, because UpdraftPlus kept no verdict for it. |
backup-triggerPro | Queues UpdraftPlus's own Backup Now action as a single WP-Cron event, with scope full, database or files, sent to the storage already configured and labelled with the host plugin. | Refused while an UpdraftPlus job is running or queued and within the cooldown after the last one GoBuildWP started. Logged as irreversible; the archive is managed in UpdraftPlus. |
Reference: /docs/reference/backups
Shared module across these plugins; do not add this count across them. Edition and effect labels describe the source catalogue. The installed schema, dependency versions, licence, WordPress capability, safety profile and per-ability policy determine availability; labels alone do not prove confirmation or recovery.
Read example: wppilot/backup-status
Discover this ability and its live schema first. The input below illustrates a bounded read from the source declaration; replace the example ID or name with an object returned by your site. It is not a recorded execution result.
| Parameter | Type and meaning |
|---|---|
provider | string, one of updraftplus, duplicator, backwpup, ai1wm. Only this backup plugin. Defaults to every active one. |
{
"provider": "updraftplus"
}Input and output schema from the plugin source
1 input field. Required: none; see schema alternatives and runtime validation. Optional parameters can affect response size and object selection.
{
"input": {
"type": "object",
"default": [],
"properties": {
"provider": {
"type": "string",
"enum": [
"updraftplus",
"duplicator",
"backwpup",
"ai1wm"
],
"description": "Only this backup plugin. Defaults to every active one."
}
},
"additionalProperties": false
},
"output": {
"type": "object",
"properties": {
"active_providers": {
"type": "array",
"items": {
"type": "string"
}
},
"supported_providers": {
"type": "array",
"items": {
"type": "string"
}
},
"providers": {
"type": "array",
"items": {
"type": "object"
}
},
"newest_successful_backup": {
"type": [
"object",
"null"
]
}
}
}
}Source: wppilot/includes/kits/backup-status/src/abilities/backup-status.php
A successful read should identify the requested object and expose the structure described by the output schema. Compare it with the native editor before proposing a change. Troubleshoot missing or refused operations.
What UpdraftPlus records
What UpdraftPlus records, and what that means for an answer
UpdraftPlus keeps a verdict for its latest job only. Every older set in its history has files and sizes but no recorded result, so those come back as unknown rather than as a guessed success. The newest set is the one that decides whether a fresh-backup check passes.
A set whose archives were deleted, by retention or by hand, no longer counts, even though UpdraftPlus's own "Last backup" line can still show it. Storage is reported by name, such as Google Drive or S3, never by path, download link or credential.
Backup Now, a GoBuildWP Pro ability, queues a single WP-Cron event with UpdraftPlus's own action and returns at once. It is refused while an UpdraftPlus backup is running or queued, and for 15 minutes after the last one GoBuildWP started. The change log records it as irreversible, because the archive lives in UpdraftPlus's storage; delete it there if it is not wanted.
Worked example
Holding a plugin update until the backup is fresh
Expected outcome to verify on the installed stack; this sequence has not been recorded as a runtime test.
The update runs with a same-day backup behind it. On GoBuildWP Free the agent gets as far as the first status read and tells you there is nothing from today; queuing the backup and holding the update are Pro. If WP-Cron is not running on the site, the backup stays queued and the status says so, which is the signal to start it from UpdraftPlus's own screen instead.
Before safe-update, review the required database, plugins, themes, uploads and other-file components and the policy’s maximum backup age. Use the plugin’s finalization timestamp and require a newly successful completion when starting a backup; a queued job is not a completed set.
backup-statusShows the last UpdraftPlus job succeeded two days ago, so there is nothing from today.
backup-triggerQueues a full backup and returns state queued with the time it was queued.
backup-statusPolled until nothing is running and the last job is newer than the queue time, with result success.
update-pluginRuns once the owner confirms; on a site that requires a fresh backup, the new UpdraftPlus set is what that check finds.
Data model
UpdraftPlus history, schedules and storage settings
UpdraftPlus's backup history is a list of sets keyed by the time each job started. Every set lists its files per entity (database, plugins, themes, uploads, others) with a size for each, which is where the contents and byte counts in an answer come from. A job still in progress shows up as a pending resume event in WP-Cron.
Files and database run on separate schedules, each its own WP-Cron event with its own interval or manual, so the next files backup and the next database backup can be days apart. The status lists both. Remote storage is whatever the site's UpdraftPlus settings name, from Google Drive or S3 to FTP; the answer carries those names only.
Limits
What UpdraftPlus answers cannot tell you
- Backup status is vendor-record evidence, with local-file checks only where implemented. Fresh success does not prove a usable off-site copy or successful restore; rehearse the intended files/database restoration separately. Free update-plugin is distinct from the Pro backup trigger and fresh-backup hold.
- Nothing here restores, downloads or deletes a set. Restoring is done in UpdraftPlus, component by component.
- A queued backup is not a finished one. Report the result only after a status read shows the new job's verdict.
- Paths, download links and storage credentials are never read into an answer, so the agent cannot fetch an archive.
- Times are when a job started; where UpdraftPlus records the end, it is reported separately.
Off-site copies, schedule gaps and the backup gate window
When the only UpdraftPlus storage listed is Local (web server)
Every UpdraftPlus MCP status read lists where sets go, and the first name is always Local (web server), because UpdraftPlus writes archives there before sending them on. If that is the only name, no remote storage is configured, and the backups live on the same server they are meant to protect. A failed disk, a hacked account or a host that closes the account takes the site and its backups together. The agent can spot this in one read; fixing it means choosing a remote destination in UpdraftPlus's settings, which the agent does not touch.
A second read worth asking for is the schedule. backup-status gives the next files run and the next database run separately, each with its interval. A shop that takes orders all day with a weekly database schedule can lose a week of orders in a restore, even though the status says the last backup succeeded.
Choosing the window for Require a fresh backup
GoBuildWP Pro's fresh-backup gate is off until the owner turns it on, and then holds every destructive or critical agent call until an active backup plugin reports a success newer than a set number of hours: 1, 3, 6, 12, 24, 48, 72 or 168, with 24 as the default. It fails closed. If no backup plugin can be read, those calls are refused with a message saying how to get out, rather than allowed because nothing could be checked. The backup abilities themselves and every read are never held, since taking a backup is the way through.
For a site that changes daily, a window of a few hours means the agent queues a database backup with backup-trigger before a bulk deletion, waits until backup-status shows the new set's success, then carries on. A brochure site edited once a week can live with 72 hours. The switch is stored as a setting and stays on even if the Pro licence lapses, so a control the owner chose does not quietly disappear.
UpdraftPlus requests that fit what the abilities can see
Backup reads are part of GoBuildWP Free and run on every safety profile, Read Only included. Queuing a backup is Pro. Safe plugin updates explains how the backup check fits into an update run.
- "Read only: where do our UpdraftPlus backups go, and how far apart are the database and files schedules?"
- "Take a database-only backup, wait until it reports success, then tell me its size and finish time."
- "List the last ten backup sets and point out any with errors or warnings."
Questions
UpdraftPlus questions
Can Claude restore an UpdraftPlus backup?
No. The abilities read backup health and queue new backups. Restoring is a decision made in UpdraftPlus's own screen, where you choose which components to put back.
Why does an older UpdraftPlus backup show result unknown?
UpdraftPlus records success or failure for its most recent job only. Older sets have files and sizes but no verdict, and the agent does not guess one.
Can the agent back up just the database before a bulk edit?
With GoBuildWP Pro, yes: backup-trigger with scope database queues UpdraftPlus's database-only Backup Now. GoBuildWP Free can only confirm afterwards that the set finished and what it held.
Does a fresh UpdraftPlus backup unlock risky calls?
When the site owner turns on Require a fresh backup, a GoBuildWP Pro setting, destructive and critical calls are held until any active backup plugin reports a success inside the chosen window; a successful UpdraftPlus set counts from when it finished.
Where these facts come from
GoBuildWP behaviour is taken from the plugin source and the ability reference; third-party details from the vendor documentation below, checked by the GoBuildWP team.
UpdraftPlus is a separate product; no partnership or endorsement is implied.