snapmcp
実際のターミナル色、Shikiでハイライトされたコード、視覚的な差分、PDF、GIF — 1つのMCPサーバーに13のツール、重い依存関係はゼロ。SSRF保護はデフォルトで有効。ブラウザを操作するだけでなく、ドキュメントを書くエージェントのために作られています。
クイックスタート
3つのステップ、2分以内:
1. インストール
npm install -g snapmcp
# or run without installing: npx -y snapmcp2. Claude Codeに追加(~/.claude/claude.json)
{
"mcpServers": {
"snapmcp": {
"command": "npx",
"args": ["-y", "snapmcp"],
"env": {
"SNAPMCP_DIR": "./captures",
"SNAPMCP_THEME": "nord"
}
}
}
}3. キャプチャ
エージェントに自然言語で依頼します:
「
git log --oneline -5のターミナルスクリーンショットと、src/index.tsのシンタックスハイライト付きPNGをキャプチャしてください。」
エージェントが capture_terminal と capture_file を呼び出し、実際のターミナルテーマと選択したシンタックステーマが適用された画像が ./captures/ に保存されます。
OpenCode(opencode.json):
{
"mcpServers": {
"snapmcp": {
"command": "npx",
"args": ["-y", "snapmcp"],
"env": {
"SNAPMCP_DIR": "./captures",
"SNAPMCP_FORMAT": "jpeg",
"SNAPMCP_QUALITY": "95"
}
}
}
}VS Code / Cline / Roo-Cline(settings.json → cline.mcpServers):
{
"mcpServers": {
"snapmcp": {
"command": "npx",
"args": ["-y", "snapmcp"],
"env": {
"SNAPMCP_DIR": "./captures",
"SNAPMCP_FORMAT": "jpeg"
}
}
}
}Docker:
docker run -i --rm \
-e SNAPMCP_DIR=/captures \
-e SNAPMCP_THEME=nord \
-v /path/to/output:/captures \
ghcr.io/reeinharddd/snapmcpRelated MCP server: @tscafejr/mcp
実際の見た目
snapmcpが生成した実際のスクリーンショット:
キャプチャ | プレビュー |
ターミナル(実際に検出された色) | |
コード(Shikiシンタックス) | |
差分(緑/赤) | |
Markdownレンダリング |
snapmcp vs Playwright MCP:どちらを使うべきか
それぞれ異なる用途に適したツールです。Playwright MCPはトークン効率の高いアクセシビリティスナップショットを通じてブラウザを操作します。snapmcpは人間が読むためのピクセル忠実な画像をレンダリングします。エージェントがクリックする必要があるならPlaywrightを、見せる必要があるならsnapmcpを使いましょう。
ユースケース | snapmcp | Playwright MCP |
実色でのターミナルキャプチャ | ✅ Kitty、Gnome、Alacritty、WezTermのテーマを自動検出 | ❌ ターミナル非対応 |
コード → シンタックスハイライト画像 | ✅ Shiki、50以上の言語、27テーマ | ❌ その目的ではない |
Git差分 → 視覚的な赤/緑画像 | ✅ | ❌ |
URL → PDFドキュメント | ✅ | ❌ |
キャプチャからのアニメーションGIF | ✅ | ❌ |
Markdown → スタイル付きドキュメント | ✅ | ❌ |
ブラウザページのスクリーンショット | ✅ | ✅ |
ブラウザの自動操作(クリック、入力、移動) | ❌ スクリーンショットのみ | ✅ アクセシビリティツリー駆動、トークン効率が高い — この用途に最適のツール |
ほとんどのドキュメントパイプラインでは、この2つを組み合わせて使います:操作にはPlaywright MCP、記録にはsnapmcp。
ツール
ツール | 説明 |
| シンタックスカラーのプロンプト付きターミナル出力(実際のターミナルテーマを自動検出) |
| Shikiによるシンタックスハイライト済みコード(50以上の言語、27テーマ) |
| フルページまたはビューポートのスクリーンショット(利用可能な場合はシステムのChromeプロファイルを使用) |
| ファイル → 言語を自動検出 → ハイライト付きスクリーンショット |
| レンダリングされたMarkdownをスタイル付きドキュメントとして出力 |
| 任意のHTMLスニペットを画像としてレンダリング |
| 緑の追加/赤の削除で表示するGit差分 |
| URL → PDFドキュメント |
| 1回の呼び出しで複数項目を一括キャプチャ |
| 複数のスクリーンショットからアニメーションGIFを生成 |
| 横並びのアニメーションシーケンス |
| 複数セクションのMarkdownドキュメントをレンダリング |
| MCPクライアント向けのサーバー機能ヒント |
ユースケース
ドキュメント自動生成 — エージェントがセットアップガイドを作成し、実際のキャプチャを埋め込みます:インストールコマンドのターミナル出力(実際のテーマ適用済み)、シンタックスハイライトされた設定ファイル、マイグレーションの差分。1つのプロンプトで3回のcapture_*呼び出し、画像はマークダウンの隣に保存されます。
ビジュアルQA — UI変更後、エージェントがcapture_browserで影響を受けたページをキャプチャし、capture_batchで変更前/変更後をまとめて取得し、capture_gifでPR説明用のアニメーション比較を作成します。
ターミナルガイド — スクリーンショットが読者の実際の見た目と一致する必要があるCLIチュートリアル:capture_terminalは一般的な暗い四角形ではなく、実際のプロンプトの色を再現します。
セキュリティ
SSRF保護はデフォルトで有効です — オプトインは不要です。
機能 | 説明 |
SSRF保護 | デフォルトで有効( |
ファイル許可リスト |
|
パストラバーサル |
|
入力制限 | ターミナル1000行、コード/Markdown/HTML 200KB、差分500KB、ファイル読み取り5MB、GIF最大60フレーム、GIFキャンバス最大8192×8192 |
監査ログ | タイムスタンプ付きイベントを含む構造化JSONログファイル(任意) |
Chromiumサンドボックス | 起動時にサンドボックスの利用可否をチェック |
設定
MCPサーバーの環境変数:
変数 | デフォルト | 説明 |
|
| キャプチャの出力ディレクトリ |
| 自動検出 | 構文テーマ(27の組み込みテーマ+自動検出されたターミナル) |
|
| 出力形式( |
|
| JPEG品質(1〜100) |
|
| コンテンツのパディング(ピクセル単位) |
|
| ドロップシャドウ( |
|
| macOSスタイルのタイトルバーフレーム |
|
| ウィンドウの角の半径 |
|
| フッターバッジ |
| — | 監査ログファイルのパス |
| — | Chrome/Chromiumバイナリへのパス |
| — | Chromeチャンネル( |
| — | Chromeプロファイルのディレクトリ名 |
| (すべて拒否) |
|
27の組み込みShikiテーマ: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にはMCPサーバーに加えて、完全なCLIが同梱されています:
snapmcp — Start the MCP server
snapmcp init — Interactive setup wizard (detects Chrome, terminal theme, output dir)
snapmcp doctor — Health check: 7 checks across Node, Chromium, paths, env
snapmcp test — Generate test captures (terminal + code) to verify the setupドキュメント
ページ | 内容 |
インストール、クイックスタート、MCPクライアントのセットアップ | |
全13ツールのパラメータと例 | |
すべてのSNAPMCP_*環境変数、テーマ、デフォルト値 | |
init、doctor、testコマンド | |
ターミナルキャプチャ、ブラウザキャプチャ、GIFアニメーション | |
モジュールマップ、データフロー、セキュリティアーキテクチャ | |
開発ワークフロー、テストガイドライン、PRチェックリスト |
開発
git clone https://github.com/reeinharddd/snapmcp
cd snapmcp
bun install
bun run build # tsc → dist/
bun test # 317 tests要件:Node.js ≥ 20またはBun ≥ 1.2。CIはGitHub Actions経由でubuntu / macOS / windows上で実行されます。
ライセンス
MIT — LICENSEを参照してください。
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityAmaintenanceA self-hosted MCP server that fetches live documentation and performs code audits using real-time authoritative references to prevent AI hallucinations. It provides tools for searching documentation across 330+ libraries and scanning local source code for security, performance, and accessibility issues.146015Elastic 2.0
- AlicenseBqualityDmaintenanceA collection of MCP servers distributed as a single npm package, including mcp-visualizer which uses Puppeteer for screenshots, typing, and network/console diagnostics on any web framework.320MIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server that fixes, validates, and generates visual text content for AI coding assistants.MIT
- AlicenseBqualityBmaintenanceMCP server providing 26 visual tools for text-only LLMs, enabling description, coordinate location, OCR, annotation, cropping/zooming, anomaly scanning, and computer control with switchable VLM backends.278MIT
Related MCP Connectors
MCP server for doc2mcp documentation, generated by doc2mcp.
A MCP server built for developers enabling Git based project management with project and personal…
Augments MCP Server - A comprehensive framework documentation provider for Claude Code
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/reeinharddd/snapmcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server