SnapAPI MCP Server
snapapi-mcp
SnapAPI 用のMCP (Model Context Protocol) サーバーです。Claude Desktop、Cursor、Windsurf、Cline、ZedなどのAIツールから直接、スクリーンショットの撮影、Webページのスクレイピング、コンテンツの抽出、PDF生成、動画録画、ページ分析を行うことができます。
これは何ですか?
このパッケージは、AIアシスタントをSnapAPI WebキャプチャAPIに接続するローカルMCPサーバーを実行します。設定が完了すると、AIは以下のことが可能になります:
スクリーンショットの撮影: あらゆるURL(フルページ、モバイル、ダークモード、要素指定、デバイスエミュレーション)
Webページのスクレイピング: 本物のブラウザを使用して、クリーンなテキスト、HTML、リンクリストを取得
コンテンツの抽出: LLMでの利用に最適化された形式(Markdown、記事、メタデータ、構造化データ)
PDF生成: URLまたはHTMLからPDFを作成
動画録画: ブラウザセッションの録画(インタラクションシナリオの指定も可能)
ページ分析: AIによる分析(抽出と分析を1回の呼び出しで実行)
利用状況の確認: クォータとアカウント統計の確認
Related MCP server: Local-MCP-server
前提条件
Node.js 18以降
SnapAPI APIキー — app.snapapi.pics で取得してください
クイックスタート
Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json (macOS) または %APPDATA%\Claude\claude_desktop_config.json (Windows) に以下を追加します:
{
"mcpServers": {
"snapapi": {
"command": "npx",
"args": ["-y", "snapapi-mcp"],
"env": {
"SNAPAPI_API_KEY": "sk_live_your_key_here"
}
}
}
}保存後、Claude Desktopを再起動してください。
Cursor
~/.cursor/mcp.json に以下を追加します:
{
"mcpServers": {
"snapapi": {
"command": "npx",
"args": ["-y", "snapapi-mcp"],
"env": {
"SNAPAPI_API_KEY": "sk_live_your_key_here"
}
}
}
}Windsurf
~/.codeium/windsurf/mcp_config.json に以下を追加します:
{
"mcpServers": {
"snapapi": {
"command": "npx",
"args": ["-y", "snapapi-mcp"],
"env": {
"SNAPAPI_API_KEY": "sk_live_your_key_here"
}
}
}
}Cline (VS Code)
Clineの設定 → MCP Servers → Add Server を開きます:
Command:
npxArgs:
-y snapapi-mcpEnvironment:
SNAPAPI_API_KEY=sk_live_your_key_here
VS Code (ネイティブMCPサポート)
ワークスペース(またはユーザー設定)の .vscode/mcp.json に以下を追加します:
{
"servers": {
"snapapi": {
"command": "npx",
"args": ["-y", "snapapi-mcp"],
"env": {
"SNAPAPI_API_KEY": "sk_live_your_key_here"
}
}
}
}Zed
~/.config/zed/settings.json に以下を追加します:
{
"context_servers": {
"snapapi": {
"command": {
"path": "npx",
"args": ["-y", "snapapi-mcp"],
"env": {
"SNAPAPI_API_KEY": "sk_live_your_key_here"
}
}
}
}
}自動インストーラー
付属のヘルパースクリプトを実行します:
# For Claude Desktop
./install-mcp.sh claude
# For Cursor
./install-mcp.sh cursor
# For Windsurf
./install-mcp.sh windsurf利用可能なツール
ping
SnapAPIに到達可能か、APIキーが有効かを確認します。パラメータは不要です。
プロンプト例: "Ping SnapAPI to check it's working"
screenshot
高度なカスタマイズ機能を使用して、あらゆるURLのスクリーンショットを撮影します。
パラメータ:
パラメータ | 型 | 必須 | 説明 |
| string | * | キャプチャするURL |
| string | * | レンダリングする生のHTML (urlの代わり) |
| string | * | レンダリングするMarkdown (urlの代わり) |
| string | no |
|
| number | no | jpeg/webpの品質 1–100 (デフォルト: 80) |
| number | no | ビューポートの幅 (デフォルト: 1280) |
| number | no | ビューポートの高さ (デフォルト: 800) |
| boolean | no | スクロール可能なページ全体をキャプチャ |
| string | no | 要素キャプチャ用のCSSセレクタ |
| number | no | ページ読み込み後の待機時間(ms) |
| string | no |
|
| boolean | no | ダークカラースキーム |
| boolean | no | 広告ネットワークをブロック |
| boolean | no | クッキーバナーをブロック |
| string | no | 注入するカスタムCSS |
| string | no | 実行するカスタムJS |
| string | no | デバイスプリセット (例: |
| string[] | no | キャプチャ前に非表示にする要素 |
url,html,markdownのいずれか1つが必須です。
プロンプト例:
"Take a screenshot of https://example.com in dark mode"
"Screenshot https://github.com on an iPhone 15 Pro"
"Capture a full-page screenshot of https://news.ycombinator.com with ads blocked"
"Render this HTML as a screenshot:
<h1>Hello</h1>"
scrape
本物のブラウザを使用してWebページの内容をスクレイピングします(JavaScriptでレンダリングされたページも動作します)。
パラメータ:
パラメータ | 型 | 必須 | 説明 |
| string | yes | スクレイピングするURL |
| string | no |
|
| number | no | 辿るページ数 1–10 (デフォルト: 1) |
| number | no | ページ読み込み後の追加待機時間(ms) |
| boolean | no | 画像/メディア/フォントをブロックして高速化 |
| string | no | ブラウザのロケール (例: |
| boolean | no | レジデンシャルプロキシを使用してブロックを回避 |
プロンプト例:
"Scrape the text content from https://example.com/blog"
"Get all links from https://news.ycombinator.com"
"Scrape https://example.com/pricing as HTML"
extract
LLM向けに最適化された、クリーンで構造化されたコンテンツを抽出します。
パラメータ:
パラメータ | 型 | 必須 | 説明 |
| string | yes | 抽出元のURL |
| string | no |
|
| string | no | CSS要素に抽出範囲を限定 |
| string | no | 抽出前にCSSセレクタを待機 |
| number | no | 最大文字数 |
| boolean | no | ノイズを除去 (デフォルト: true) |
| boolean | no | 広告ネットワークをブロック |
| boolean | no | クッキーバナーをブロック |
| object | no | カスタムフィールド抽出マップ |
プロンプト例:
"Extract the article content from https://example.com/post as markdown"
"Get the metadata (title, description, OG image) from https://example.com"
"Extract price and rating from https://example.com/product"
URLまたはHTMLからPDFを生成します。
パラメータ:
パラメータ | 型 | 必須 | 説明 |
| string | * | PDFに変換するURL |
| string | * | PDFに変換するHTML (urlの代わり) |
| string | no |
|
| boolean | no | 横向き |
| boolean | no | 背景グラフィックを含める |
| number | no | スケール係数 0.1–2 |
| string | no | 上マージン (例: |
| string | no | 下マージン |
| string | no | 左マージン |
| string | no | 右マージン |
| number | no | ページ読み込み後の待機時間(ms) |
| string | no |
|
urlまたはhtmlのいずれか1つが必須です。
プロンプト例:
"Generate a PDF of https://example.com/report in landscape A4"
"Convert this HTML to a PDF with 2cm margins"
analyze
URLからコンテンツを抽出し、AIモデルで分析します(1回の呼び出しで実行)。
パラメータ:
パラメータ | 型 | 必須 | 説明 |
| string | yes | 分析するURL |
| string | yes | AIへの分析指示 |
| string | no |
|
| number | no | AIに渡すコンテンツの最大文字数 (デフォルト: 20000) |
プロンプト例:
"Analyze https://example.com/article — what are the main arguments?"
"Extract all product specs from https://example.com/product"
"What is the sentiment of this news article: https://example.com/news"
video
ブラウザセッションを動画 (WebM) として録画します。
パラメータ:
パラメータ | 型 | 必須 | 説明 |
| string | yes | 録画するURL |
| number | no | 録画時間(秒) 1–60 (デフォルト: 5) |
| number | no | ビューポートの幅 (デフォルト: 1280) |
| number | no | ビューポートの高さ (デフォルト: 800) |
| string | no | 録画中に実行するJavaScript (スクロール、クリックなど) |
| number | no | 録画開始前の待機時間(ms) |
| string | no |
|
| boolean | no | ダークカラースキーム |
| boolean | no | 広告ネットワークをブロック |
| boolean | no | クッキーバナーをブロック |
| string | no | デバイスプリセット — |
プロンプト例:
"Record a 10-second video of https://example.com scrolling down"
"Record https://example.com on an iPhone 15 Pro"
get_usage
SnapAPIのクォータと月間統計を確認します。パラメータは不要です。
プロンプト例:
"How many SnapAPI requests do I have left this month?"
"Show me my SnapAPI usage"
list_devices
スクリーンショットおよび動画エミュレーションで利用可能なすべてのデバイスプリセットを一覧表示します。パラメータは不要です。
プロンプト例: "What device presets are available for screenshots?"
環境変数
変数 | 必須 | 説明 |
| Yes | SnapAPI APIキー ( |
| No | APIベースURL (デフォルト: |
開発
# Clone the repo
git clone https://github.com/Sleywill/snapapi-mcp.git
cd snapapi-mcp
# Install dependencies
npm install
# Build
npm run build
# Run locally (reads MCP protocol from stdin)
SNAPAPI_API_KEY=sk_live_your_key node dist/index.jsトラブルシューティング
"SNAPAPI_API_KEY environment variable is required"
MCP設定の env ブロックにAPIキーが含まれていることを確認してください。sk_live_ で始まっている必要があります。
Claude Desktopでツールが表示されない 設定を保存した後、Claude Desktopを再起動してください。MCPログを確認してください:
macOS:
~/Library/Logs/Claude/mcp*.logWindows:
%APPDATA%\Claude\logs\mcp*.log
初回実行時にnpxに時間がかかる
"args": ["-y", "snapapi-mcp"] を使用してください。-y フラグはインストールプロンプトを自動的に確認します。
screenshot / scrape がエラーを返す
app.snapapi.pics/dashboard でAPIキーが有効か確認してください
get_usageツールで残りのクォータを確認してくださいJavaScriptを多用するページの場合は、
"waitUntil": "networkidle"と"delay"値の追加を試してください
analyze ツールがエラーを返す
analyzeエンドポイントは、SnapAPIバックエンドでのAnthropic APIクレジットを必要とします。フォールバックとして extract ツールを使用してページコンテンツを取得し、ご自身で分析してください。
ライセンス
MIT
Available Tools
9 toolsanalyzeA
Extract content from a URL and analyze it with an AI model. Returns AI-generated insights, summaries, sentiment, or custom analysis based on your prompt. Combines web extraction with LLM analysis in one call.
Inputs: url (required), prompt (required), extractType, maxLength.
extractA
Extract clean, structured content from a URL. Returns Markdown, plain text, article data (via Mozilla Readability), OG metadata, links, images, or custom structured fields. Optimized for feeding web content to LLMs without HTML noise.
Inputs: url (required), type, selector, waitFor, +6 more.
get_usageA
Check your SnapAPI account usage, quota, and plan details for the current billing period. Shows requests used vs. limit, remaining quota, and monthly statistics.
Inputs: no named parameters.
list_devicesA
List all available device presets for screenshot and video emulation. Each preset sets the correct viewport, device scale factor, and mobile flag (phones, tablets, desktops). Pass the device id to the screenshot or video tool.
Inputs: no named parameters.
pdfB
Generate a PDF from a URL or HTML content. Supports page sizes, margins, landscape orientation, background graphics, and custom scaling.
Inputs: url, html, pdfOptions, width, +3 more.
pingA
Check that the SnapAPI service is reachable and the API key is valid. Returns the API status and current server time. Use this to verify your configuration before making other calls.
Inputs: no named parameters.
scrapeA
Scrape a URL using a real browser and return page content as plain text (Markdown), raw HTML, or a list of links. Works on JavaScript-rendered pages.
Inputs: url (required), type, pages, waitMs, +3 more.
screenshotA
Take a screenshot of a URL or render HTML/Markdown and return the image. Supports full-page capture, device emulation, dark mode, element selection, custom CSS/JS injection, ad/cookie-banner blocking, and more.
Inputs: url, html, markdown, format, +14 more.
videoA
Record a browser session as a video (WebM). Optionally runs a JavaScript scenario (clicks, scrolls, form fills) before and during recording. Returns a URL to download the recorded video.
Inputs: url (required), width, height, duration, +7 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 9 tools
Most tools are clearly distinct by output type (image, PDF, video, usage, devices), but scrape and extract overlap significantly—both return Markdown, plain text, and links from a URL. Descriptions help differentiate raw scraping from structured extraction, but an agent could still be uncertain which to choose.
Names are all lowercase and readable, but conventions are mixed: some are verb+object (get_usage, list_devices), some are bare verbs (scrape, extract, analyze, ping), and some are noun-like action commands (pdf, video, screenshot). There is no consistent verb_noun pattern, though the naming is still predictable enough to navigate.
Nine tools is a well-scoped set for a browser automation and web content API. Each tool covers a distinct core capability or supporting function, with no obvious bloat or redundancy that would make the surface feel heavy.
The tool surface covers the advertised SnapAPI capabilities thoroughly: scraping, structured extraction, screenshots, PDFs, video recording, AI analysis, device presets, usage checks, and connectivity verification. There are no obvious dead ends or missing core operations for this stateless, action-oriented API.
Maintenance
Related MCP Connectors
SnapRender gives AI agents eyes on the web through a hosted MCP server. Send a public URL and get the page back as an image, a PDF or clean markdown, with no browser to run or maintain. Capture the viewport or the full page as PNG, JPEG, WebP or PDF, at desktop size or with a phone, tablet or laptop preset, in light or dark mode. Ads and cookie banners are removed by default, and you can hide elements or click one before the capture. extract_content reads the same page as markdown, text, article, links or metadata, so an agent can see a page and read it in one session. Made for monitoring and client work: batch up to 50 URLs in one job, check the cache for free before spending a capture, share signed links that render without an API key, and get webhooks when a batch finishes or a scheduled capture spots a change. Track competitors' pricing and landing pages, or send clients current screenshots of their sites. Connect with OAuth (Google, GitHub or email) or an API key. Works with Claude, ChatGPT, Cursor, VS Code and any MCP client. Free plan: 200 screenshots a month, no credit card. Paid plans from $9 a month for 2,000 up to $199 a month for 200,000. Home: https://snap-render.com Docs: https://snap-render.com/ai-agents
Screenshots, PDFs and Markdown from any URL or HTML for AI agents, via the SnapForge API
Web scraping, browser automation, screenshots and AI data extraction for AI agents via MCP.
Official Browserless MCP server: browser automation, scraping, screenshots and PDFs for AI agents.
Related MCP Servers
- FlicenseAqualityDmaintenanceA lightweight Model Context Protocol (MCP) server that enables your LLM to capture screenshots of any specified URL and return only the access URL for the captured image. This tool simplifies the process of generating and sharing webpage snapshots, making it perfect for integrating visual capture ca12-
- FlicenseNot gradedqualityDmaintenanceEnables tool-calling LLMs to search the internet, capture website images, extract webpage text, and more via a local MCP server.16-
- FlicenseNot gradedqualityDmaintenanceScreenshot & Render API for AI Agents. MCP Server lets Claude, Cursor capture webpages and render HTML. Direct access, no VPN needed.-
- AlicenseNot gradedqualityDmaintenanceScreenshot and HTML Rendering MCP Server for AI Agents. Capture screenshots, render HTML to images, and generate PDFs via simple API calls. Compatible with Claude, Cursor, and any MCP client.1MIT