Skip to main content
Glama

Screenshot a lock screen with notifications

lockscreen_screenshot

Render a single frame of an iOS lock screen with notifications to a PNG and return it as an image. Defaults to the last frame — pass "frame" to capture an earlier moment (30 fps).

Returns the PNG as image content, plus a text line with the PNG's URL (expires after 24 hours).

If the input is invalid, this returns an error result with the validation messages instead of an image.

Lock screen format (an iOS 26 lock screen with notifications):

The video starts on a lock screen (wallpaper, big clock, date, padlock). Like the chat videos, the 9:16 video is the iPhone screen cut below the status bar and above the flashlight and camera buttons. Each notification is a Liquid Glass card from one app (imessage, whatsapp, instagram, chatgpt, claude, reddit, mail, phone, facetime, notes, reminders) with a bold title (usually the sender), a body of up to 4 lines, and a see-through time such as "now" or "2m ago". A card lands at its "at" second (seconds from the start of the video), growing out of the bottom of the screen (or out of the card already there) as on iOS 26; at 0 it is already there. While cards are on screen the lower half of the wallpaper darkens, as on the phone. At least one notification is required. The video ends "endHold" seconds (default 2) after the last card has settled.

Wallpaper and avatars are https image URLs or data: URIs (local file paths are not available). "wallpaper" also takes one of Apple's iOS 26 wallpapers by name ("sky", "shadow", "halo", "dusk", "yellow", "pink", "azure", "purple"); without one, "sky" (the iOS 26 default) is drawn, in its light or dark version with "theme". "avatar" on a notification shows the contact's photo with the app icon as a small badge. "display": "stack" folds the cards like iOS 26 does (the newest card, the next one or two as one-line rows under it, the rest counted as "+3 from WhatsApp and Messages"); "list" shows every card.

Input Schema

