MCP server for integrating TechSmith Snagit screenshot capture tool with Claude Desktop, enabling access to capture history, metadata, and image retrieval
MCP.Snagit demonstrates moderate quality with consistent naming conventions and reasonable parameter documentation, but significant gaps in error handling, output schema documentation, and idempotency guarantees. All 11 tools follow verb_noun naming patterns (list_, get_, search_, add_, remove_, batch_add_), which is commendable. However, parameter descriptions are present but often minimal (10-50 chars), and output schemas are not formally documented in the source. The server exposes configuration via environment variables (SNAGIT_PATH, MAX_IMAGE_WIDTH, etc.) rather than tool parameters, which is good security practice. No evidence of input validation guidance, error recovery strategies, or multi-step operation confirmation. Tool composition is reasonable (11 focused tools), but several tools return similar data (list_captures vs search_by_tag both return capture lists) without clear pagination or limit enforcement documented in the code.
Add one or more tags to a Snagit capture. Tags are stored in the .snagx metadata. Duplicate tags are ignored.
Add the same tags to multiple captures at once.
Get a list of all unique tags across all captures with usage counts.
Get a specific Snagit capture by filename or pattern. Returns the image file path.
Get full metadata for a capture WITHOUT loading the image. Returns OCR text, app name, window title, tags, URL. Use this to understand what a screenshot contains before deciding to view it.
Get the most recent Snagit capture. Returns the image file path so you can view it.
Get Snagit integration status: path, capture count, connection status.
No documented output schemas for any tool. Response structures inferred from model classes (SnagitCapture, SnagitMetadata, ImageResponse) but not formally declared in tool registration. LLMs cannot plan downstream operations without knowing what fields to expect.
No error handling guidance in tool descriptions. Tools that read files (list_captures, get_capture) do not document failure modes (file not found, permission denied, corrupted .snagx). Agents cannot recover from failures.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | C | 62 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 39 | - | v1 |
Get all tags on a specific capture.
List available Snagit captures with optional filtering. Returns filenames, dates, sizes.
Remove one or more tags from a Snagit capture.
Find all captures with a specific tag.
Destructive tools (add_tags, remove_tags, batch_add_tags) lack confirmation/dry-run patterns. No documentation of idempotency or rollback capability. If batch_add_tags partially fails (e.g., one file locked), agent has no guidance on recovery.
Parameter descriptions often lack format specifications and constraints. 'filename' param in get_capture, get_capture_details, get_tags, remove_tags, is it the full filename, partial match, glob pattern, or regex? 'tags' in add_tags and remove_tags, is it comma-separated or newline-separated? LLMs must guess.
No pagination or result-limiting enforcement visible in code for tools returning lists. list_captures accepts 'count' (default 20), get_all_tags accepts 'maxCaptures' (default 1000), search_by_tag accepts 'count' (default 20). Without documented upper bounds and next_cursor/offset support, results could exhaust context window.
Tool 'get_snagit_info' returns connection status and capture count, but description is vague ('integration status'). Response structure unknown, is it a string, JSON object, or array? Agents cannot reliably parse or use the output.
Image-returning tools (get_last_capture, get_capture) accept 'mode' param with values 'filepath', 'reference', 'base64' but description does not explain the tradeoff (token cost, availability, security) or when to use each mode. 'reference' mode undefined.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) present in source. MCP spec (2026-07-28) supports these; destructive tools like add_tags, remove_tags, batch_add_tags should declare destructiveHint=true to guide agent behavior.