Gmail MCP Server

Permite a los agentes de IA buscar hilos de Gmail, aprender tu estilo de escritura y redactar correos electrónicos.

Documentación

Gmail MCP Server

Un servidor MCP que permite a los agentes de IA buscar hilos de Gmail, comprender tu estilo de escritura de correos y crear borradores de correos.

1. Obtener autenticación de Google

Paso 1: Crear un proyecto de Google Cloud

  1. Ve a Google Cloud Console
  2. Haz clic en el menú desplegable "Seleccionar un proyecto" en la parte superior
  3. Haz clic en "Nuevo proyecto"
  4. Ingresa un nombre para el proyecto (por ejemplo, "Gmail MCP Server")
  5. Haz clic en "Crear"

Paso 2: Habilitar la API de Gmail

  1. En tu nuevo proyecto, ve a "APIs y servicios" → "Biblioteca"
  2. Busca "Gmail API"
  3. Haz clic en "Gmail API" y luego en "Habilitar"

Paso 3: Crear credenciales OAuth2

  1. Ve a "APIs y servicios" → "Credenciales"
  2. Haz clic en "Crear credenciales" → "ID de cliente OAuth"
  3. Si se te solicita, configura la pantalla de consentimiento de OAuth:
    • Elige el tipo de usuario "Externo"
    • Completa los campos obligatorios (Nombre de la aplicación, correo de soporte al usuario, correo del desarrollador)
    • Agrega tu correo a la sección "Usuarios de prueba"
    • Guarda y continúa por todos los pasos
  4. De vuelta en Credenciales, haz clic en "Crear credenciales" → "ID de cliente OAuth"
  5. Elige "Aplicación de escritorio" como tipo de aplicación
  6. Ingresa un nombre (por ejemplo, "Gmail MCP Client")
  7. Haz clic en "Crear"
  8. Importante: Copia el ID de cliente y el Secreto de cliente del diálogo de confirmación (los necesitarás para la configuración)

Paso 4: Otorgar alcances OAuth

Cuando ejecutes el servidor por primera vez, abrirá tu navegador para la autorización. El servidor solicita solo estos permisos mínimos:

Lo que solicitamos:

  • ✅ Acceso de solo lectura a Gmail (gmail.readonly)

    • Buscar y leer tus mensajes de correo
    • Descargar archivos adjuntos de correos
    • Ver metadatos de correos (asuntos, remitentes, fechas)
  • ✅ Acceso de redacción de Gmail (gmail.compose)

    • Crear borradores de correos
    • Actualizar borradores existentes
    • Eliminar borradores
    • Enviar correos (permiso otorgado pero no utilizado por este servidor)

Lo que este servidor realmente implementa:

  • ✅ Buscar y leer correos - Capacidades completas de búsqueda
  • ✅ Extraer texto de adjuntos - Extracción segura de texto de PDF/DOCX/TXT
  • ✅ Crear/actualizar borradores - Gestión inteligente de borradores con conocimiento del hilo
  • ❌ Enviar correos - El servidor no implementa el envío (aunque el permiso está otorgado)
  • ❌ Eliminar correos - El servidor no implementa la eliminación
  • ❌ Modificar etiquetas - El servidor no implementa la gestión de etiquetas

2. Agregar a clientes MCP

Primero compila el servidor: go build .

Querrás agregar esto al archivo de configuración de tu agente:

{
  "mcpServers": {
    "gmail": {
      "command": "C:/path/to/your/auto-gmail.exe",
      "env": {
        "GMAIL_CLIENT_ID": "your_client_id_here.apps.googleusercontent.com",
        "GMAIL_CLIENT_SECRET": "your_client_secret_here",
        "OPENAI_API_KEY": "your_openai_api_key_here"
      }
    }
  }
}

⚡ Modo HTTP persistente (Recomendado para evitar ventanas emergentes de OAuth)

Problema: En modo stdio, Cursor inicia un proceso de servidor nuevo cada vez (y para cada pestaña), lo que provoca spam de ventanas emergentes de OAuth.

Solución: Ejecuta el servidor como un daemon HTTP persistente que se autentica una vez y permanece en ejecución.

Inicio rápido:

# Build the server
go build -o gmail-mcp-server

# Start persistent server (OAuth only once!)
./gmail-mcp-server --http

# Or with custom port
./gmail-mcp-server --http 3000

Qué sucede:

  1. ✅ La ventana emergente de OAuth aparece UNA VEZ cuando el servidor inicia
  2. ✅ El servidor se ejecuta de forma persistente en http://localhost:8080
  3. ✅ No más ventanas emergentes de OAuth - el servidor permanece autenticado
  4. ✅ Múltiples pestañas/ventanas de Cursor pueden conectarse al mismo servidor

Configuración de Cursor (Aún usa stdio por ahora):

{
  "mcpServers": {
    "gmail": {
      "command": "C:/path/to/your/gmail-mcp-server",
      "env": {
        "GMAIL_CLIENT_ID": "your_client_id_here.apps.googleusercontent.com", 
        "GMAIL_CLIENT_SECRET": "your_client_secret_here",
        "OPENAI_API_KEY": "your_openai_api_key_here"
      }
    }
  }
}

La diferencia: Tú inicias el servidor manualmente una vez en lugar de dejar que Cursor lo inicie de nuevo cada vez.

Estado del servidor:

Agregar a Cursor

  • Presiona Ctrl+Shift+P (Windows/Linux) o Cmd+Shift+P (Mac)
  • Haz clic en la pestaña MCP
  • Haz clic en '+ Agregar nuevo servidor MCP global'
  • Edita el archivo de configuración

Agregar a Claude Desktop

  • Ve a Archivo > Configuración > Desarrollador > Editar configuración
  • Edita el archivo de configuración

Alternativa de configuración manual:

Puedes editar estos archivos de configuración directamente si sabes dónde encontrarlos:

  • Cursor: C:\Users\[User]\.cursor\mcp.json
  • Claude Desktop: %APPDATA%\Claude\claude_desktop_config.json (Windows)

3. Herramientas y recursos MCP

Herramientas:

  • search_threads - Busca en Gmail con consultas como "from:email@example.com" o "subject:meeting" (incluye información de borradores)
  • create_draft - Crea borradores de correos o actualiza borradores existentes (la IA solicitará primero la guía de estilo)
  • extract_attachment_by_filename - Extrae texto de forma segura de archivos adjuntos PDF, DOCX y TXT usando el nombre del archivo
  • get_personal_email_style_guide - Obtén tu guía de estilo de escritura de correos (esta es una herramienta temporal, creada porque la mayoría de los agentes aún no admiten la obtención de recursos; una vez que los agentes implementen mejor los recursos MCP, esta herramienta se puede eliminar)

Recursos:

  • file://personal-email-style-guide - Tu estilo personal de escritura de correos (generado automáticamente o manual)

Prompts:

  • /generate-email-tone - Analiza tus correos enviados para crear un estilo de escritura personalizado
  • /server-status - Muestra ubicaciones de archivos y estado del servidor

4. Guía de estilo personal de correos

El servidor creará un archivo de guía de estilo basado en los últimos 25 correos que hayas enviado, para que los borradores de correos recién creados suenen como tú. Honestamente, hasta ahora los correos escritos por LLM aún no suenan muy auténticos.

Generación manual:

  • Ejecuta el prompt /generate-email-tone en tu cliente MCP en cualquier momento para regenerar
  • El archivo se guarda en tu directorio de datos de aplicación (consulta Ubicaciones de almacenamiento de archivos arriba)

Integración con IA:

  • La IA siempre llama a la herramienta get_personal_email_style_guide antes de escribir correos
  • Garantiza un estilo personal consistente en todas las comunicaciones
  • El recurso también está disponible en file://personal-email-style-guide

5. Forma alternativa de configurar variables de entorno

Si deseas ejecutar este servidor MCP fuera de un agente, puedes crear un archivo .env basado en el archivo .env.example y proporcionar las variables de entorno de esa manera, o exportarlas a tu entorno antes de ejecutar:

export GMAIL_CLIENT_ID=your_client_id_here.apps.googleusercontent.com
export GMAIL_CLIENT_SECRET=your_client_secret_here
export OPENAI_API_KEY=your_openai_api_key_here

6. Ubicaciones de almacenamiento de archivos

El servidor almacena archivos de autenticación y configuración en directorios de aplicación estándar:

Ubicaciones de archivos:

  • Windows: C:\Users\[YourUsername]\AppData\Roaming\auto-gmail\
  • Mac: ~/.auto-gmail/
  • Linux: ~/.auto-gmail/

Archivos importantes:

  • token.json - Token de autenticación OAuth (generado automáticamente)
  • personal-email-style-guide.md - Tu guía de estilo de escritura de correos (generada automáticamente o manual)

Comandos rápidos:

  • Usa /server-status en tu cliente MCP para ver las rutas exactas de los archivos
  • Elimina token.json para forzar la reautenticación con permisos actualizados

7. Tareas pendientes

  • Mejorar el flujo de inicio de sesión OAuth - ✅ ¡RESUELTO! Usa el modo HTTP persistente (./gmail-mcp-server --http) para evitar ventanas emergentes de OAuth. El servidor se autentica una vez y permanece en ejecución.
  • Transporte MCP HTTP completo - Esperando que mark3labs/mcp-go exponga APIs completas de transporte HTTP
  • Mejor autenticidad de correos - Los correos escritos por LLM aún no suenan perfectamente auténticos a pesar de las guías de estilo