Screenshots By Snapshot Site
Dale ojos a tu agente: captura capturas de pantalla, detecta cambios visuales entre dos versiones de una página y analiza páginas con IA. Alojado, OAuth, plan gratuito.
Documentación
Servidor MCP de Snapshot Site
Servidor MCP oficial para la API de Snapshot Site
Herramientas
screenshotanalyzecompare
Estas herramientas están anotadas para clientes MCP como:
- solo lectura
- idempotentes
- mundo abierto
También incluyen títulos más descriptivos, metadatos de categoría e intenciones de ejemplo para mejorar la selección de herramientas en Claude Desktop y Cursor.
Dos formas de conectarse
Alojado, con OAuth — apunta tu cliente a https://mcp.snapshot-site.com/mcp
e inicia sesión. No hay ningún proceso local que ejecutar ni clave API en la
configuración de tu cliente; el servidor resuelve tu cuenta desde la sesión OAuth.
Local, con una clave API — ejecuta el paquete tú mismo a través de stdio y proporciona
SNAPSHOT_SITE_API_KEY. El servidor llama a la API de Snapshot Site directamente.
En cualquier caso, las llamadas cuentan contra la misma cuota del plan que las llamadas directas a la API. Nada se mide de forma diferente por haber pasado por MCP.
Credenciales
El servidor alojado no necesita credenciales — inicias sesión a través de OAuth y el servidor resuelve tu cuenta desde la sesión. Omite esta sección a menos que ejecutes el servidor tú mismo a través de stdio.
Para el modo local stdio necesitas una clave API de Snapshot Site.
-
Regístrate para obtener una cuenta en Consola de Snapshot Site.
-
Crea una clave API en la página Claves API.

-
Pasa la clave al servidor como variable de entorno
SNAPSHOT_SITE_API_KEY. -
Deja
SNAPSHOT_SITE_BASE_URLen su valor predeterminado (https://api.prod.ss.snapshot-site.com) a menos que estés apuntando a una instancia autoalojada o de prueba.
Compatibilidad
Requiere Node.js 20.9 o posterior. Compilado contra @modelcontextprotocol/sdk v1.28
y probado con Claude Desktop y Cursor a través de stdio, y con cualquier cliente que
hable el transporte HTTP transmisible contra el endpoint alojado.
Uso
¿No estás seguro de qué opciones usar? Previsualiza una captura y sus parámetros en el playground de la consola de Screenshot antes de conectarlos a una llamada de herramienta.

Flujo de descubrimiento OAuth
Lo que hace un cliente al conectarse al servidor alojado:
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>
El servidor entonces valida el token contra el emisor y resuelve la cuenta a la que pertenece antes de ejecutar la herramienta.
Verificación del despliegue
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 manual vs implícito
- El
client_idsolo se necesita para el paso de autorización. - Si tu cliente no puede descubrir ese
client_idde antemano, introdúcelo manualmente en la interfaz del conector. - No se puede inyectar más tarde una vez que el flujo OAuth ha comenzado.
- El servidor puede publicar un modo implícito experimental exponiendo un
preferred_client_iden/.well-known/oauth-protected-resource. - Los clientes que lean estos metadatos pueden omitir la entrada manual. Los clientes que ignoren el campo aún requieren un
client_idmanual.
Entorno
export SNAPSHOT_SITE_API_KEY=ss_live_xxx
export SNAPSHOT_SITE_BASE_URL=https://api.prod.ss.snapshot-site.com
Compilación
pnpm install
pnpm run build
Modo local stdio
export SNAPSHOT_SITE_API_KEY=ss_live_xxx
snapshot-site-mcp
Configuración de 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"
}
}
}
}
Configuración de Cursor
{
"mcpServers": {
"snapshot-site": {
"command": "node",
"args": ["/absolute/path/to/snapshot-site-mcp/build/server.js"],
"env": {
"SNAPSHOT_SITE_API_KEY": "ss_live_xxx"
}
}
}
}
Modo HTTP remoto
Este paquete también admite un endpoint MCP alojado para clientes que usan mcp-remote.
Inicia el servidor HTTP:
pnpm start:http
o:
npx snapshot-site-mcp-http
Variables de entorno:
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
Configuración de cliente remoto con encabezado de clave API directa:
{
"mcpServers": {
"Snapshot Site MCP": {
"command": "npx",
"args": [
"mcp-remote",
"https://mcp.snapshot-site.com/mcp",
"--header",
"x-snapshotsiteapi-key: ss_live_xxx"
]
}
}
}
El servidor alojado no tiene estado. Cada solicitud se autentica con x-snapshotsiteapi-key, lo que hace que el servicio sea seguro para ejecutar en múltiples réplicas sin afinidad de sesión.
Zitadel / OAuth
El servidor HTTP remoto también admite tokens de portador OAuth validados contra un emisor OIDC como Zitadel.
Variables de entorno:
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
En modo token de portador, el servidor MCP valida el token de acceso entrante contra el JWKS del emisor y luego usa la clave API de Snapshot Site del lado del servidor para llamar a la API backend.
También expone y actúa como proxy de:
GET /.well-known/oauth-protected-resource
GET /.well-known/openid-configuration
GET/POST /oauth/v2/*
GET /ui/*
GET/POST /oauth/register
para que los clientes MCP puedan descubrir automáticamente los metadatos del servidor de autorización.
Cuando OIDC_DISCOVERY_CLIENT_ID está configurado, los metadatos del recurso protegido también incluyen:
{
"resource_name": "Snapshot Site MCP",
"preferred_client_id": "366546620977775166",
"oauth_client_metadata": {
"client_id": "366546620977775166",
"token_endpoint_auth_method": "none"
}
}
Esta es una pista de compatibilidad experimental para clientes que pueden inferir el cliente público OAuth automáticamente. La entrada manual de client_id sigue siendo la alternativa confiable.
El servidor MCP también expone un shim de compatibilidad ligero de registration_endpoint en:
POST https://mcp.snapshot-site.com/oauth/register
Este shim actualmente devuelve el cliente PKCE público preconfigurado en lugar de aprovisionar un nuevo cliente Zitadel por instalación. Valida y refleja el redirect_uris solicitado por el cliente, siempre que sean URLs HTTPS válidas. Está destinado a mejorar la compatibilidad con clientes que esperan descubrimiento estilo DCR, manteniendo el flujo manual existente como alternativa.