MCP, MCP server
Fastmail Mcp Remote
Fastmail has a powerful API (JMAP) and supports IMAP, but it doesn't offer a native MCP server.
Compatibility: Not stated.
Grade C
One Medium finding. Read the report before installing.
Not a guarantee. A hygiene check of the source at the commit shown, not a security audit.
OBFUSCATION_ENCODED_BLOB
Why this grade
- OBFUSCATION_ENCODED_BLOB Medium
Contains a long base64 shaped string in a file that should be readable.
openclaw-plugin/package-lock.json, line 1
{
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 call was found in the code. This check does not read permissions an entry declares. A permission line to run shell commands was found in this repository, and it may apply to this entry.
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. can reach oauth-code.internal. The description does not name that host. can reach approval.internal. The description does not name that host. can reach api.github.com. The description does not name that host.
NETWORK_NO_FIXED_HOST NETWORK_UNNAMED_HOST
AGENTS.md, line 139
curl https://<your-worker-domain>/.well-known/oauth-authorization-server
AGENTS.md, line 142
curl https://<your-worker-domain>/
cli/auth.ts, line 283
const tokenResponse = await fetch(`${baseUrl}/mcp/token`, {
Show more
cli/auth.ts, line 357
const validateResponse = await fetch(`${baseUrl}/mcp`, {
cli/mcp-client.ts, line 95
const response = await fetch(input, { ...init, headers });
src/index.ts, line 315
const response = await handler.fetch(c.req.raw, {
src/index.ts, line 361
const response = await fetch(tokenData.downloadUrl, {
src/jmap-client.ts, line 38
// Maximum attachment size we'll fetch (10 MB)
Secrets
Concern
reads a credential or environment file.
SECRETS_PATH_DOTENV
.gitignore, line 100
.env
.gitignore, line 101
.env.development.local
.gitignore, line 102
.env.test.local
Show more
.gitignore, line 103
.env.production.local
.gitignore, line 185
!.env.example
AGENTS.md, line 386
- **Config files** (`wrangler.jsonc`, `wrangler.toml`, `*.d.ts`, `.env*`, `*.json`): No real email addresses - use `wrangler secret put` for PII
Agent instructions
Pass
No instruction to ignore earlier instructions or to hide a step.
Obfuscation
Concern
contains an encoded blob in a file that should be readable.
OBFUSCATION_ENCODED_BLOB
openclaw-plugin/package-lock.json, line 1
{
src/favicon.ts, line 2
export const FASTMAIL_ICON_BASE64 = 'iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAMTWlDQ1BJQ0MgUHJvZmlsZQAASImVVwdYU8kWnltSIQQIREBK6E0QkRJASggt9I4gKiEJEEqMCUHFjiyu4NpFBMuKrlIU2wr
Licence
Note
no licence file found.
LICENCE_MISSING
No file path was stored.
no licence file found.
Maintainer activity
Pass
The latest commit is within the last 365 days.
Note
Hygiene check of commit 89d7a8e1b316. can reach a host that is not written as a fixed address. can reach oauth-code.internal. The description does not name that host. can reach approval.internal. The description does not name that host. can reach api.github.com. The description does not name that host. reads a credential or environment file. contains an encoded blob in a file that should be readable. no licence file found.
Date and source
Date checked:
github.com
Commit graded: 89d7a8e1b316aa43b67372fe46fdb81fb2333509
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.