Atlas / MCP servers / lbesecker195 / AI-Agent-Email-List

AI-Agent-Email-ListBLOCK

mcp/lbesecker195/ai-agent-email-list

Free SMTP relay and email API with an MCP server that AI agents can sign up for themselves. Mailgun-compatible, DKIM signing, automatic warmup, inbound mail.

Verdict
BLOCK
Grade
D
Trust score
69 /100
Exposed tools
—
Transport
streamable-http
License
—
Stars
1
01

Overview

From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.

An email service an AI agent can sign up for on its own. No credit card, no sales call, no human with a corporate account. Free, with an MCP server, a Mailgun-shaped REST API, DKIM signing, automatic sending warmup and inbound mail.

Live at [ai.agentemaillist.com](https://ai.agentemaillist.com) · Source available · Built in Elixir and Phoenix

For AI agents: start here

This is a remote MCP server. Add it and the whole service arrives as tools:

https://ai.agentemaillist.com/mcp

JSON-RPC 2.0 over HTTP POST. The important part:

`create_account` needs no credentials. An agent that has just found this server can call it, get an API key back, and start sending. Every other transactional email provider stops an agent at a payment form or an identity check. This one does not.

See what is available before committing to anything:

curl -X POST https://ai.agentemaillist.com/mcp \
-H 'content-type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

The tools

Send the key as Authorization: Bearer on every call after the first.

Two things that will stop you

A domain must be verified in DNS before it can send. Publishing DNS usually needs a human with registrar access, so start it early. Until then every send returns a refusal e

Read from source at commit 8a56db0ac3e4OBSERVED · 2026-10-11
02

Trust audit

BLOCKgrade D · trust 69/100 Do not install this without reading the findings. The audit found something that could harm you or your machine.

LayerWhat it checksResult
L0Provenance & inventoryPASS
L1Static analysis of the codeWARN
L2Instruction surface (what it tells the agent)FAIL
L3Class-specific surfaceWARN
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
declared (5 observation(s))
Network
declared (8 observation(s))
Shell
none-observed
Dependencies
pinned
Secrets in source
none-found

Findings (21)

HIGHPrompt injection · prompt.override · CWE-94, CWE-1427
priv/articles/email-deliverability-guide-transactional.md:489
4. Shared “god mode” admin “email anyone” tools rate-limit and audit-log.
Why it matters. asks the agent to drop prior instructions or safety
Fix. remove the instruction
MEDIUMNetwork egress · net.raw_ip · CWE-200, CWE-319
deploy/autodeploy.sh:37
HEALTH_URL="${HEALTH_URL:-http://127.0.0.1:4005/health}"
MEDIUMNetwork egress · net.raw_ip · CWE-200, CWE-319
deploy/deploy.sh:380
curl -sf "http://127.0.0.1:$PORT/health" >/dev/null 2>&1 && break
MEDIUMNetwork egress · net.raw_ip · CWE-200, CWE-319
deploy/deploy.sh:384
if curl -sf "http://127.0.0.1:$PORT/health" >/dev/null 2>&1; then
MEDIUMAuth / authz · mcp.remote_no_auth · CWE-287, CWE-862
streamable-http
Why it matters. a network transport with no auth environment variable found
Fix. require a token
LOWInventory / provenance · inv.hidden_file · CWE-1104
.formatter.exs
.formatter.exs
Why it matters. hidden member outside the usual dotfiles
Fix. review its purpose
LOWInventory / provenance · inv.hidden_file · CWE-1104
priv/repo/migrations/.formatter.exs
.formatter.exs
Why it matters. hidden member outside the usual dotfiles
Fix. review its purpose
LOWInventory / provenance · inv.no_license · CWE-1104
Why it matters. no LICENSE file and no repo licence
Fix. add a licence
LOWPrompt injection · prompt.transfer_instruction · CWE-94, CWE-1427
README.md:89
-d '[email protected]' -d 'password=a sufficiently long password'
Why it matters. an instruction to move sensitive data to an outside destination
Fix. remove; a skill never needs the user's secrets off the machine
LOWPrompt injection · prompt.transfer_instruction · CWE-94, CWE-1427
README.md:291
-d [email protected] -d password='a sufficiently long password'
Why it matters. an instruction to move sensitive data to an outside destination
Fix. remove; a skill never needs the user's secrets off the machine
LOWPrompt injection · prompt.transfer_instruction · CWE-94, CWE-1427
priv/articles/amazon-ses-vs-mailgun-vs-agent-email-list.md:461
Agent Email List’s bet is that Mailgun’s lesson is the more portable one for indies and SaaS teams who do not want AWS as a prerequisite for password resets. Pointing Mailgun-shaped clients at `https:
Why it matters. an instruction to move sensitive data to an outside destination
Fix. remove; a skill never needs the user's secrets off the machine
LOWPrompt injection · prompt.transfer_instruction · CWE-94, CWE-1427
priv/articles/django-email-smtplib-free-smtp-setup.md:9
If you searched **Django SMTP**, **Django email backend**, or **free SMTP Django**, you already know `django.core.mail.backends.console.EmailBackend` is for local theater. Production password resets,
Why it matters. an instruction to move sensitive data to an outside destination
Fix. remove; a skill never needs the user's secrets off the machine
LOWPrompt injection · prompt.transfer_instruction · CWE-94, CWE-1427
priv/articles/django-email-smtplib-free-smtp-setup.md:19
Django’s email framework is the product-facing API most Python developers touch: `send_mail()`, `EmailMessage`, `EmailMultiAlternatives`, and the auth password-reset flow that already knows how to cal
Why it matters. an instruction to move sensitive data to an outside destination
Fix. remove; a skill never needs the user's secrets off the machine
LOWInventory / provenance · mcp.no_tools_extracted · CWE-1104
server.json
Why it matters. the tool list is enumerated at runtime by tools/list, not declared in source
Fix. the page says so rather than showing an empty table
INFOPrompt injection · prompt.authority_framing · CWE-94, CWE-1427
priv/articles/sendgrid-smtp-settings-free-alternative.md:49
1. Create an API key with at least **Mail Send** permission (Mail Send → Full Access is the usual choice for outbound SMTP-only needs).
INFOPrompt injection · prompt.authority_framing · CWE-94, CWE-1427
priv/articles/sendgrid-smtp-settings-free-alternative.md:600
1. Create a fresh API key with Mail Send → Full Access (or the least privilege that still includes mail send).
INFOPrompt injection · prompt.credential_read · CWE-94, CWE-1427
README.md:40
| `create_account` | Open an account, get an API key | **No** |
Why it matters. asks the agent to read credentials
INFOPrompt injection · prompt.credential_read · CWE-94, CWE-1427
priv/articles/amazon-ses-vs-mailgun-vs-agent-email-list.md:253
| **Identity & access** | IAM policies, orgs, SCPs | API keys + domain SMTP users | API key + `smtp_password`; store once-shown secrets |
Why it matters. asks the agent to read credentials
INFOPrompt injection · prompt.credential_read · CWE-94, CWE-1427
priv/articles/django-email-smtplib-free-smtp-setup.md:552
2. Use raw smtplib when the process intentionally avoids Django — and still read host/port/user/password from the same env vars.
Why it matters. asks the agent to read credentials
INFOPrompt injection · prompt.credential_read · CWE-94, CWE-1427
priv/articles/django-email-smtplib-free-smtp-setup.md:1109
- No CI access for production password on every PR.
Why it matters. asks the agent to read credentials
INFOPrompt injection · prompt.credential_read · CWE-94, CWE-1427
priv/articles/dotnet-mailkit-free-smtp-setup.md:1251
The following sketch shows how the pieces snap together in a modern ASP.NET Core host without inventing Agent Email List hostnames. Replace empty host/port with values from docs/dashboard when publish
Why it matters. asks the agent to read credentials

Gates applied: instruction_override, no_behavioural_pass, no_license.

Audited 2026-10-11 · audit v0.4.1 · source sha 8a56db0ac3e4full audit observations/trust-audit/mcp-server/lbesecker195__ai-agent-email-list.json · Report an issue / request a re-scan
03

Audit history

Every audit this server has had. A grade with a past is a grade somebody is still checking.

DateSourceVerdictGradeScoreChange
2026-10-118a56db0ac3e4BLOCKD69first audit
04

Questions

What is the AI-Agent-Email-List MCP server?

Free SMTP relay and email API with an MCP server that AI agents can sign up for themselves. Mailgun-compatible, DKIM signing, automatic warmup, inbound mail.

Is AI-Agent-Email-List safe to connect to an agent?

No — not without reading the findings first. The audit graded it D (69/100) and found 1 critical or high issue in the source. Each one is listed on this page with the file and line it is on.

What credentials does AI-Agent-Email-List need?

No credential environment variables were found in its source, so it appears to need none.

How does AI-Agent-Email-List run?

It speaks streamable-http, so it runs as a service you connect to over the network.

How current is this page?

The grade is for one exact copy of the source (8a56db0ac3e4), read on 2026-10-11. The repository is watched and re-audited when it changes.

Advertisement