Skip to main content
Glama
surendranb

macOS Companion MCP Server

by surendranb

capture_camera_snapshot

Capture a photo using the built-in camera for ambient light sensing, presence detection, or health PPG readings. Returns JPEG as base64 data URL.

Instructions

Takes a photo using the built-in camera via imagesnap. Returns JPEG as base64 data URL. Use: ambient light sensing, health PPG read, presence detection.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
delayNoWarmup delay in seconds before capture (default 1)
qualityNoJPEG qualitymedium
Behavior3/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It does disclose the return format (base64 data URL) and implementation (imagesnap), which is useful. However, it lacks information about required camera permissions, potential side effects (e.g., camera indicator light), error behavior, or an explicit safety profile. The non-destructive nature is implied but not stated.

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?

The description is two sentences long and front-loaded with the primary action. It efficiently includes the implementation, return format, and use cases without redundancy. Every sentence adds value, making it highly concise and well-structured.

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?

Given the tool's simplicity (two optional parameters, no output schema), the description covers the essential aspects: action, return format, and use cases. It could be more complete by adding prerequisites or error conditions, but for a straightforward snapshot tool, the provided context is sufficient for an agent to select and invoke it 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?

The schema already provides clear descriptions for both parameters (delay warmup and JPEG quality with enum values). The description does not add parameter-specific detail beyond what the schema offers, so the baseline score of 3 is appropriate. The mention of JPEG output aligns with the quality parameter but does not enhance its meaning.

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?

The description states a specific action ('Takes a photo') with a clear resource ('built-in camera via imagesnap') and output format ('JPEG as base64 data URL'). It distinguishes itself from sibling tools like capture_audio by specifying the camera rather than audio. The listed use cases (ambient light sensing, health PPG read, presence detection) further clarify its intended purpose.

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

Usage Guidelines4/5

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

The 'Use:' clause explicitly lists three concrete scenarios for when this tool is appropriate, providing clear context. It does not mention exclusions or alternatives, but the use cases are specific enough to guide an agent. No sibling tool directly overlaps in purpose, so this level of guidance is adequate.

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/surendranb/macos-mcp'

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