NameRequiredDescriptionDefault
dimNoBlack overlay on the wallpaper, 0 to 1. Default: 0.
dateNoThe line above the clock, written as iOS 26 does, e.g. "Tue Oct 6". Default: "Tue Oct 6".
timeNoThe big clock, without AM/PM, e.g. "9:41". Default: "9:41".
frameNoFrame index to capture, at 30 fps (e.g. 30 = one second in). Omit to capture the final frame, with every notification on screen.
themeNoThe phone's appearance: "light" = frosted glass, "dark" = smoked glass, white text on both as on iOS 26; Apple's wallpapers follow it. Default: light.
cameraNoCamera button bottom right. Default: true.
soundsNoThe iOS notification tone when each card lands (video only). Default: true.
carrierNoNetwork name on the left of the status bar. Default: none.
displayNo"list" shows every card, newest on top; "stack" is iOS 26's default fold: the newest card, the next one or two as one-line rows, the rest counted. Default: list.
endHoldNoSeconds to hold on the last frame after the last card has settled. Default: 2.
padlockNoSmall locked padlock above the date. Default: true.
clockSizeNoClock size in points on a 402 pt wide iPhone screen. Default: 100.
statusBarNoRight side of the status bar. (The clock there is not shown on a lock screen.)
wallpaperNoOne of Apple's iOS 26 wallpapers by name ("sky", "shadow", "halo", "dusk", "yellow", "pink", "azure", "purple"), or a full-bleed image: URL or data: URI. Omitted: "sky", the iOS 26 default.
clockColorNoClock colour (CSS colour). Default: "#FFFFFF".
flashlightNoFlashlight button bottom left. Default: true.
wallpaperXNoWhere the crop is centred horizontally when the image is not the screen's shape, in % (50 = middle). Default: 50.
wallpaperYNoWhere the crop is centred vertically, in % (50 = middle). Default: 50.
clockWeightNoClock numeral weight, 100-900. Default: 760.
clockOpacityNoHow much of the colour fills the Liquid Glass numerals, 0-1; the wallpaper shows through the rest. Default: 0.45.
clockStretchNoVertical stretch of the clock numerals. Default: 1.16.
notificationsYesThe notifications, 1 to 20, in any order (they land in order of "at", ties keep the written order, and the newest sits on top). Lock screen format (an iOS 26 lock screen with notifications): The video starts on a lock screen (wallpaper, big clock, date, padlock). Like the chat videos, the 9:16 video is the iPhone screen cut below the status bar and above the flashlight and camera buttons. Each notification is a Liquid Glass card from one app (imessage, whatsapp, instagram, chatgpt, claude, reddit, mail, phone, facetime, notes, reminders) with a bold title (usually the sender), a body of up to 4 lines, and a see-through time such as "now" or "2m ago". A card lands at its "at" second (seconds from the start of the video), growing out of the bottom of the screen (or out of the card already there) as on iOS 26; at 0 it is already there. While cards are on screen the lower half of the wallpaper darkens, as on the phone. At least one notification is required. The video ends "endHold" seconds (default 2) after the last card has settled. Wallpaper and avatars are https image URLs or data: URIs (local file paths are not available). "wallpaper" also takes one of Apple's iOS 26 wallpapers by name ("sky", "shadow", "halo", "dusk", "yellow", "pink", "azure", "purple"); without one, "sky" (the iOS 26 default) is drawn, in its light or dark version with "theme". "avatar" on a notification shows the contact's photo with the app icon as a small badge. "display": "stack" folds the cards like iOS 26 does (the newest card, the next one or two as one-line rows under it, the rest counted as "+3 from WhatsApp and Messages"); "list" shows every card.
wallpaperZoomNo1 = cover the screen, 2 = twice as close. Default: 1.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed8 schema fields changed
    • changedInput schema / properties / clockOpacity / description
      Previous value: -"Clock opacity, 0-1; below 1 the wallpaper shows faintly through it. Default: 0.88."New value: +"How much of the colour fills the Liquid Glass numerals, 0-1; the wallpaper shows through the rest. Default: 0.45."
    • changedInput schema / properties / clockStretch / description
      Previous value: -"Vertical stretch of the clock numerals. Default: 1.18."New value: +"Vertical stretch of the clock numerals. Default: 1.16."
    • changedInput schema / properties / clockWeight / description
      Previous value: -"Clock numeral weight, 100-900. Default: 700."New value: +"Clock numeral weight, 100-900. Default: 760."
    • changedInput schema / properties / date / description
      Previous value: -"The line above the clock, e.g. \"Tuesday, October 6\". Default: \"Tuesday, October 6\"."New value: +"The line above the clock, written as iOS 26 does, e.g. \"Tue Oct 6\". Default: \"Tue Oct 6\"."
    • changedInput schema / properties / display / description
      Previous value: -"\"list\" shows every card; \"stack\" shows the newest with one or two slivers behind it. Default: list."New value: +"\"list\" shows every card, newest on top; \"stack\" is iOS 26's default fold: the newest card, the next one or two as one-line rows, the rest counted. Default: list."
    • changedInput schema / properties / notifications / description
      Previous value: -"The notifications, 1 to 20, in any order (they land in order of \"at\", ties keep the written order, and the newest sits on top).\n\nLock screen format (an iOS 26 lock screen with notifications):\n\nThe video starts on a lock screen (wallpaper, big clock, date, padlock). Like the chat videos, the 9:16 video is the iPhone screen cut below the status bar and above the flashlight and camera buttons. Each notification is a Liquid Glass card from one app (imessage, whatsapp, instagram, chatgpt, claude, reddit, mail, phone, facetime, notes, reminders) with a bold title (usually the sender), a body of up to 4 lines, and a grey time such as \"now\" or \"2m ago\". A card lands at its \"at\" second (seconds from the start of the video) and springs in from the bottom; at 0 it is already there. At least one notification is required. The video ends \"endHold\" seconds (default 2) after the last card has settled.\n\nWallpaper and avatars are https image URLs or data: URIs (local file paths are not available). Without a wallpaper a dark gradient is drawn. \"avatar\" on a notification shows the contact's photo with the app icon as a small badge. \"display\": \"stack\" folds the cards like iOS does (newest on top with slivers behind); \"list\" shows every card."New value: +"The notifications, 1 to 20, in any order (they land in order of \"at\", ties keep the written order, and the newest sits on top).\n\nLock screen format (an iOS 26 lock screen with notifications):\n\nThe video starts on a lock screen (wallpaper, big clock, date, padlock). Like the chat videos, the 9:16 video is the iPhone screen cut below the status bar and above the flashlight and camera buttons. Each notification is a Liquid Glass card from one app (imessage, whatsapp, instagram, chatgpt, claude, reddit, mail, phone, facetime, notes, reminders) with a bold title (usually the sender), a body of up to 4 lines, and a see-through time such as \"now\" or \"2m ago\". A card lands at its \"at\" second (seconds from the start of the video), growing out of the bottom of the screen (or out of the card already there) as on iOS 26; at 0 it is already there. While cards are on screen the lower half of the wallpaper darkens, as on the phone. At least one notification is required. The video ends \"endHold\" seconds (default 2) after the last card has settled.\n\nWallpaper and avatars are https image URLs or data: URIs (local file paths are not available). \"wallpaper\" also takes one of Apple's iOS 26 wallpapers by name (\"sky\", \"shadow\", \"halo\", \"dusk\", \"yellow\", \"pink\", \"azure\", \"purple\"); without one, \"sky\" (the iOS 26 default) is drawn, in its light or dark version with \"theme\". \"avatar\" on a notification shows the contact's photo with the app icon as a small badge. \"display\": \"stack\" folds the cards like iOS 26 does (the newest card, the next one or two as one-line rows under it, the rest counted as \"+3 from WhatsApp and Messages\"); \"list\" shows every card."
    • changedInput schema / properties / theme / description
      Previous value: -"Glass tint: \"light\" = pale glass with dark text, \"dark\" = smoked glass with white text. Default: light."New value: +"The phone's appearance: \"light\" = frosted glass, \"dark\" = smoked glass, white text on both as on iOS 26; Apple's wallpapers follow it. Default: light."
    • changedInput schema / properties / wallpaper / description
      Previous value: -"Full-bleed wallpaper image: URL or data: URI. Omitted: a dark gradient."New value: +"One of Apple's iOS 26 wallpapers by name (\"sky\", \"shadow\", \"halo\", \"dusk\", \"yellow\", \"pink\", \"azure\", \"purple\"), or a full-bleed image: URL or data: URI. Omitted: \"sky\", the iOS 26 default."
  2. Changed1 schema field changed
    • changedInput schema / properties / notifications / description
      Previous value: -"The notifications, 1 to 20, in any order (they are shown oldest first by \"at\"; ties keep the written order).\n\nLock screen format (an iOS 26 lock screen with notifications):\n\nThe video starts on a lock screen (wallpaper, big clock, date, padlock). Like the chat videos, the 9:16 video is the iPhone screen cut below the status bar and above the flashlight and camera buttons. Each notification is a Liquid Glass card from one app (imessage, whatsapp, instagram, chatgpt, claude, reddit, mail, phone, facetime, notes, reminders) with a bold title (usually the sender), a body of up to 4 lines, and a grey time such as \"now\" or \"2m ago\". A card lands at its \"at\" second (seconds from the start of the video) and springs in from the bottom; at 0 it is already there. At least one notification is required. The video ends \"endHold\" seconds (default 2) after the last card has settled.\n\nWallpaper and avatars are https image URLs or data: URIs (local file paths are not available). Without a wallpaper a dark gradient is drawn. \"avatar\" on a notification shows the contact's photo with the app icon as a small badge. \"display\": \"stack\" folds the cards like iOS does (newest on top with slivers behind); \"list\" shows every card."New value: +"The notifications, 1 to 20, in any order (they land in order of \"at\", ties keep the written order, and the newest sits on top).\n\nLock screen format (an iOS 26 lock screen with notifications):\n\nThe video starts on a lock screen (wallpaper, big clock, date, padlock). Like the chat videos, the 9:16 video is the iPhone screen cut below the status bar and above the flashlight and camera buttons. Each notification is a Liquid Glass card from one app (imessage, whatsapp, instagram, chatgpt, claude, reddit, mail, phone, facetime, notes, reminders) with a bold title (usually the sender), a body of up to 4 lines, and a grey time such as \"now\" or \"2m ago\". A card lands at its \"at\" second (seconds from the start of the video) and springs in from the bottom; at 0 it is already there. At least one notification is required. The video ends \"endHold\" seconds (default 2) after the last card has settled.\n\nWallpaper and avatars are https image URLs or data: URIs (local file paths are not available). Without a wallpaper a dark gradient is drawn. \"avatar\" on a notification shows the contact's photo with the app icon as a small badge. \"display\": \"stack\" folds the cards like iOS does (newest on top with slivers behind); \"list\" shows every card."
  3. Changed2 schema fields changed
    • changedInput schema / properties / notifications / description
      Previous value: -"The notifications, 1 to 20, in any order (they are shown oldest first by \"at\"; ties keep the written order).\n\nLock screen format (an iOS 26 lock screen with notifications):\n\nThe video starts on a lock screen (wallpaper, big clock, date, padlock, flashlight and camera buttons). Each notification is a Liquid Glass card from one app (imessage, whatsapp, instagram, chatgpt, claude, reddit, mail, phone, facetime, notes, reminders) with a bold title (usually the sender), a body of up to 4 lines, and a grey time such as \"now\" or \"2m ago\". A card lands at its \"at\" second (seconds from the start of the video) and springs in from the bottom; at 0 it is already there. At least one notification is required. The video ends \"endHold\" seconds (default 2) after the last card has settled.\n\nWallpaper and avatars are https image URLs or data: URIs (local file paths are not available). Without a wallpaper a dark gradient is drawn. \"avatar\" on a notification shows the contact's photo with the app icon as a small badge. \"display\": \"stack\" folds the cards like iOS does (newest on top with slivers behind); \"list\" shows every card."New value: +"The notifications, 1 to 20, in any order (they are shown oldest first by \"at\"; ties keep the written order).\n\nLock screen format (an iOS 26 lock screen with notifications):\n\nThe video starts on a lock screen (wallpaper, big clock, date, padlock). Like the chat videos, the 9:16 video is the iPhone screen cut below the status bar and above the flashlight and camera buttons. Each notification is a Liquid Glass card from one app (imessage, whatsapp, instagram, chatgpt, claude, reddit, mail, phone, facetime, notes, reminders) with a bold title (usually the sender), a body of up to 4 lines, and a grey time such as \"now\" or \"2m ago\". A card lands at its \"at\" second (seconds from the start of the video) and springs in from the bottom; at 0 it is already there. At least one notification is required. The video ends \"endHold\" seconds (default 2) after the last card has settled.\n\nWallpaper and avatars are https image URLs or data: URIs (local file paths are not available). Without a wallpaper a dark gradient is drawn. \"avatar\" on a notification shows the contact's photo with the app icon as a small badge. \"display\": \"stack\" folds the cards like iOS does (newest on top with slivers behind); \"list\" shows every card."
    • changedInput schema / properties / wallpaperX / description
      Previous value: -"Where the crop is centred horizontally when the image is not 9:16, in % (50 = middle). Default: 50."New value: +"Where the crop is centred horizontally when the image is not the screen's shape, in % (50 = middle). Default: 50."
  4. Added

