
Snapmcp
io.github.reeinhardddPublished by GitHub account reeinhardddv2.3.2Updated Oct 24, 2026
Visual capture MCP server: terminal colors, code, diffs, PDFs, GIFs. 13 tools, SSRF on by default.
Overview
A local MCP server that renders terminal output, code, diffs, markdown, HTML, browser pages and URLs into styled images, PDFs and GIFs for documentation.
- What you can do
- Capture terminal output with real detected terminal colors, and code or files as Shiki syntax-highlighted images across many languages and themes, plus visual git diffs with green and red lines. Render markdown, arbitrary HTML snippets and browser pages (full-page or viewport) as images, and turn a URL into a PDF. Batch several captures in one call, build animated GIFs or side-by-side sequences from screenshots, and assemble markdown, HTML or PDF documents with embedded captures. Expose capability hints to MCP clients.
- When to use it
- Useful when an assistant writes documentation, tutorials or pull-request descriptions and needs pixel-faithful visuals rather than structured snapshots: install-command terminal shots, highlighted config files, migration diffs, before/after UI comparisons. It documents; it does not click or fill pages, so pair it with a browser-automation server for interaction.
- Requirements
- Runs locally as an npm package (npx snapmcp or global install) over stdio; Node.js 20 or newer, or Bun 1.2 or newer. Needs a Chrome/Chromium binary, either a system install or auto-installed at first setup, configurable via SNAPMCP_CHROME_EXECUTABLE and SNAPMCP_CHROME_PROFILE. Output goes to SNAPMCP_DIR (default ./captures). File capture is deny-all until paths are listed in SNAPMCP_ALLOWED_PATHS.
Installation
In SourceWeft
- Open Snapmcp in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
The visual documentation MCP server.
Terminal · Code · Browser · Markdown · Diff · HTML · PDF · GIF
For documentation workflows — when structured snapshots aren't enough.
[npm version] [npm downloads] [tests] [stars] [MIT]
Real terminal colors, Shiki-highlighted code, visual diffs, PDFs and GIFs — one MCP server, 13 tools. Renders with your system Chrome, or auto-installs Chromium at first setup. SSRF protection on by default. Built for agents that write documentation, not just drive browsers.
Quick Start
Three steps, under two minutes:
1. Install
2. Add to Claude Code (~/.claude/claude.json)
3. Capture
Ask your agent in natural language:
"Capture a terminal screenshot of
git log --oneline -5and a syntax-highlighted PNG ofsrc/index.ts."
The agent calls capture_terminal and capture_file — images land in ./captures/ with your real terminal theme and the chosen syntax theme applied.
Other clients: OpenCode, VS Code / Cline, Docker
OpenCode (opencode.json):
VS Code / Cline / Roo-Cline (settings.json → cline.mcpServers):
Docker:
What it looks like
Why snapmcp vs Playwright MCP
Different tools for different jobs. Playwright MCP drives a browser through token-efficient accessibility snapshots; snapmcp renders pixel-faithful images for humans to read. If your agent needs to click, use Playwright. If it needs to show, use snapmcp.
Most documentation pipelines pair them: Playwright MCP to interact, snapmcp to document.
Tools
Use cases
Automated documentation — an agent writes a setup guide and embeds real captures: the terminal output of the install command (with your actual theme), the config file syntax-highlighted, the diff of the migration. One prompt, three capture_* calls, images saved next to the markdown.
Visual QA — after a UI change, the agent captures the affected pages with capture_browser, batches before/after with capture_batch, and assembles an animated comparison with capture_gif for the PR description.
Terminal guides — CLI tutorials where the screenshots must match what readers will see: capture_terminal reproduces the real prompt colors instead of a generic dark rectangle.
Security
SSRF protection is on by default — no opt-in required.
Configuration
Environment variables for the MCP server:
27 built-in Shiki themes: dracula, one-dark-pro, nord, tokyo-night, catppuccin-mocha, catppuccin-latte, ayu-dark, ayu-light, vitesse-dark, vitesse-light, min-dark, min-light, poimandres, rose-pine, rose-pine-moon, rose-pine-dawn, slack-dark, slack-ochin, snazzy-light, github-dark-dimmed, github-light, one-light, solarized-light, solarized-dark, material-theme, material-theme-lighter, material-theme-ocean
CLI
SnapMCP ships with a full CLI beyond the MCP server:
Documentation
Development
Requirements: Node.js ≥ 20 or Bun ≥ 1.2. CI runs on ubuntu / macOS / windows via GitHub Actions.
License
MIT — see LICENSE.
Source: README.md at commit 9d51c81
Tools
0Version history
1- v2.3.2LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts