gmail-mcp

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.

Category
访问服务器

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 .env con las credenciales está en .gitignore y no se sube.

⚙️ Instalación

1) Requisitos

  • Python 3.9+
  • pip install -r requirements.txt

2) Contraseña de aplicación de Google

  1. Activa la verificación en dos pasos en la cuenta de Google.
  2. 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.
  3. 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:

  1. Directorio → Plugins → Añadir marketplace → pega la URL de este repositorio → Sincronizar.
  2. Instala el plugin gmail.
  3. 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

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选