TDQS

B3.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes meaningfully beyond the annotations: it discloses the return shape (PNG image content plus a text line with a URL that expires after 24 hours) and the error path (invalid input yields a validation-message error instead of an image). That is exactly the kind of context annotations don't carry. Minor gap: annotations declare readOnlyHint=false and idempotentHint=false for what reads as a pure render, and the description offers nothing to reconcile that.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The opening two paragraphs are well front-loaded and earn their place. But the tool is a screenshot of a single frame, yet several paragraphs narrate video mechanics (card landing at 'at' seconds, endHold, notification tones), and the same block is then repeated inside the notifications schema — noticeable redundancy and wasted length.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 23-parameter tool with nested objects and no output schema, the description does cover the return value (image + expiring URL), the error behavior, and the visual composition of the rendered lock screen. What's missing is the ecosystem context: how it relates to the sibling video/screenshot tools, which an agent needs to pick correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% across 23 parameters, so the schema already documents every field including 'frame' at 30 fps, the wallpaper name enum, and 'display'. The description largely restates the same information (the notifications/wallpaper/display block is duplicated verbatim in the schema), so it adds little beyond the structured data. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The first sentence gives a precise verb+resource+output: 'Render a single frame of an iOS lock screen with notifications to a PNG and return it as an image.' An agent immediately knows this produces a still PNG. However, there is no explicit differentiation from the sibling lockscreen_render_video, and the long subsequent text talks about 'the video' and card landing timings, which muddies whether this tool is the video one.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description never says when to choose this over lockscreen_render_video or reddit_screenshot / chat_screenshot. 'Defaults to the last frame — pass "frame" to capture an earlier moment' is parameter guidance, not usage guidance. No prerequisites, no exclusions, no alternative-tool routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources