Gmail MCP Server

by Samarth2001
MIT License
  • Apple
  • Linux

Integrations

  • Enables complete email management through Gmail, including sending emails with attachments, reading and searching emails, managing labels and organization, handling drafts, and performing batch operations on multiple emails.

  • Integrates with Google Cloud for authentication and API access, allowing the MCP server to securely connect to Gmail services through OAuth 2.0 credentials.

Servidor MCP de Gmail

Un potente servidor de Protocolo de Contexto de Modelo (MCP) que permite a Claude AI interactuar directamente con Gmail.

📖 Índice de contenidos

📋 Descripción general

El servidor MCP de Gmail es una implementación integral que permite a asistentes de IA como Claude interactuar directamente con Gmail mediante lenguaje natural. Ofrece un amplio conjunto de herramientas para la gestión del correo electrónico, lo que facilita una integración fluida entre la IA conversacional y tu bandeja de entrada.

💡 Características principales

  • Gestión completa del correo electrónico
    • Envíe correos electrónicos de texto simple y HTML con archivos adjuntos
    • Leer correos electrónicos con un análisis adecuado de estructuras de mensajes complejas
    • Busca en tu bandeja de entrada con la potente sintaxis de consulta de Gmail
    • Crear y actualizar borradores de correos electrónicos
    • Administrar etiquetas, estado leído/no leído y papelera
    • Realizar operaciones por lotes en varios correos electrónicos
  • Integración avanzada
    • Base de código Python moderna con patrón async/await
    • Manejo y recuperación integral de errores
    • Informes detallados de progreso
    • Flujo de autenticación OAuth seguro
    • Múltiples modos de transporte (STDIO y SSE)
    • Compatibilidad con diferentes escenarios de implementación

🚀 Inicio rápido

Prerrequisitos

  • Python 3.8 o superior
  • Un proyecto de Google Cloud con la API de Gmail habilitada
  • Credenciales de OAuth 2.0 para la API de Gmail

Instalación

  1. Clonar el repositorio
    git clone https://github.com/yourusername/gmail-mcp-server.git cd gmail-mcp-server
  2. Configurar un entorno virtual
    python -m venv venv # On Windows venv\Scripts\activate # On macOS/Linux source venv/bin/activate
  3. Instalar dependencias
    pip install -r requirements.txt
  4. Configurar las credenciales de Google Cloud y OAuthVisita la consola de Google Cloud para:
    • Crear un nuevo proyecto
    • Habilitar la API de Gmail
    • Configurar la pantalla de consentimiento de OAuth
    • Crear credenciales de ID de cliente OAuth (aplicación de escritorio)
    • Descargue las credenciales como credentials.json en la raíz del proyecto

Primera ejecución y autenticación

Ejecute el servidor una vez para autenticarse:

python gmail_server.py

Se abrirá una ventana del navegador que te solicitará que te autentiques con tu cuenta de Google. Tras la autenticación, se creará un archivo token.json que se guardará para su uso posterior.

Configurar Claude Desktop

  1. Edite su archivo de configuración de Claude Desktop:
    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Ventanas: %APPDATA%\Claude\claude_desktop_config.json
  2. Agregue el servidor MCP de Gmail a la configuración:
    { "mcpServers": { "gmail": { "command": "python", "args": [ "/absolute/path/to/gmail-mcp-server/gmail_server.py" ] } } }
  3. Guarde el archivo y reinicie Claude Desktop

Nota: Reemplace "/absolute/path/to/gmail-mcp-server/gmail_server.py" con la ruta absoluta real al archivo gmail_server.py en su repositorio clonado.

🧰 Herramientas disponibles

El servidor MCP de Gmail expone las siguientes herramientas a Claude:

Envío de correo electrónico

  • send_email - Envía correos electrónicos básicos con contenido de texto/HTML
  • send_email_with_attachment - Enviar correos electrónicos con archivos adjuntos
  • send_email_with_multiple_attachments - Envía correos electrónicos con múltiples archivos adjuntos

Lectura de correo electrónico

  • read_email - Lee el contenido de un correo electrónico específico por ID
  • get_unread_emails - Obtener una lista de correos electrónicos no leídos
  • get_important_emails - Obtener correos electrónicos marcados como importantes
  • get_emails_with_attachments - Recibir correos electrónicos con archivos adjuntos
  • get_recent_emails - Recibe correos electrónicos de los últimos X días

Búsqueda y organización del correo electrónico

  • search_emails - Buscar correos electrónicos usando la sintaxis de consulta de Gmail
  • get_email_labels - Lista todas las etiquetas/carpetas de Gmail
  • create_email_label - Crea una nueva etiqueta
  • delete_email_label - Eliminar una etiqueta existente
  • label_email - Aplicar una etiqueta a un correo electrónico
  • remove_email_label - Eliminar una etiqueta de un correo electrónico

