Snapshot Site について
Snapshot Site MCPは、スクリーンショット、分析、比較のためにAIクライアントをSnapshot Site APIへ接続します。開発者はホスト型OAuthエンドポイントを使うか、APIキーを指定してサーバーをローカル実行し、ページ画像や視覚差分を確認できます。
主な機能
- 01ページのスクリーンショットを取得
- 02取得したページを分析
- 03ページのバージョンを比較
- 04ホスト型OAuthまたはローカルstdioで接続
活用シーン
- 01視覚確認用にページをキャプチャ
- 02スクリーンショットを分析
- 03ページのバージョン間の視覚差分を確認
MCP 対応
MCPクライアントに `screenshot`、`analyze`、`compare` ツールを公開します。ホスト型OAuthエンドポイントと、Snapshot Site APIキーを使うローカルstdioモードに対応します。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://mcp.snapshot-site.com/mcpclaude mcp add --transport http com-snapshot-site-screenshots https://mcp.snapshot-site.com/mcp{"mcpServers":{"com-snapshot-site-screenshots":{"type":"http","url":"https://mcp.snapshot-site.com/mcp"}}}Cursor で開く{"servers":{"com-snapshot-site-screenshots":{"type":"http","url":"https://mcp.snapshot-site.com/mcp"}}}VS Code で開く{"mcpServers":{"com-snapshot-site-screenshots":{"type":"http","url":"https://mcp.snapshot-site.com/mcp"}}}{"mcpServers":{"com-snapshot-site-screenshots":{"serverUrl":"https://mcp.snapshot-site.com/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
Snapshot Site MCP
Snapshot Site API の公式 MCP サーバー
ツール
screenshotanalyzecompare
これらのツールは、MCP クライアント向けに次のように注釈されています。
- 読み取り専用
- 冪等
- オープンワールド
また、Claude Desktop と Cursor でのツール選択を改善するため、より詳しいタイトル、カテゴリのメタデータ、使用例のインテントも含まれています。
接続方法は 2 通り
ホスト型、OAuth を使用 — クライアントの接続先に https://mcp.snapshot-site.com/mcp
を指定して、サインインします。ローカルでプロセスを実行する必要はなく、クライアントの
設定に API キーを指定する必要もありません。サーバーは OAuth セッションから
アカウントを特定します。
ローカル、API キーを使用 — パッケージを stdio 経由で実行し、
SNAPSHOT_SITE_API_KEY を指定します。サーバーは Snapshot Site API を直接呼び出します。
どちらの方法でも、呼び出しは直接の API 呼び出しと同じプランの使用量上限に 算入されます。MCP 経由であることを理由に、異なる方法で使用量が計測されることはありません。
認証情報
ホスト型サーバーには認証情報は不要です。OAuth でサインインすると、サーバーは セッションからアカウントを特定します。サーバーを stdio 経由で自分で実行する場合を除き、 このセクションは読み飛ばしてください。
ローカルの stdio モードでは、Snapshot Site API キーが必要です。
-
Snapshot Site Console アカウントに登録します。
-
API Keys ページで API キーを作成します。

