SuperAPI AI Directory

snapshot-site-mcp

Capture any URL as PNG, JPEG, WebP, PDF or HTML, diff page versions to catch visual regressions, and get AI page summaries.

Open website

About this tool

Purpose Snapshot Site MCP is the official MCP server for the Snapshot Site API, designed to enable Claude, ChatGPT, and other MCP clients to capture, compare, and analyze any web page. Users can call this server directly within an MCP client to complete tasks such as taking web page screenshots, comparing page versions (to detect visual regressions), and obtaining AI page summaries.

Key capabilities

  • Web page capture: Capture any URL as PNG, JPEG, WebP, PDF, or HTML.
  • Page version comparison: Compare different page versions to detect visual regressions.
  • AI page summary: Obtain AI-generated page summaries.
  • Tool annotations: These tools are annotated for MCP clients and include richer titles, classification metadata, and example intents, which helps improve tool selection in Claude Desktop and Cursor.

Two connection methods

  1. Hosted mode (using OAuth): Point the MCP client to https://mcp.snapshot-site.com/mcp and sign in. There is no need to run a local process, and no API key is required in the client configuration; the server resolves the user account based on the OAuth session.
  2. Local mode (using an API key): Run the package yourself via stdio and provide SNAPSHOT_SITE_API_KEY. The server will call the Snapshot Site API directly. Regardless of which method is used, calls count toward the same plan quota as direct API calls; calls made via MCP are not metered separately.

How to use (local stdio mode) The hosted server does not require credentials—after signing in via OAuth, the server resolves the account from the session. If using local stdio mode, a Snapshot Site API key is required:

  1. Register a Snapshot Site Console account.
  2. Create an API key on the API Keys page.
  3. Pass the key to the server as the SNAPSHOT_SITE_API_KEY environment variable.
  4. Unless pointing to a self-hosted or staging instance, keep SNAPSHOT_SITE_BASE_URL at its default value (https://api.prod.ss.snapshot-site.com)。

Runtime Requirements and Test Status Requires Node.js 20.9 or higher. Built on @modelcontextprotocol/sdk v1.28, it has been tested with stdio on Claude Desktop and Cursor, and can be used with any client that supports the streamable HTTP transport against a hosted endpoint.

OAuth Discovery Flow When a client connects to the hosted server, the server first validates the token based on the issuer and resolves the account to which the token belongs before running tools.

About client_id client_id is only needed during the authorization step. If the client cannot discover the client_id in advance, it must be entered manually in the connector UI; once the OAuth flow has started, it can no longer be injected. The server can publish an experimental implicit mode by exposing preferred_client_id in /.well-known/oauth-protected-resource. Clients that read this metadata may be able to skip manual entry; clients that ignore this field will still need to provide client_id manually.

Remote HTTP Mode This package also supports hosted MCP endpoints for clients using mcp-remote. An HTTP server can be started and configured via environment variables. Remote client configuration can use a direct API key header. The hosted server is stateless, and each request is authenticated via x-snapshotsiteapi-key, so it can safely run across multiple replicas without session affinity.

Zitadel / OAuth The remote HTTP server also supports OAuth bearer tokens validated against an OIDC issuer (such as Zitadel). In bearer token mode, the MCP server validates the incoming access token against the issuer's JWKS, then uses the server-side Snapshot Site API key to call the backend API. It also exposes and proxies the relevant endpoints so that MCP clients can automatically discover authorization server metadata. When OIDC_DISCOVERY_CLIENT_ID is set, this information is also included in the protected resource metadata, which is an experimental compatibility hint for clients that can automatically infer OAuth public clients; manually entering client_id remains a reliable fallback.

registration_endpoint Compatibility Shim The MCP server also exposes a lightweight registration_endpoint compatibility shim. This shim currently returns a preconfigured public PKCE client instead of provisioning a brand-new Zitadel client for each installation. As long as the redirect_uris requested by the client are valid HTTPS URLs, it will validate and reflect those addresses. This is intended to improve compatibility with clients expecting DCR-style discovery while retaining the existing manual flow as a fallback.

Use Cases Suitable for users who need web screenshot capture, page visual regression comparison, and quick retrieval of page summaries in AI conversations or MCP client workflows. Users can first preview captures and their parameters in the Screenshot console playground, then connect them to tool calls, which is useful when unsure which options to use.

Limitations The materials do not provide a complete list of tools, details of each parameter, specific pricing and plan contents, rate limits, the maximum number of supported pages, or specific limitations such as screenshot dimensions; these are not provided for now.