diff --git a/projects/packages/my-jetpack/_inc/components/product-cards-section/backup-card/index.jsx b/projects/packages/my-jetpack/_inc/components/product-cards-section/backup-card/index.jsx
index 5451feb38659..5e8a3009ee91 100644
--- a/projects/packages/my-jetpack/_inc/components/product-cards-section/backup-card/index.jsx
+++ b/projects/packages/my-jetpack/_inc/components/product-cards-section/backup-card/index.jsx
@@ -222,7 +222,23 @@ const WithBackupsValueSection = props => {
{ lastRewindableEvent ? (
-
{ lastRewindableEvent.summary }
+
+ { lastRewindableEvent.summary }
+ { lastRewindableEvent.actor?.is_mcp_agent && (
+ <>
+ { ' ' }
+
+ { sprintf(
+ /* translators: %s: The name of the MCP client application. */
+ __( 'via %s (MCP)', 'jetpack-my-jetpack' ),
+ lastRewindableEvent.actor?.mcp_client ||
+ lastRewindableEvent.actor?.mcp_client_name ||
+ __( 'MCP client', 'jetpack-my-jetpack' )
+ ) }
+
+ >
+ ) }
+
) : null }
diff --git a/projects/packages/my-jetpack/_inc/components/product-cards-section/backup-card/style.module.scss b/projects/packages/my-jetpack/_inc/components/product-cards-section/backup-card/style.module.scss
index 656676977bbb..fa3d8bc08a0f 100644
--- a/projects/packages/my-jetpack/_inc/components/product-cards-section/backup-card/style.module.scss
+++ b/projects/packages/my-jetpack/_inc/components/product-cards-section/backup-card/style.module.scss
@@ -43,6 +43,12 @@
font-size: var(--font-body-small);
margin: 0;
}
+
+ .mcpBadge {
+ display: block;
+ font-size: var(--font-body-extra-small);
+ color: var(--jp-gray-50);
+ }
}
.description {
diff --git a/projects/packages/my-jetpack/changelog/mcp-activity-log b/projects/packages/my-jetpack/changelog/mcp-activity-log
new file mode 100644
index 000000000000..4065e38c2198
--- /dev/null
+++ b/projects/packages/my-jetpack/changelog/mcp-activity-log
@@ -0,0 +1,4 @@
+Significance: minor
+Type: added
+
+Display MCP client actor attribution in My Jetpack backup card
diff --git a/projects/plugins/jetpack/_inc/client/at-a-glance/backups.jsx b/projects/plugins/jetpack/_inc/client/at-a-glance/backups.jsx
index 667aba9248c4..0afec3ed8d46 100644
--- a/projects/plugins/jetpack/_inc/client/at-a-glance/backups.jsx
+++ b/projects/plugins/jetpack/_inc/client/at-a-glance/backups.jsx
@@ -418,6 +418,8 @@ class DashBackups extends Component {
actorName,
actorRole,
actorAvatarUrl,
+ isMcpAgent,
+ mcpClient,
undoBackupId,
} = backupUndoEvent;
@@ -440,7 +442,14 @@ class DashBackups extends Component {
{ actorName }
- { actorRole && ' - ' + actorRole }
+ { isMcpAgent
+ ? ' - ' +
+ sprintf(
+ /* translators: %s: The name of the MCP client application. */
+ __( 'via %s (MCP)', 'jetpack' ),
+ mcpClient || __( 'MCP client', 'jetpack' )
+ )
+ : actorRole && ' - ' + actorRole }
diff --git a/projects/plugins/jetpack/_inc/client/state/at-a-glance/reducer.js b/projects/plugins/jetpack/_inc/client/state/at-a-glance/reducer.js
index f2c77a19c857..ca66acd6079b 100644
--- a/projects/plugins/jetpack/_inc/client/state/at-a-glance/reducer.js
+++ b/projects/plugins/jetpack/_inc/client/state/at-a-glance/reducer.js
@@ -172,6 +172,8 @@ const backupUndoEvent = (
actorName: activity.actor?.name ?? '',
actorRole: activity.actor?.role ?? '',
actorType: activity.actor?.type ?? '',
+ isMcpAgent: activity.actor?.is_mcp_agent ?? false,
+ mcpClient: activity.actor?.mcp_client ?? activity.actor?.mcp_client_name ?? '',
activityDate: activity.published ?? '',
activityId: activity.activity_id,
activityName: activity.name,
diff --git a/projects/plugins/jetpack/changelog/mcp-activity-log b/projects/plugins/jetpack/changelog/mcp-activity-log
new file mode 100644
index 000000000000..4d8874f5fb76
--- /dev/null
+++ b/projects/plugins/jetpack/changelog/mcp-activity-log
@@ -0,0 +1,4 @@
+Significance: minor
+Type: enhancement
+
+Display MCP client actor on backup undo card and backup card attribution