Agent Cam MCP Tool
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_statusA | Use this any time you need to see the physical hardware: while debugging, after reboots, during serial output, mid-process. Do not wait until the end of a task. Returns daemon version, uptime, camera states, pause flag, buffer fill, adapters, and system warnings. Always call this first. |
| list_camerasA | List all detected physical USB webcams and IP cameras with their ID, name, resolution, fps, and state. |
| capture_imageA | Use this any time you need to visually inspect the hardware. Captures a live frame directly as an MCP image result. Never saves to disk by default. Can crop to a defined region and annotate existing regions. |
| capture_sequenceA | Captures a sequence of frames over time and returns a single token-efficient contact sheet with timestamps. Use to observe physical motions, LED blink patterns, or mechanical movements. |
| get_timelineA | Returns a contact sheet of buffered history frames plus timestamp-aligned event lines from serial or log adapters. Use to correlate hardware events (e.g. crash, reset, button press) with visual frames. |
| measureA | Compute quantitative measurements on the camera frame or region without returning heavy images. Returns mean brightness, contrast, lit-pixel percentage, dominant colors, edge density, sharpness (Laplacian variance), and motion level. |
| watchB | Asynchronously monitor the camera until a physical condition is met or timeout expires. Conditions: 'change', 'motion_start', 'motion_stop', 'brightness_above', 'brightness_below', 'color_present'. Returns fired status, timing, and before/after evidence images. |
| define_regionA | Define and save a named region of interest (e.g. 'status_led', 'oled_screen', 'nozzle_area') using normalized coordinates (0.0 to 1.0) or pixels. |
| list_regionsA | List all saved named hardware regions of interest. |
| delete_regionB | Delete a saved named region. |
| request_region_from_userA | Ask the user in the Dashboard UI to interactively draw a region on the camera preview. Blocks until user finishes drawing or timeout. |
| save_baselineA | Capture and persist a golden reference image for subsequent comparison. Use to establish a known-good baseline before running experiments or flashing firmware. |
| compare_to_baselineA | Compare the current physical camera state against a saved baseline. Returns SSIM structural similarity score, percent of changed pixels, and a visual difference heatmap image. |
| read_textA | Perform OCR to extract printed text or seven-segment display digits from the camera frame or region. Returns extracted text and confidence. |
| set_camera_settingsB | Adjust hardware camera parameters: exposure, focus, brightness, white balance, or lock auto settings. Reports exactly which parameters were accepted vs rejected by the driver. |
| read_eventsA | Read timestamped lines from an active event adapter (serial, log file, MQTT). Can block until specific text appears or until timeout. |
| run_actionB | Execute a configured allowlist action (e.g. 'reset_board', 'pause_print'). Subject to approval policy. If observe_seconds is configured, returns post-action timeline sheet. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| verify_hardware | Recommended systematic workflow for verifying physical hardware state with Agent Cam. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| Agent Cam System Status | Current camera states, daemon status, and buffer metrics |
| Agent Cam Named Regions | Defined hardware regions of interest (LEDs, displays, zones) |
TDQS
Scored across 17 tools
Most tools target clearly distinct actions (status, capture, measure, watch, OCR, baseline compare, events, actions). The only mild overlap is among capture_image, capture_sequence, and get_timeline, but their descriptions (live frame vs. contact sheet over time vs. buffered history with event lines) clearly differentiate them.
Names largely follow a consistent verb_noun pattern (get_status, list_regions, capture_image, define_region, save_baseline, read_events, run_action). A couple of bare verbs (measure, watch) and one long name (request_region_from_user) are minor deviations but overall the convention is predictable.
17 tools is slightly heavy but justified by a rich domain spanning camera control, region management, baselines, events, and actions. Each tool appears to earn its place with no obvious redundancy.
The surface covers the full lifecycle: status, camera enumeration, region CRUD (define/delete/list plus interactive request), capture/sequence/timeline, measurement, condition watching, baseline save/compare, OCR, settings, event reading, and action execution. No obvious dead ends for a hardware-observation agent.