Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

io.github.vaemail/vaemail

NPM · VAEMAIL · SCANNED SEP 20

Email infrastructure for AI agents: send, authenticate domains, track delivery, diagnose issues.

Available components

+3 this week 84 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security100
  • No malware found by supply-chain analysis.Pass
  • No known CVEs affecting this package version or its production dependencies.Pass
  • No install/post-install scripts declared.Pass
  • No production dependencies, so there is no dependency health to assess. View diagnostics → Pass
Provenance & Transparency97
  • Source repository is publicly reachable at the declared URL. View diagnostics → Pass
  • Cryptographically verified build provenance (signed, bound to vaemail/vaemail-mcp). View diagnostics → Pass
  • Clear OSI-approved license (MIT).Pass
  • Actively maintained (last published 8 days ago).Pass
  • Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability72
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 2454 tokens (~144/item across 17 items; 17 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management47
  • Stability observed for 14 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage84
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 52% of tool parameters carry a description.Partial
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • All 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
  • An AI judge read all 18 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities60
  • Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28. See how to fix → Fail
Install

How do I install the io.github.vaemail/vaemail MCP server?

io.github.vaemail/vaemail runs locally as an npm package, launched with npx -y vaemail. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

npm · vaemail

# add to Claude Code
claude mcp add vaemail-vaemail -- npx -y vaemail
// .cursor/mcp.json
{
  "mcpServers": {
    "vaemail-vaemail": {
      "command": "npx",
      "args": [
        "-y",
        "vaemail"
      ]
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "vaemail-vaemail": {
      "command": "npx",
      "args": [
        "-y",
        "vaemail"
      ]
    }
  }
}
# add to Codex CLI
codex mcp add vaemail-vaemail -- npx -y vaemail
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "vaemail-vaemail": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "vaemail"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add vaemail-vaemail --command npx --arg -y --arg vaemail
# ~/.hermes/config.yaml
mcp_servers:
  vaemail-vaemail:
    command: "npx"
    args: ["-y", "vaemail"]
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "vaemail-vaemail": {
      "Transport": "stdio",
      "Command": "npx",
      "Arguments": [
        "-y",
        "vaemail"
      ]
    }
  }
}
# add to Vellum
assistant mcp add vaemail-vaemail -t stdio -c npx -a -y vaemail
// mcp.json
{
  "mcpServers": {
    "vaemail-vaemail": {
      "command": "npx",
      "args": [
        "-y",
        "vaemail"
      ]
    }
  }
}
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 19 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 40 to 43. That category is still filling its 30-day observation window: 12 days of observed history at the previous scan, 13 at this one. The score rises as the window fills, whether or not the server changes.

  • 17 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 33 to 37. That category is still filling its 30-day observation window: 10 days of observed history at the previous scan, 11 at this one. The score rises as the window fills, whether or not the server changes.

  • 15 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 27 to 30. That category is still filling its 30-day observation window: 8 days of observed history at the previous scan, 9 at this one. The score rises as the window fills, whether or not the server changes.

  • 13 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.

  • 12 Sept 26 +15
    • Malware scan: unverified → pass security
  • 11 Sept 26 −15
    • Stability: 0.13 → unverified security
    • Malware scan: pass → unverified security
    • Tool safety: pass → unverified security
    • Capabilities: fail → unverified functional
    • Tool coverage: 100 → unverified functional
    • Schema quality: pass → fail functional
    • Tool coverage: 38% → 52% functional
    • First check of Schema quality: unverified functional
    • Package version: 1.0.2 → 1.1.0 functional
  • 9 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.

  • 7 Sept 26 +26
    • Tool safety: pass → unverified security
    • Malware scan: unverified → pass security
    • Provenance: fail → pass security
    • Stability: Stability not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet. security
    • The attested source repository moved: vaemail/vaemail-mcp security
    • Capabilities: fail → unverified functional
    • Tool coverage: 100 → unverified functional
    • Stability: unverified → 0.03 functional
    • First check of Schema quality: unverified functional
    • Package version: 1.0.0 → 1.0.2 functional
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 20 Sept 2026 · Analysed npm/vaemail@1.1.0

Provenance Verified

A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.

Result Verified
Ecosystem npm
Reason Verified
Discovered via Registry attestation endpoint
Source repo vaemail/vaemail-mcp
Certificate issuer https://token.actions.githubusercontent.com
Certificate SAN https://github.com/vaemail/vaemail-mcp/.github/workflows/publish.yml@refs/tags/v1.1.0
Rekor log index 2794226522
Predicate type https://slsa.dev/provenance/v1
Subject digest sha512:ebb61ac10e0a3a2f3addab59adb21e6c3f7b977f091e0172c5073194185a82f0b146dc8635b20f3a0f67bac78b5ef56976dee85933adbae91055482f3

