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.
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.
- 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
- 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
- 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>/mcpMá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.