mcpField
S
Snapshot Site

Snapshot Site

リモート
snapshot-site.com開発ツール113 週間前に更新
リポジトリ公式サイト

Snapshot Site について

Snapshot Site MCPは、スクリーンショット、分析、比較のためにAIクライアントをSnapshot Site APIへ接続します。開発者はホスト型OAuthエンドポイントを使うか、APIキーを指定してサーバーをローカル実行し、ページ画像や視覚差分を確認できます。

主な機能

  1. 01ページのスクリーンショットを取得
  2. 02取得したページを分析
  3. 03ページのバージョンを比較
  4. 04ホスト型OAuthまたはローカルstdioで接続

活用シーン

  1. 01視覚確認用にページをキャプチャ
  2. 02スクリーンショットを分析
  3. 03ページのバージョン間の視覚差分を確認

MCP 対応

MCPクライアントに `screenshot`、`analyze`、`compare` ツールを公開します。ホスト型OAuthエンドポイントと、Snapshot Site APIキーを使うローカルstdioモードに対応します。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://mcp.snapshot-site.com/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

パッケージ
npm@snapshot-site/mcp0.1.5

ツール

詳細

Snapshot Site MCP

npm Node License CI

Snapshot Site API の公式 MCP サーバー

ツール

  • screenshot
  • analyze
  • compare

これらのツールは、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 キーが必要です。

  1. Snapshot Site Console アカウントに登録します。

  2. API Keys ページで API キーを作成します。

    Snapshot Site Console — API キー

  3. SNAPSHOT_SITE_API_KEY 環境変数として、キーをサーバーに渡します。

  4. セルフホスト型またはステージング環境を使用する場合を除き、SNAPSHOT_SITE_BASE_URL はデフォルト(https://api.prod.ss.snapshot-site.com)のままにします。

互換性

Node.js 20.9 以降が必要です。@modelcontextprotocol/sdk v1.28 を基盤として構築され、 stdio 経由で Claude Desktop と Cursor を使ってテスト済みです。また、ホスト型エンドポイントに対して ストリーム可能な HTTP トランスポートを使用するクライアントにも対応しています。

使用方法

どのオプションを使えばよいかわからない場合は、ツール呼び出しに組み込む前に、 スクリーンショット コンソールのプレイグラウンドで キャプチャとパラメーターをプレビューしてください。

Snapshot Site Console — スクリーンショットのプレイグラウンド

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 形式の検出を想定するクライアントとの互換性向上を目的としています。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。