Saltar al contenido

Código abierto · autoalojado · servidor MCP remoto

Muchas bandejas de Gmail, un solo conector de Claude.

Surfski permite a Claude buscar, leer y redactar correos en varios buzones de Gmail y Google Workspace. Añades un conector, vinculas tantas bandejas como quieras y cada usuario solo ve las suyas.

Funciona con Claude en la web, en el escritorio y en el móvil, y con cualquier cliente MCP compatible con Streamable HTTP con OAuth.

«Busca cualquier cosa de Acme en todas mis bandejas de este mes».

search_all_accounts(query="from:acme newer_than:30d")

  • workFactura n.º 4821 — octubreAcme Billing18 oct.
  • personalTu pedido ha sido enviadoAcme Store15 oct.
  • supportRe: reembolso de la factura n.º 4790[email protected]12 oct.
Ilustración. Tres buzones, una sola búsqueda.

Cómo funciona

Dos inicios de sesión de Google separados mantienen aparte dos preguntas: qué usuario de Claude hace la petición y qué buzones ha autorizado ese usuario. Ambos usan el mismo cliente OAuth en tu propio proyecto de Google Cloud.

  1. 1Capa A · Quién eres

    Añade Surfski a Claude una vez

    Añade tu servidor como conector personalizado e inicia sesión con Google. Surfski solo comprueba quién eres frente a su lista de permitidos. Nunca ve tu contraseña.

    Permisos: openid, email

  2. 2Capa B · Qué buzones

    Vincula cada buzón con un alias

    Pídele a Claude «vincula mi Gmail del trabajo como work». Inicias sesión con ese buzón y concedes acceso de lectura y redacción. Repite con personal, support, etc.

    Permisos: gmail.readonly, gmail.compose

  3. 3Después

    Pregunta en todos a la vez

    Claude busca, lee hilos y guarda borradores en el buzón que indiques, o en todos los buzones que hayas vinculado.

Qué obtienes

Varios buzones por persona

Vincula tantas cuentas de Gmail y Google Workspace como quieras, cada una con un alias corto como work, personal o support.

Busca en todas las bandejas

Una sola búsqueda recorre todos tus buzones vinculados y te indica de qué buzón proviene cada hilo.

Primero, borradores

Claude escribe borradores y tú los envías desde Gmail. El envío opcional, con enlaces de confirmación y límites diarios, está en la hoja de ruta.

Leer el diseño del envío →

Aislamiento estricto por usuario

Cada consulta se limita al usuario de Claude que ha iniciado sesión. Quienes comparten un servidor nunca ven los buzones de los demás.

Cifrado en reposo

Los tokens de actualización se cifran con Fernet en tu servidor. Los tokens de acceso permanecen en memoria. Los registros nunca contienen tokens ni el cuerpo de los mensajes.

Tu proyecto de Google, tu servidor

Al autoalojarlo usas tu propio cliente OAuth, así que te ahorras la verificación de apps de Google. Funciona para hasta 100 usuarios.

Ejecuta tu propia instancia

Los permisos de lectura de Gmail están restringidos. Una app pública necesita la verificación de Google y una evaluación de seguridad anual. Tu propia instancia no, siempre que no supere los 100 usuarios.

  • Tu propio proyecto de Google Cloud y tu propio cliente OAuth.
  • Los tokens de actualización nunca salen de tu servidor.
  • Un solo contenedor Docker detrás de tu proxy inverso con TLS.
# en un servidor Linux con Docker
git clone https://github.com/rayhu/surfski /opt/surfski
cd /opt/surfski
python3 scripts/gen_secrets.py
sudo docker compose -p surfski up -d --build

# luego en Claude: Configuración → Conectores
# → Añadir conector personalizado → https://<host>/mcp

Más adelante

Una versión alojada

Está previsto lanzar Surfski alojado por etapas: primero una beta solo por invitación, después alojamiento para organizaciones de Google Workspace que aporten su propio cliente OAuth interno y, solo tras la verificación OAuth de Google y la evaluación de seguridad anual, alojamiento público de autoservicio. Todavía no hay fecha ni registro.