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