Skip to main content
Glama

Capture screenshot of the League Client

lol_cdp_screenshot
Destructive

Capture a League Client window or renderer target screenshot via Chrome DevTools Protocol to verify visual rendering, modal layouts, or graphics. Saves image locally when path supplied.

Instructions

Capture a visual screenshot image of the active League Client window or a specific renderer target using Chrome DevTools Protocol (CDP). When to use: When visual rendering, modal layout, or graphic verification is needed. When NOT to use: Do not use for automated state checks or element queries (use lol_dom_query) or API data inspection (use lol_get). Behavior: Safe read of visual pixels from the renderer; writes to local filesystem only when savePath is explicitly supplied. Prerequisite: League client must be running with remote debugging enabled via Pengu Loader; check lol_status if disconnected. (Note: Required for CDP tools only). Returns dual-payload MCP content with a base64 image data block plus structured JSON metadata (format, dimensions, byte length, savedTo path).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
formatNoImage encoding format: "png" (lossless), "jpeg" (compressed), or "webp"png
qualityNoImage compression quality from 0 to 100; only applicable when format is "jpeg" or "webp"
savePathNoOptional absolute filesystem path (e.g. "C:/temp/screenshot.png") to save the screenshot on disk
targetIdNoSpecific CDP target ID to screenshot (defaults to active main client page; query lol_cdp_targets for options)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changedv0.6.0
    • changedInput schema / properties / format / description
      Previous value: -"Image format"New value: +"Image encoding format: \"png\" (lossless), \"jpeg\" (compressed), or \"webp\""
    • changedInput schema / properties / quality / description
      Previous value: -"Compression quality for jpeg/webp"New value: +"Image compression quality from 0 to 100; only applicable when format is \"jpeg\" or \"webp\""
    • changedInput schema / properties / savePath / description
      Previous value: -"Optional file path to save screenshot on disk"New value: +"Optional absolute filesystem path (e.g. \"C:/temp/screenshot.png\") to save the screenshot on disk"
    • changedInput schema / properties / targetId / description
      Previous value: -"CDP target ID to screenshot (defaults to active main page)"New value: +"Specific CDP target ID to screenshot (defaults to active main client page; query lol_cdp_targets for options)"
  2. Addedv0.2.0

TDQS

A4.1/5.0
Behavior3/5

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

Annotations declare readOnlyHint=false, destructiveHint=true and idempotentHint=false; the description discloses that filesystem side effects occur only when savePath is supplied, which aligns with that profile, plus the remote-debugging prerequisite. However, calling the operation a 'Safe read' sits in mild tension with readOnlyHint=false/destructiveHint=true and the description never states that screenshots are non-idempotent or that client state is unaffected.

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

Conciseness4/5

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

Front-loaded with the core action, then cleanly sectioned into When to use / When NOT to use / Behavior / Prerequisite / Returns. The 'Required for CDP tools only' parenthetical is slightly awkwardly placed and lengthens the prerequisite sentence without adding much.

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?

With no output schema, the description compensates by describing the dual-payload return (base64 image block plus JSON metadata with format, dimensions, byte length, savedTo). Prerequisites, alternatives and write conditions are all covered; only the read-only vs destructive framing is left slightly ambiguous.

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%, so format, quality, savePath and targetId are already fully documented in the schema. The description restates savePath's write condition and points to lol_cdp_targets for targetId selection, which is useful routing, but adds no syntax or format detail beyond the schema. Baseline 3 applies.

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

Purpose5/5

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

States a specific verb and resource ('Capture a visual screenshot image of the active League Client window or a specific renderer target') and explicitly distinguishes itself from the two nearest siblings by naming them (lol_dom_query, lol_get). An agent can select this tool without opening any schema.

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

Usage Guidelines5/5

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

Gives an explicit 'When to use' (visual rendering / modal layout / graphic verification) and a 'When NOT to use' that routes to the correct alternatives (lol_dom_query for state checks, lol_get for API data). Prerequisite conditions and the lol_status fallback are also named.

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