snapmcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SNAPMCP_DIR | No | /app/captures | |
| SNAPMCP_BADGE | No | false | |
| SNAPMCP_THEME | No | auto-detected | |
| SNAPMCP_FORMAT | No | png | |
| SNAPMCP_SHADOW | No | none | |
| SNAPMCP_PADDING | No | 32 | |
| SNAPMCP_QUALITY | No | 90 | |
| SNAPMCP_ALLOWED_PATHS | No | (deny-all) | |
| SNAPMCP_BORDER_RADIUS | No | 0 | |
| SNAPMCP_WINDOW_CHROME | No | false | |
| SNAPMCP_CHROME_CHANNEL | No | stable | |
| SNAPMCP_CHROME_PROFILE | No | ||
| SNAPMCP_SSRF_PROTECTION | No | true | |
| SNAPMCP_CHROME_EXECUTABLE | No |
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": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| capture_terminalA | Generate a styled terminal screenshot from text lines with real terminal theme colors. Automatically detects your terminal theme (Kitty, GNOME, Alacritty, WezTerm, etc.) for authentic prompt colors. Use for CLI tutorials, command output documentation, and terminal-based guides. |
| capture_codeA | Generate a syntax-highlighted code screenshot using Shiki (50+ languages, 27 themes). Renders code with line numbers, theme-aware colors, and optional window chrome. Ideal for code documentation, tutorials, and sharing snippets with authentic IDE-like appearance. |
| capture_browserA | Take a screenshot of a URL using headless Chromium. Uses system Chrome profile when available (set SNAPMCP_CHROME_PROFILE) for authenticated sessions, cookies, and extensions. SSRF protection is enabled by default (SNAPMCP_SSRF_PROTECTION=true) - blocks private IPs, localhost, and DNS-rebounding attacks. Supports full-page or viewport captures. |
| capture_fileA | Read a file and generate a syntax-highlighted screenshot with automatic language detection from file extension. Supports 50+ languages via Shiki. Requires SNAPMCP_ALLOWED_PATHS to be set for security (deny-all by default). Maximum file size 5MB. |
| capture_markdownA | Render Markdown as a styled document screenshot using GitHub-flavored Markdown. Supports tables, task lists, code blocks with syntax highlighting, mermaid diagrams (as text), and HTML. Renders with the configured Shiki theme and document styling. Maximum input 200KB. |
| capture_htmlA | Render arbitrary HTML as a screenshot with full CSS support. Use for custom UI previews, email templates, dashboard widgets, or any HTML/CSS content. Renders in a clean viewport with optional window chrome. Security: input is sanitized, external resources (scripts, iframes, external CSS) are blocked. Maximum input 200KB. |
| capture_diffA | Render a git diff with color-coded additions (green) and deletions (red). Parses unified diff format (output of |
| capture_pdfA | Convert a URL to a PDF document using headless Chromium. Renders the full page (including lazy-loaded content) or viewport to a print-quality PDF. Uses system Chrome profile when available for authenticated pages. SSRF protection enabled by default (blocks private IPs, localhost). Supports custom viewport for responsive PDFs. |
| capture_batchA | Capture multiple items in a single call. Each capture is processed sequentially with its own parameters. Use for batch documentation generation (e.g., capture terminal output, code file, and browser screenshot together). Maximum 10 captures per call. |
| capture_sequenceA | Capture each step of a process as individual image files + optional compiled GIF. Each step has full type-specific parameters plus stepNumber and label for documentation. Use for CI/CD pipeline visualization, deployment steps, tutorial sequences. Maximum 60 steps. |
| capture_gifA | Create an animated GIF from sequential captures. Each frame is captured with full type-specific parameters, then compiled into a GIF. Use for animated tutorials, before/after comparisons, step-by-step demonstrations. Maximum 60 frames, maximum canvas 8192x8192. |
| capture_to_documentB | Create a document (Markdown/HTML/PDF) with embedded step-by-step captures. Each capture is rendered as an image and embedded in the document with optional captions. Output formats: markdown (with image references), HTML (self-contained with base64 images), or PDF (print-quality). Maximum 30 captures per document. |
| snapmcp-hintA | Return a helpful hint about configuring and using snapmcp. Provides contextual guidance for setup, troubleshooting, and feature discovery. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 13 tools
Most tools are clearly distinguished by input type and output format: markdown, code, terminal, URL, HTML, file, diff, and PDF each have distinct purposes. Minor overlap exists between capture_sequence and capture_gif (both involve sequential frame capture) and capture_markdown versus capture_html, but the descriptions generally provide enough context to avoid serious misselection.
The dominant capture_<target> pattern is consistent and predictable across the majority of tools. The outlier snapmcp-hint breaks the convention, and capture_batch and capture_to_document use phrase-style names rather than simple noun targets, so the pattern is not perfectly uniform.
With 13 tools, the server is well-scoped for a screenshot/capture domain: it covers individual capture formats plus sequence, batch, GIF, and document composition. Each tool has a reasonable place in the set, and the count is not bloated or thin.
The tool surface covers the full range of expected capture workflows: code, Markdown, HTML, terminal output, files, URLs, diffs, PDFs, and multi-step compositions. There are no obvious dead ends or major missing operations for the server's stated purpose.