Skip to main content
Glama

get_screenshot

Capture a pixel-level screenshot of the active monitor at native resolution. Returns a base64-encoded PNG with timestamp and resolution metadata. Use for UI debugging, diagrams, or on-screen evidence.

Instructions

Capture a screenshot of the active monitor (or a specified monitor) at native resolution.

Returns a base64-encoded PNG plus capture metadata (timestamp, monitor index, resolution).

USE WHEN: you need pixel-level visual context (UI debugging, screenshot of a diagram, evidence of on-screen state). NOT FOR: text extraction — use get_screen_text, which is ~5x cheaper in tokens and runs OCR locally before returning. ALTERNATIVES: get_screen_text (OCR only), get_recent (rolling buffer of past captures), get_context_at (point-in-time recall).

BEHAVIOR: synchronous capture; takes 50-200 ms. Image is also written to the rolling buffer (visible via get_recent). No auth or rate limits — local only.

PARAMETERS: monitor_index: 0-based monitor index from get_monitor_summary. Omit (or pass None) to capture the monitor that currently contains the cursor.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
monitor_indexNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
Behavior5/5

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

With no annotations, the description fully discloses behavioral traits: synchronous capture, timing (50-200 ms), side effect (written to rolling buffer), and access constraints (no auth/rate limits, local only).

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

Conciseness5/5

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

Well-structured with clear section headers (USE WHEN, NOT FOR, ALTERNATIVES, BEHAVIOR, PARAMETERS). Every sentence adds value, no redundancy, and front-loaded with key action.

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

Completeness5/5

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

For a simple tool with one parameter and an output schema, the description covers all relevant aspects: purpose, usage, behavior, parameter, and return type (base64 PNG + metadata). No gaps.

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

Parameters5/5

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

Schema coverage is 0%, but description adds rich semantics: explains monitor_index as 0-based from get_monitor_summary, notes default behavior (capture cursor's monitor), and guides on usage (omit or pass None).

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?

Description clearly states the verb 'Capture a screenshot' and specific resource 'active monitor' with details on resolution and output format. It distinguishes from sibling tools like get_screen_text by noting different use cases.

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?

Explicitly lists when to use (pixel-level visual context) and when not (text extraction), names alternatives (get_screen_text, get_recent, get_context_at), and provides cost/benefit reasoning ('~5x cheaper in tokens').

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ContextPulse/contextpulse'

If you have feedback or need assistance with the MCP directory API, please join our Discord server