Des tokens, pas des mots de passe partagés
Créez un token d'API, choisissez ses scopes, confiez-le à votre agent. Les tokens commencent par hmt_ et seul un hash SHA-256 est stocké — la valeur complète n'est montrée qu'à la création.
Open source · Auto-hébergé · MCP natif
HermodMail est un véritable webmail IMAP/SMTP avec un serveur MCP natif. Vos agents lisent, rédigent et agissent dans votre boîte via des tokens à périmètre limité — pendant que vous gardez le contrôle de chaque dossier, de chaque permission et de chaque envoi.
L'interface réelle d'HermodMail — dossiers IMAP, recherche instantanée, volet de lecture et actions IA quand un fournisseur est configuré.
Le problème
Connecter un agent IA à une messagerie, c'est souvent partager ses identifiants, bricoler des scripts fragiles et espérer que rien ne dérape. HermodMail part d'un autre principe :
Une boîte. Un moteur partagé. Humain et agent accèdent avec des permissions contrôlées.
Créez un token d'API, choisissez ses scopes, confiez-le à votre agent. Les tokens commencent par hmt_ et seul un hash SHA-256 est stocké — la valeur complète n'est montrée qu'à la création.
Les scopes sont relus en base à chaque appel d'outil. Resserrez ou révoquez un token : cela s'applique aussi aux sessions déjà ouvertes.
Les agents enregistrent de véritables brouillons IMAP — marqués \Draft, visibles dans le dossier Brouillons — au lieu de coller du texte dans une fenêtre de discussion à part.
Comment ça marche
Une collaboration typique : vous donnez une consigne à votre agent, il prépare de vrais brouillons dans votre boîte, et vous relisez et envoyez quand vous êtes prêt.
« Prépare des brouillons de relance pour les comptes rencontrés la semaine dernière. » N'importe quel client MCP convient — l'agent se connecte avec son token.
Avec mail:write et ai:use, il fouille la boîte, rédige et enregistre de vrais brouillons IMAP. Rien n'est envoyé.
Ouvrez le dossier Brouillons dans HermodMail. Chaque brouillon est un vrai message, lisible, modifiable et complémentable — avec le sélecteur de destinataires, les pièces jointes et vos habitudes de signature.
Relisez, ajustez, envoyez. Un token sans scope mail:send ne peut envoyer aucun message — la décision d'envoi vous reste.
L'agent a fait le travail. L'humain a gardé la décision.
Un vrai webmail, avant tout
HermodMail est un webmail complet, utilisable au quotidien. L'IA est une couche facultative, jamais une condition.
Les protocoles standards — fonctionne avec vos comptes existants.
Créez, renommez et gérez vos boîtes, avec garde-fous sur les dossiers système.
Recherche SQLite rapide sur l'objet, les correspondants et le corps.
Récoltés automatiquement depuis vos messages, avec autocomplétion des destinataires.
De vrais brouillons IMAP, enregistrés et modifiables depuis n'importe quel client.
Joignez des fichiers à la rédaction, téléchargez-les à la lecture.
Une interface entièrement traduite en trois langues.
Auto, clair ou sombre — il suit la préférence de votre système.
Boîtes et isolation par utilisateur, administrées par un compte admin.
Exportez n'importe quel message en Markdown propre.
Dossiers, liste et volet de lecture — avec résumé IA et brouillon de réponse IA à un clic.
Composition avec autocomplétion des destinataires et enregistrement en brouillon.
La même interface, confortable la nuit.
MCP natif
L'interface web et les agents MCP ne passent pas par des chemins de code différents : les deux parlent au même moteur de messagerie, qui applique les mêmes règles de propriété et de permissions à une session navigateur comme à un token Bearer.
Pointez n'importe quel client compatible MCP vers /mcp avec un en-tête Authorization: Bearer. Voici toute la surface, groupée par le scope exigé :
get_message ne renvoie jamais de HTML brut — les agents reçoivent du contenu assaini. delete_folder exige un indicateur confirm explicite pour les dossiers non vides.
Permissions
Chaque token porte un ensemble précis de scopes. Le moteur les vérifie à chaque appel — et quelques règles valent quel que soit le cas.
mail:read Lister, synchroniser, lire, rechercher, exporter en Markdown, télécharger les pièces jointes.
mail:write Enregistrer des brouillons, changer les marqueurs, déplacer des messages.
mail:send Envoyer des messages via SMTP. À accorder en connaissance de cause.
mail:delete Supprimer des messages, avec un comportement respectant la Corbeille.
folder:write Créer et renommer des dossiers.
folder:delete Supprimer des dossiers — protégé pour les dossiers système et non vides.
ai:use Utiliser les fonctions IA intégrées : résumé, classification, brouillon de réponse, traduction.
Seul un hash SHA-256 du token est stocké. S'il fuite, révoquez-le — rien à déchiffrer.
Changez les scopes d'un token à tout moment ; le nouvel ensemble s'applique à l'appel suivant, même en session ouverte.
Révoquez instantanément depuis Paramètres → Tokens API. Le token cesse de fonctionner immédiatement.
Les tokens d'API ne peuvent jamais ajouter ni retirer de comptes mail. Un token d'agent en lecture seule divulgué ne peut pas enrôler de nouvelles boîtes.
Honnête par conception : un agent qui détient mail:send peut envoyer de lui-même. HermodMail n'impose pas d'approbation humaine sur chaque message — il vous donne les moyens de décider précisément qui peut envoyer.
Apportez votre modèle
Le webmail est pleinement fonctionnel avec l'IA désactivée — c'est le réglage par défaut. Quand vous voulez l'assistance intégrée, branchez le fournisseur en lequel vous avez déjà confiance :
Le contenu des e-mails est, par définition, une donnée non fiable : le texte soumis au modèle est balisé comme donnée, et l'invite système interdit de le traiter comme des instructions.
Pour les développeurs
Un serveur Node unique avec une base SQLite, ou un conteneur. Aucun service externe requis.
git clone https://github.com/cyril-belin/HermodMail.git
cd HermodMail
cp .env.example .env
# Définissez HERMODMAIL_SECRET (openssl rand -base64 48) dans .env
docker compose up -d
# ou : podman-compose up -d HermodMail écoute sur http://localhost:8667 et stocke tout dans le volume hermodmail-data.
git clone https://github.com/cyril-belin/HermodMail.git
cd HermodMail
npm install
# Nécessite Node >= 22 — serveurs de développement :
npm run dev # API sur :8667 · web sur :5667 (proxy /api et /mcp)
npm run dev:web
# ou pour la production :
npm run build
PORT=8667 HOST=0.0.0.0 HERMODMAIL_WEB_DIST=apps/web/dist node apps/server/dist/index.js La première visite crée votre compte administrateur.
{
"mcpServers": {
"hermodmail": {
"type": "http",
"url": "http://localhost:8667/mcp",
"headers": { "Authorization": "Bearer hmt_..." }
}
}
} Définissez un HERMODMAIL_SECRET solide, servez l'application derrière TLS (le README inclut une configuration Caddy reverse-proxy prête à copier) et lisez les notes de sécurité avant d'exposer quoi que ce soit à Internet.
Documentation complète dans le READMEOpen source, par conception
HermodMail est un logiciel libre sous AGPL-3.0-or-later. Lisez le moteur, auditez la cryptographie, lancez la suite de tests — et modifiez ce qui ne vous convient pas.
Le texte complet de la licence accompagne le dépôt.
Un moteur central, de fins adaptateurs HTTP et MCP, un front-end Vue 3. Rien de caché.
Des tests unitaires et à base de propriétés couvrent le moteur, l'authentification, la cryptographie et la surface MCP.
HermodMail est un projet jeune (v0.1.0) en développement actif — testé avec de vraies boîtes mail, construit pour grandir au grand jour.
Une boîte, un moteur, des permissions contrôlées — et un toit pour les humains comme pour les machines qui y travaillent.
Star HermodMail sur GitHub