Background: How many MCP packages publish verified provenance →

Dependencies 0 packages
Packages resolved 0
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 17 exposed · ~1,955 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
vaemail_capabilities ~43

Return what VaEmail supports: interfaces, capabilities, limits, scopes and region. No API key needed. Call this first when deciding whether VaEmail fits a need.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

vaemail_create_domain ~113

Declare a domain and return the DNS records to add at the registrar, each with what it is for. Declaring a domain does not authenticate it: the records must be published, then verified. Adding DNS records is a human step — report them, do not claim the domain is ready.

NameTypeReqDescription
dkim_selectorstringDKIM selector, if one is already chosen.
domainstringyesDomain to send from, e.g. exemple.fr.
idempotency_keystring

No output schema declared.

No examples provided.

vaemail_diagnose_deliverability ~84

Diagnose deliverability for the account: authentication of every domain, reputation findings (hard bounces, complaints, where the contacts came from) and recommended actions, each with the endpoint that performs it. Answers "why are my emails from example.com landing badly?" in one call.

NameTypeReqDescription
domainstringRestrict the diagnosis to one declared domain.

No output schema declared.

No examples provided.

vaemail_dns_requirements ~37

Return the DNS records a declared domain needs, record by record, with the role of each.

NameTypeReqDescription
domainstringyes

No output schema declared.

No examples provided.

vaemail_envoyer_newsletter ~447

Envoie ou programme une newsletter à une liste de contacts, en un seul appel. Fait tout seul : retrouve la liste par son nom, crée la campagne, envoie un test si demandé, puis programme à la date donnée ou envoie tout de suite, et rend la date, l'audience abonnée à ce jour, l'étalement prévu par la chauffe du domaine et le lien vers la campagne dans l'admin. Ne fait jamais : envoyer sans « quand » explicite (sans ce champ, la campagne reste en brouillon, rien ne part) ; inventer une liste (si le nom est ambigu, l'outil rend les candidates et vous choisissez avec l'humain). Utilisez-le dès que quelqu'un dit « envoie / programme la newsletter à … ». Exemple : { "sujet": "Votre budget formation 2026 se ferme le 31 décembre", "contenu": "<p>…</p>", "liste": "L'actu BienveNum", "quand": "2026-09-17 10:00", "test_vers": "hugo@agencesw.com" }.

NameTypeReqDescription
apercustringTexte d'aperçu affiché à côté du sujet dans la boîte de réception.
contenustringyesLe mail : HTML complet, ou texte brut (mis en paragraphes automatiquement).
listestringyesÀ qui : le nom de la liste (approximatif accepté) ou son numéro.
liste_excluestringListe dont les contacts ne doivent pas recevoir ce mail (nom ou numéro).
nom_internestringNom de la campagne dans l'admin. Par défaut, le sujet.
quandstring« maintenant », ou une date à venir « 2026-09-17 10:00 » (heure de Paris). Absent = brouillon, rien ne part.
sujetstringyesObjet du mail, tel que le lecteur le verra.
test_versstringAdresse qui reçoit un exemplaire de test AVANT l'envoi ou la programmation.

No output schema declared.

No examples provided.

vaemail_get_audit_log ~76

Return the log of API actions: which key, which operation, which parameters, which result. Message bodies are never stored in it. Use it to report exactly what was done.

NameTypeReqDescription
cursorinteger
limitinteger
operationstring
sincestring

No output schema declared.

No examples provided.

vaemail_get_message ~58

Return the delivery status of a message and every event known about it (delivered, opened, clicked, bounced, complained), plus the transport error when it failed.

NameTypeReqDescription
idintegeryesMessage id returned by vaemail_send_email.

No output schema declared.

No examples provided.

vaemail_get_usage ~53

Return the monthly quota and what is left of it, today's sends, and for the key in use: its scopes, its daily cap and the remaining allowance. Read it before a batch to know whether to stop.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

vaemail_importer_contacts ~224

Ajoute des contacts (email, prénom, nom, attributs libres) à une liste, créée si elle n'existe pas. Met à jour les contacts déjà connus. Ne fait jamais : réabonner quelqu'un qui s'est désinscrit (il est ajouté à la liste mais reste désinscrit, aucun envoi ne l'atteindra) ; supprimer quoi que ce soit. Rend un compte-rendu : lignes reçues, lignes ignorées (adresse invalide), abonnés de la liste avant et après. Utilisez-le pour « ajoute ces contacts à … », « importe ce fichier dans … ». Exemple : { "liste": "Prospects salon", "contacts": [{ "email": "a@b.fr", "prenom": "Anne", "nom": "Blin", "attributs": { "SOCIETE": "Blin SA" } }] }.

NameTypeReqDescription
contactsarrayyes
listestringyesNom (ou numéro) de la liste cible. Créée si elle n'existe pas.

No output schema declared.

No examples provided.

vaemail_list_bounces ~87

List addresses excluded from sending: hard bounces, complaints and unsubscribes, with the reason for each. Sending to one of them is refused, so read this before retrying a failed recipient.

NameTypeReqDescription
cursorinteger
limitinteger
reasonstring
sincestringISO 8601 date to read from.

No output schema declared.

No examples provided.

vaemail_list_domains ~32

List the sending domains of the account with the live state of their SPF, DKIM and DMARC records.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

vaemail_list_messages ~66

List messages newest first, filtered by status, tag or recipient. Paginate with the returned next_cursor.

NameTypeReqDescription
cursorinteger
limitinteger
statusstring
tagstring
tostring

No output schema declared.

No examples provided.

vaemail_ou_en_est_ma_campagne ~167

Dit où en est une newsletter, en phrases : brouillon, programmée (et pour quand), en cours d'envoi (envoyés, restent), ou terminée (envoyés, ouverts, cliqués, rebonds, désinscriptions). Retrouve la campagne par son numéro ou par un bout de son sujet ; si plusieurs correspondent, rend la liste et vous choisissez. Lecture seule, ne change rien. Utilisez-le pour « ça en est où ? », « elle est partie ? », « combien ont ouvert ? ». Exemple : { "campagne": "budget formation" } ou { "campagne": 60 }.

NameTypeReqDescription
campagnestringyesNuméro de la campagne, ou un bout de son sujet.

No output schema declared.

No examples provided.

vaemail_qui_est_abonne ~140

Sans paramètre : toutes les listes du compte, rangées par dossier, avec le nombre d'abonnés de chacune. Avec une adresse : ses listes, et si elle est désinscrite (auquel cas aucun envoi ne l'atteindra, et il ne faut pas la réabonner). Lecture seule. Utilisez-le avant d'envoyer (pour choisir la liste) et pour « est-ce que untel est inscrit ? ». Exemple : {} ou { "adresse": "marie@exemple.fr" }.

NameTypeReqDescription
adressestringUne adresse précise, pour connaître ses listes et son statut.

No output schema declared.

No examples provided.

vaemail_send_email ~195

Queue a transactional email and return its id. The call returns as soon as the message is ACCEPTED, not when it is delivered: use vaemail_get_message to find out what happened to it. Pass idempotency_key when retrying so a network timeout cannot send the same message twice.

NameTypeReqDescription
from_namestringDisplay name of the sender.
htmlstringHTML body. Required unless template_id is given.
idempotency_keystringCaller-side unique id for this send. Replays the first response instead of sending again.
reply_tostring
subjectstringSubject line.
tagstringFree label, useful to find the message later.
template_idintegerTransactional template to render instead of html.
tostringyesRecipient address.
variablesobjectValues merged into the template.

No output schema declared.

No examples provided.

vaemail_validate_email ~72

Dry run: report whether the email would go out, and name what would block it. Sends nothing. Use it right after setup, before the first real message.

NameTypeReqDescription
htmlstring
subjectstring
template_idinteger
tostringyes

No output schema declared.

No examples provided.

vaemail_verify_domain ~61

Read SPF, DKIM and DMARC for a domain in the public DNS and report each record. Without SPF and DMARC, large mailbox providers file the mail as spam.

NameTypeReqDescription
dkim_selectorstring
domainstringyes

No output schema declared.

No examples provided.

Common questions

What is the io.github.vaemail/vaemail MCP server?

io.github.vaemail/vaemail is an MCP server listed in the public MCP registry as io.github.vaemail/vaemail. Email infrastructure for AI agents: send, authenticate domains, track delivery, diagnose issues. This page covers its npm package (vaemail).

Is the io.github.vaemail/vaemail MCP server safe to use?

io.github.vaemail/vaemail scores 84 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 20 September 2026. It declares no install or post-install scripts. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the io.github.vaemail/vaemail MCP server expose?

io.github.vaemail/vaemail exposes 17 tools: vaemail_envoyer_newsletter, vaemail_ou_en_est_ma_campagne, vaemail_qui_est_abonne, vaemail_importer_contacts, vaemail_capabilities, and 12 more. Their descriptions and schemas cost roughly 1,955 tokens of context every time the server is loaded.

Is the io.github.vaemail/vaemail MCP server still maintained?

io.github.vaemail/vaemail is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the io.github.vaemail/vaemail MCP server under?

io.github.vaemail/vaemail declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.