MCP, MCP server
Proton Mail Mcp
A local MCP server that lets Codex and Claude Code work with your Proton Mail account through Proton Mail Bridge's local IMAP interface: read mail (V1), triage it as of V2 — mark read/unread, archive, move, mark as spam, apply/remove labels, and
Compatibility: Not stated.
Grade B
Minor issues only, no Medium or High. Worth a quick look at the findings below before installing.
Not a guarantee. A hygiene check of the source at the commit shown, not a security audit.
NETWORK_NO_FIXED_HOST SECRETS_PATH_DOTENV
Why this grade
- NETWORK_NO_FIXED_HOST Low
Makes a network call whose host is not written as a fixed address.
src/analysis/metadata.ts, line 164
for await (const message of client.fetch( - SECRETS_PATH_DOTENV Low
Mentions a .env file.
.gitignore, line 12
.env
Any High, or two or more Medium findings, give D. One Medium gives C. Low findings or a security Note give B. Each code names a finding behind the letter.
Grades are a hygiene check of the source at the commit shown, on the date checked, not a security audit or a guarantee. The free directory grades are automated. Before release, a PlugVet engineer reviews every paid report and any grade we hold back, including all F grades, against the source code and the evidence we quote.
What was checked
Plain notes from the hygiene checks.
Permissions
Pass
No shell or command execution found, and no extra permission was declared.
Install and update
Pass
No install-time script found, and dependencies are pinned or absent.
Network
Concern
can reach a host that is not written as a fixed address.
NETWORK_NO_FIXED_HOST
src/analysis/metadata.ts, line 164
for await (const message of client.fetch(
src/mail/messages.ts, line 132
for await (const message of client.fetch(
src/mail/messages.ts, line 142
for await (const message of client.fetch(`${start}:*`, {
Show more
src/mail/search.ts, line 53
for await (const message of client.fetch(
src/mutations/existence.ts, line 26
for await (const message of client.fetch([...uids], { uid: true }, { uid: true })) {
src/mutations/existence.ts, line 56
for await (const message of client.fetch(
src/mutations/flags.ts, line 68
for await (const message of client.fetch([uid], { uid: true, flags: true }, { uid: true })) {
src/mutations/labels.ts, line 37
for await (const message of client.fetch(
Secrets
Concern
reads a credential or environment file.
SECRETS_PATH_DOTENV
.gitignore, line 11
# Real configuration lives outside this directory, in ~/.config/proton-mail-mcp/
.gitignore, line 12
.env
.gitignore, line 14
!.env.example
Show more
README.md, line 34
in agent MCP configuration, never in a committed `.env` file, and never printed to a log.
SECURITY.md, line 19
Claude Code MCP configuration, and never placed in a committed `.env` file. `.gitignore` also
SECURITY.md, line 20
excludes `.env*`, `*.pem`, `*.crt`, `*.key`, `*.p12`, and `*.pfx` as a backstop.
Agent instructions
Pass
No instruction to ignore earlier instructions or to hide a step.
Obfuscation
Pass
No encoded or minified payload found.
Licence
Pass
A licence file is present (LICENSE).
Maintainer activity
Pass
The latest commit is within the last 365 days.
Note
Hygiene check of commit 7e77e5c52104. can reach a host that is not written as a fixed address. reads a credential or environment file.
Date and source
Date checked:
github.com
Commit graded: 7e77e5c5210400a4519f2b0fef1384a2b469a227
This link goes to the original host. PlugVet does not host or check what you download from there, and installing it is your own decision and risk.