gmail-mcp
Gives an agent (like Claude) complete control over a Gmail or Google Workspace account via IMAP/SMTP using an app password, without needing OAuth.
README
gmail-mcp · MCP de Gmail para Claude
Servidor MCP (Model Context Protocol) que da a un agente (Claude Desktop, Claude Code, Cowork…) control completo sobre una cuenta de Gmail o Google Workspace: leer, buscar con la sintaxis nativa de Gmail, ver hilos, descargar adjuntos, etiquetar, archivar, enviar, responder, reenviar, guardar borradores y enviar a la papelera.
Funciona por IMAP/SMTP con una contraseña de aplicación de Google: no hay que crear un proyecto en Google Cloud ni pasar por pantallas de verificación de OAuth.
🔒 Sin credenciales en el repositorio. Todo se configura por variables de entorno. La cuenta y la contraseña de aplicación las pone quien instala el MCP; aquí no hay ningún secreto.
🧰 Herramientas (19)
Lectura (siempre disponibles)
| Tool | Qué hace |
|---|---|
gmail_estado |
Estado de la cuenta: servidores, candados, etiquetas y nº de mensajes/no leídos |
gmail_listar_etiquetas |
Lista todas las etiquetas y carpetas del buzón |
gmail_listar |
Lista los mensajes más recientes de una etiqueta (paginado, no marca leído) |
gmail_buscar |
Busca por remitente, destinatario, asunto, texto, fechas, no leídos… |
gmail_buscar_gmail |
Busca con la sintaxis nativa de Gmail (from:, has:attachment, newer_than:7d, label:, OR, -exclusión…) |
gmail_leer |
Lee un mensaje completo (cabeceras, cuerpo, etiquetas, adjuntos) |
gmail_hilo |
Muestra la conversación entera a la que pertenece un mensaje |
gmail_descargar_adjunto |
Descarga un adjunto (base64 o a disco) |
Escritura reversible (siempre disponibles)
| Tool | Qué hace |
|---|---|
gmail_marcar_leido |
Marca leído / no leído |
gmail_destacar |
Destaca / quita destacado (estrella) |
gmail_etiquetar |
Añade o quita una etiqueta de Gmail sin mover el mensaje |
gmail_crear_etiqueta |
Crea una etiqueta nueva (admite anidadas: Clientes/Activos) |
gmail_guardar_borrador |
Guarda un borrador en Borradores (no envía) |
Mover / archivar / papelera — requieren GMAIL_ALLOW_MODIFY=1
| Tool | Qué hace |
|---|---|
gmail_mover |
Mueve un mensaje a otra etiqueta/carpeta |
gmail_archivar |
Saca el mensaje de la Bandeja de entrada (sigue en «Todos»; reversible) |
gmail_eliminar |
Envía a la Papelera (nunca borra permanente; recuperable) |
Envío — requieren GMAIL_ALLOW_SEND=1
| Tool | Qué hace |
|---|---|
gmail_enviar |
Envía un correo nuevo (con adjuntos opcionales) |
gmail_responder |
Responde a un mensaje (cita el original, mantiene el hilo) |
gmail_reenviar |
Reenvía un mensaje con sus adjuntos |
🔒 Seguridad
- Candados por variable de entorno, apagados por defecto: enviar (
GMAIL_ALLOW_SEND) y mover/archivar/papelera (GMAIL_ALLOW_MODIFY). Con ellos apagados, esas tools devuelven un error claro y no hacen nada. - Leer nunca marca como leído (usa
BODY.PEEK/EXAMINE). - No existe borrado permanente: «eliminar» mueve a la Papelera, recuperable (Gmail la purga a los 30 días).
- El
.envcon las credenciales está en.gitignorey no se sube.
⚙️ Instalación
1) Requisitos
- Python 3.9+
pip install -r requirements.txt
2) Contraseña de aplicación de Google
- Activa la verificación en dos pasos en la cuenta de Google.
- Ve a https://myaccount.google.com/apppasswords y crea una contraseña de aplicación (16 caracteres). Esa es la que usa este MCP — no la contraseña normal de la cuenta.
- Comprueba que IMAP está activado: Gmail → ⚙️ Configuración → Reenvío y correo POP/IMAP → Habilitar IMAP.
3) Configuración
Copia .env.example a .env y rellena tu cuenta:
GMAIL_USER=tucuenta@gmail.com
GMAIL_APP_PASSWORD=xxxxxxxxxxxxxxxx
GMAIL_ALLOW_SEND=0
GMAIL_ALLOW_MODIFY=0
(Alternativamente puedes pasar esas variables como env en la configuración del cliente MCP,
sin fichero .env.)
4a) Registrar en Claude Desktop
En claude_desktop_config.json:
{
"mcpServers": {
"gmail": {
"command": "python",
"args": ["C:/ruta/a/gmail-mcp/server.py"],
"env": {
"PYTHONUTF8": "1",
"GMAIL_USER": "tucuenta@gmail.com",
"GMAIL_APP_PASSWORD": "xxxxxxxxxxxxxxxx",
"GMAIL_ALLOW_SEND": "0",
"GMAIL_ALLOW_MODIFY": "0"
}
}
}
}
Reinicia Claude Desktop después de editarlo.
4b) Instalar en Cowork / Claude Code por URL (como plugin)
Este repo incluye .claude-plugin/marketplace.json, así que se puede añadir por URL:
- Directorio → Plugins → Añadir marketplace → pega la URL de este repositorio → Sincronizar.
- Instala el plugin
gmail. - Configura las variables de entorno (cuenta y contraseña de aplicación) en el cliente. Requiere Python + dependencias instaladas en la máquina donde corre el MCP.
🧪 Validación
python test_gate.py
Descubre todas las tools por el protocolo MCP, prueba las de lectura con datos reales, verifica que los candados bloquean el envío y el borrado, y hace el handshake MCP por stdio. No envía nada a terceros ni borra ningún correo.
💡 Ejemplos de uso
- «¿Qué correos sin leer tengo hoy?» →
gmail_listar/gmail_buscar - «Busca los correos del juzgado con PDF del último mes» →
gmail_buscar_gmail("from:juzgado has:attachment newer_than:1m") - «Enséñame la conversación completa con este cliente» →
gmail_hilo - «Etiqueta este correo como Clientes/Activos y sácalo de la bandeja» →
gmail_etiquetar+gmail_archivar - «Guárdame un borrador de respuesta» →
gmail_guardar_borrador
Genérico y sin datos personales en el código. Configúralo con tu propia cuenta.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。