-
SNAPSHOT_SITE_API_KEY環境変数として、キーをサーバーに渡します。 -
セルフホスト型またはステージング環境を使用する場合を除き、
SNAPSHOT_SITE_BASE_URLはデフォルト(https://api.prod.ss.snapshot-site.com)のままにします。
互換性
Node.js 20.9 以降が必要です。@modelcontextprotocol/sdk v1.28 を基盤として構築され、
stdio 経由で Claude Desktop と Cursor を使ってテスト済みです。また、ホスト型エンドポイントに対して
ストリーム可能な HTTP トランスポートを使用するクライアントにも対応しています。
使用方法
どのオプションを使えばよいかわからない場合は、ツール呼び出しに組み込む前に、 スクリーンショット コンソールのプレイグラウンドで キャプチャとパラメーターをプレビューしてください。

OAuth ディスカバリーフロー
ホスト型サーバーへの接続時にクライアントが行う処理:
1. Discovery
Claude
-> GET https://mcp.snapshot-site.com/.well-known/oauth-protected-resource
MCP
-> responds:
authorization_servers = https://mcp.snapshot-site.com
2. Authorization
Claude
-> must know client_id
-> opens:
https://mcp.snapshot-site.com/oauth/v2/authorize
?client_id=...
&redirect_uri=https://claude.ai/api/mcp/auth_callback
&response_type=code
&code_challenge=...
3. Token
Claude
-> receives an access token
-> calls the MCP server:
POST https://mcp.snapshot-site.com/
Authorization: Bearer <access_token>
その後、サーバーはツールを実行する前に、トークンを発行者に対して検証し、 トークンが属するアカウントを特定します。
デプロイの検証
curl -s https://mcp.snapshot-site.com/.well-known/oauth-protected-resource | jq
curl -s https://mcp.snapshot-site.com/.well-known/openid-configuration | jq
curl -i https://mcp.snapshot-site.com/
curl -i -X POST https://mcp.snapshot-site.com/mcp -H 'content-type: application/json' --data '{}'
手動と暗黙の client_id
client_idが必要なのは認証ステップのみです。- クライアントが事前にその
client_idを検出できない場合は、コネクターの UI で手動入力してください。 - OAuth フローの開始後に
client_idを追加することはできません。 - サーバーは
/.well-known/oauth-protected-resourceでpreferred_client_idを公開することにより、実験的な暗黙モードを提供できます。 - このメタデータを読み取るクライアントは、手動入力を省略できる場合があります。このフィールドを無視するクライアントでは、引き続き
client_idの手動入力が必要です。
環境
export SNAPSHOT_SITE_API_KEY=ss_live_xxx
export SNAPSHOT_SITE_BASE_URL=https://api.prod.ss.snapshot-site.com
ビルド
pnpm install
pnpm run build
ローカル stdio モード
export SNAPSHOT_SITE_API_KEY=ss_live_xxx
snapshot-site-mcp
Claude Desktop の設定
{
"mcpServers": {
"snapshot-site": {
"command": "node",
"args": ["/absolute/path/to/snapshot-site-mcp/build/server.js"],
"env": {
"SNAPSHOT_SITE_API_KEY": "ss_live_xxx",
"SNAPSHOT_SITE_BASE_URL": "https://api.prod.ss.snapshot-site.com"
}
}
}
}
Cursor の設定
{
"mcpServers": {
"snapshot-site": {
"command": "node",
"args": ["/absolute/path/to/snapshot-site-mcp/build/server.js"],
"env": {
"SNAPSHOT_SITE_API_KEY": "ss_live_xxx"
}
}
}
}
リモート HTTP モード
このパッケージは、mcp-remote を使用するクライアント向けに、ホストされた MCP エンドポイントもサポートしています。
HTTP サーバーを起動します。
pnpm start:http
または:
npx snapshot-site-mcp-http
環境変数:
export PORT=3000
export HOST=0.0.0.0
export MCP_PATH=/mcp
export HEALTH_PATH=/healthz
export MCP_ALLOWED_HOSTS=mcp.snapshot-site.com
export SNAPSHOT_SITE_BASE_URL=https://api.prod.ss.snapshot-site.com
API キーヘッダーを直接指定するリモートクライアントの設定:
{
"mcpServers": {
"Snapshot Site MCP": {
"command": "npx",
"args": [
"mcp-remote",
"https://mcp.snapshot-site.com/mcp",
"--header",
"x-snapshotsiteapi-key: ss_live_xxx"
]
}
}
}
ホストされたサーバーはステートレスです。各リクエストは x-snapshotsiteapi-key で認証されるため、セッションアフィニティなしで複数のレプリカ上で安全にサービスを実行できます。
Zitadel / OAuth
リモート HTTP サーバーは、Zitadel などの OIDC 発行者に対して検証される OAuth ベアラートークンもサポートしています。
環境変数:
export OIDC_ISSUER_URL=https://auth.snapshot-site.com
export OIDC_AUDIENCE=snapshot-site-mcp
export OIDC_REQUIRED_SCOPE=claudeai
export OIDC_DISCOVERY_CLIENT_ID=366546620977775166
export RESOURCE_SERVER_URL=https://mcp.snapshot-site.com
export ALLOW_API_KEY_AUTH=false
export SNAPSHOT_SITE_API_KEY=ss_server_side_xxx
ベアラートークンモードでは、MCP サーバーは受信したアクセストークンを発行者の JWKS に対して検証し、その後、サーバー側の Snapshot Site API キーを使用してバックエンド API を呼び出します。
また、次のエンドポイントを公開し、プロキシします。
GET /.well-known/oauth-protected-resource
GET /.well-known/openid-configuration
GET/POST /oauth/v2/*
GET /ui/*
GET/POST /oauth/register
これにより、MCP クライアントは認可サーバーのメタデータを自動的に検出できます。
OIDC_DISCOVERY_CLIENT_ID が設定されている場合、保護対象リソースのメタデータには次の情報も含まれます。
{
"resource_name": "Snapshot Site MCP",
"preferred_client_id": "366546620977775166",
"oauth_client_metadata": {
"client_id": "366546620977775166",
"token_endpoint_auth_method": "none"
}
}
これは、OAuth の公開クライアントを自動的に推測できるクライアント向けの、実験的な互換性ヒントです。確実な代替手段として、引き続き client_id を手動で入力できます。
MCP サーバーは、次の場所に軽量な registration_endpoint 互換シムも公開します。
POST https://mcp.snapshot-site.com/oauth/register
このシムは現在、インストールごとに新しい Zitadel クライアントをプロビジョニングするのではなく、事前設定済みの公開 PKCE クライアントを返します。クライアントから要求された redirect_uris が有効な HTTPS URL であれば、それらを検証して反映します。既存の手動フローを代替手段として維持しながら、DCR 形式の検出を想定するクライアントとの互換性向上を目的としています。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。