Screenshot capture server via Flameshot. Runs on Windows, Linux and macOS. Supports full screen, single monitor, and region captures with optional GUI interaction.
Flameshot MCP has complete input schemas with proper types and descriptions for all 6 tools. Tool names follow verb_noun convention (capture_*, list_*, annotate). Descriptions are present and moderately detailed (50-150 chars), explaining WHAT each tool does. However, descriptions lack WHEN to use guidance and dependency hints. Parameter descriptions are adequate but generic in places. Output schemas are not explicitly documented, responses are inferred from code. Error handling exists but lacks recovery guidance. No tool annotations (readOnlyHint/destructiveHint). Overall: solid foundation, but missing LLM-optimization patterns and composition guidance.
Desenha anotações (retângulos, setas, texto) sobre uma imagem PNG.
Captura todos os monitores de uma vez.
Abre a GUI do Flameshot para o usuário escolher a área.
Captura uma região fixa da tela, sem interação do usuário.
Captura um monitor específico. Sem 'number', usa o monitor do cursor.
Lista todos os monitores conectados com suas resoluções.
Output schemas not documented. Code returns Result = list[TextContent | ImageContent], but LLMs cannot see the structure of TextContent (JSON fields like 'ok', 'path', 'bytes', 'size'). Agents cannot plan downstream calls without knowing what fields to extract.
Descriptions lack WHEN-to-use guidance. 'Captura um monitor específico' (Captures a specific monitor) does not explain when to call capture_screen vs capture_full vs capture_region. LLMs must infer intent from context alone.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). capture_full, capture_screen, capture_region, capture_gui, and annotate all modify filesystem state (WRITE risk), but this is not declared in tool metadata. Agents cannot reason about side effects or retry safety.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 60 | 2026-07-28+ | v2 |
Error responses lack recovery guidance. _capture() returns {'ok': False, 'error': '...'} on timeout or cancellation, but does not suggest next steps (retry? call list_screens? check Flameshot installation?). Pattern: recovery-guide.
Parameter 'region' in capture_region uses free-form string format 'LxA+X+Y' (e.g. '800x600+100+50'). No enum, no regex pattern in schema, no validation example. LLMs frequently hallucinate invalid formats like '800x600 100x50' or '800,600,100,50'.