Gestión del estado del correo electrónico

  • mark_as_read - Marcar un correo electrónico como leído
  • mark_as_unread - Marcar un correo electrónico como no leído
  • delete_email - Mover un correo electrónico a la papelera

Gestión de borradores

  • create_email_draft - Crea un nuevo borrador de correo electrónico
  • update_email_draft - Actualizar un borrador existente
  • list_email_drafts - Lista de borradores disponibles
  • send_draft - Enviar un borrador existente

Operaciones por lotes

  • batch_apply_label - Aplicar una etiqueta a varios correos electrónicos
  • batch_delete_emails - Mover varios correos electrónicos a la papelera

Información de la cuenta

  • get_email_profile - Obtener información del perfil de Gmail
  • summarize_recent_emails - Crea un resumen de correos electrónicos recientes

💬 Ejemplos de uso

A continuación se muestran algunos ejemplos de indicaciones para Claude:

Send an email to john@example.com with the subject "Project Update" and let them know we're still on track for the deadline next week.
Search my inbox for any emails from Bank of America in the last month and summarize them for me.
Find all unread emails from my boss and create a summary of any action items mentioned in them.
Draft an email to the team about the upcoming meeting on Thursday at 2pm. Remind everyone to prepare their weekly updates.

🔧 Configuración avanzada

Variables de entorno

El servidor admite múltiples variables de entorno para personalización:

VariableDescripción
GMAIL_TOKEN_PATHRuta personalizada para almacenar el token OAuth
GMAIL_CREDENTIALS_PATHRuta personalizada a las credenciales de OAuth
GOOGLE_CLIENT_IDID de cliente OAuth (alternativa al archivo de credenciales)
GOOGLE_CLIENT_SECRETSecreto de cliente OAuth (alternativa al archivo de credenciales)
MCP_PORTPuerto para transporte SSE (predeterminado: 3000)
DEBUGHabilitar el modo de depuración ( true o false )

Modo de servidor SSE

El servidor se puede ejecutar en modo SSE (eventos enviados por el servidor) para la integración basada en HTTP:

python gmail_server.py --sse [port]

Esto inicia el servidor en el puerto especificado (predeterminado: 3000), haciéndolo accesible a través de HTTP.

📚 Documentación

Consideraciones de seguridad

  • El servidor utiliza OAuth 2.0 para la autenticación segura de la API de Gmail
  • Todas las acciones se ejecutan localmente en su máquina: los correos electrónicos nunca pasan por servidores de terceros
  • Los tokens de autenticación se almacenan localmente y se pueden revocar en cualquier momento.
  • El servidor requiere acceso a archivos locales solo para leer archivos adjuntos
  • Claude siempre pide confirmación antes de enviar o eliminar correos electrónicos.

🤝 Contribuyendo

¡Agradecemos sus contribuciones! No dude en enviar una solicitud de incorporación de cambios.

  1. Bifurcar el repositorio
  2. Crea tu rama de funciones ( git checkout -b feature/amazing-feature )
  3. Confirme sus cambios ( git commit -m 'Add some amazing feature' )
  4. Empujar a la rama ( git push origin feature/amazing-feature )
  5. Abrir una solicitud de extracción

📝 Licencia

Este proyecto está licenciado bajo la licencia MIT: consulte el archivo de LICENCIA para obtener más detalles.

🙏 Agradecimientos

  • Google para la API de Gmail
  • Antrópico para Claude y el Protocolo de Contexto Modelo
  • Colaboradores de las bibliotecas cliente de la API de Gmail de Python

Related MCP Servers

  • -
    security
    F
    license
    -
    quality
    A Model Context Protocol server that enables AI assistants to interact with Gmail services, supporting email operations, draft management, and calendar functionality through Google API integration.
    Last updated -
    TypeScript
  • -
    security
    A
    license
    -
    quality
    A Model Context Protocol server that provides a seamless email management interface through Claude, allowing users to search, read, and send emails directly through natural language conversations.
    Last updated -
    40
    Python
    MIT License
    • Apple
  • -
    security
    A
    license
    -
    quality
    A Model Context Protocol server that enables AI assistants like Claude to interact with Gmail through natural language, providing comprehensive email management capabilities including sending, reading, organizing, searching, and managing drafts and labels.
    Last updated -
    Python
    GPL 3.0
    • Apple
  • -
    security
    F
    license
    -
    quality
    A Model Context Protocol server that enables AI assistants to access and manage email through IMAP, supporting browsing, searching, reading, and organizing emails while learning user preferences over time.
    Last updated -
    2
    Python
    • Linux
    • Apple

View all related MCP servers

ID: sc123prv7q