mcp_gmail_autosend

mcp_gmail_autosend

Enables sending emails via Gmail API, checking thread replies, and listing sent emails, all logged locally in SQLite.

Category
访问服务器

README

mcp_gmail_autosend

Serveur MCP (Model Context Protocol) qui permet à un client MCP (Claude Desktop, Claude Code, etc.) d'envoyer des emails via l'API Gmail, avec pièce jointe PDF optionnelle, suivi des réponses de thread, et journalisation locale dans SQLite.

Fonctionnalités

Le serveur expose 3 outils MCP :

Outil Description
send_email(to, subject, body, pdf_path="") Envoie un email via l'API Gmail, avec pièce jointe PDF optionnelle.
check_reply(thread_id) Vérifie si un thread Gmail a reçu une réponse.
list_sent_emails(limit=20) Liste les derniers emails envoyés, depuis le log SQLite local.

Chaque envoi est journalisé dans mail_log.db (créé automatiquement au premier lancement) : destinataire, sujet, date, statut, thread_id, message_id.

Prérequis

  • Python 3.10+
  • Un compte Google avec accès à Google Cloud Console
  • Un client MCP (Claude Desktop, Claude Code...)

Installation

1. Cloner le dépôt

git clone https://github.com/<votre-utilisateur>/mcp_gmail_autosend.git
cd mcp_gmail_autosend

2. Installer les dépendances

python3 -m venv venv
source venv/bin/activate  # Windows : venv\Scripts\activate
pip install -r requirements.txt

3. Créer les identifiants OAuth Google

  1. Rendez-vous sur Google Cloud Console.
  2. Créez un projet (ou réutilisez-en un existant).
  3. Activez l'API Gmail : APIs & Services → Library → Gmail API → Enable.
  4. Configurez l'écran de consentement OAuth (OAuth consent screen) en mode External (ou Internal si vous avez un Workspace), type d'utilisateur test suffisant pour un usage personnel.
  5. Créez des identifiants : APIs & Services → Credentials → Create Credentials → OAuth client ID → Application type: Desktop app.
  6. Téléchargez le fichier JSON généré, renommez-le credentials.json et placez-le à la racine du projet.

⚠️ credentials.json contient un client_secret. Il est listé dans .gitignore et ne doit jamais être commité ni partagé.

4. Générer le token d'accès

python setup_oauth.py

Cela ouvre une fenêtre de navigateur pour vous authentifier avec votre compte Google et autoriser les scopes demandés (gmail.send, gmail.readonly). Un fichier token.json est créé à la racine — il contient votre token d'accès et votre refresh token, il ne doit jamais être commité non plus (déjà exclu via .gitignore).

Le token se rafraîchit automatiquement lors des appels suivants, tant que le refresh token reste valide.

5. Configurer votre client MCP

Copiez l'exemple fourni et adaptez le chemin :

cp claude_desktop_config.example.json claude_desktop_config.json

Éditez claude_desktop_config.json et remplacez le chemin par le chemin absolu réel vers server.py sur votre machine :

{
  "mcpServers": {
    "gmail-mcp": {
      "command": "python",
      "args": ["/chemin/absolu/vers/mcp_gmail_autosend/server.py"],
      "env": {}
    }
  }
}

Puis fusionnez ce bloc mcpServers dans le fichier de config de votre client :

  • Claude Desktop : ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) ou %APPDATA%\Claude\claude_desktop_config.json (Windows) ou ~/.config/Claude/claude_desktop_config.json (Linux).
  • Claude Code : claude mcp add gmail-mcp -- python /chemin/absolu/vers/server.py

Redémarrez votre client MCP.

Utilisation

Une fois le serveur connecté, demandez simplement à Claude :

  • « Envoie un email à alice@example.com avec pour sujet "Compte-rendu" et joins le PDF /home/user/rapport.pdf »
  • « Est-ce que j'ai reçu une réponse sur le thread <thread_id> ? »
  • « Liste mes 10 derniers emails envoyés »

Structure du projet

mcp_gmail_autosend/
├── server.py                          # Serveur MCP (outils send_email, check_reply, list_sent_emails)
├── setup_oauth.py                     # Script à lancer une fois pour générer token.json
├── requirements.txt                   # Dépendances Python
├── claude_desktop_config.example.json # Exemple de config client MCP (à copier/adapter)
├── credentials.json                   # (non versionné) identifiants OAuth Google
├── token.json                         # (non versionné) token d'accès Gmail
└── mail_log.db                        # (non versionné) log SQLite des emails envoyés

Sécurité

  • credentials.json et token.json donnent accès à l'envoi d'emails depuis votre compte Gmail. Ils sont exclus via .gitignore — vérifiez toujours git status avant un commit pour vous assurer qu'ils n'y apparaissent pas.
  • Le scope gmail.readonly permet la lecture de threads (utilisé uniquement pour check_reply) ; il n'y a pas d'accès en écriture/suppression au-delà de l'envoi.
  • mail_log.db contient l'historique des destinataires et sujets envoyés : elle aussi est exclue du dépôt.
  • Si vous pensez qu'un token a fuité, révoquez l'accès immédiatement depuis myaccount.google.com/permissions, puis relancez setup_oauth.py.

Licence

Non spécifiée — ajoutez une licence (MIT, Apache-2.0...) si vous comptez rendre ce dépôt public et réutilisable par d'autres.

推荐服务器

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 模型以安全和受控的方式获取实时的网络信息。

官方
精选