MCP server for Apple Mail - read, search, send, and manage emails via Claude and other AI assistants
Drift inferred · capture-to-capture
No drift recorded — single capability capture; advisories appear once its surface changes.
transport stdio counts 0 tools · 0 res
· 0 prompts
permission surface via code analysis
No tools enumerated yet for this server.
prompt-surface
shipped agent-instruction files + hidden-content / dangerous-code findings —
quoted from the analyzed source
analyzed commit 7031354 · analyzer v28 · 11h ago
skills & prompt files 4
danger signals1
- over-broad OAuth scope https://mail.google.com/ sweetrb-apple-mail-mcp-7031354/build/cli.js :9235
scope: this.options.scope || "https://mail.google.com/",
evidence-backed
findings quoted directly from the published source artifact — not inferred
code files: 65
filesystem 9
- fs sweetrb-apple-mail-mcp-7031354/build/cli.js :1358
return resolveStream(fs.createReadStream(content.path), callback); - fs sweetrb-apple-mail-mcp-7031354/src/cli.ts :23
import { readFileSync, realpathSync } from "fs"; - fs sweetrb-apple-mail-mcp-7031354/src/index.ts :28
import { writeFileSync } from "fs"; - fs sweetrb-apple-mail-mcp-7031354/src/services/appleMailManager.ts :29
} from "fs"; - fs sweetrb-apple-mail-mcp-7031354/src/services/fileConfig.ts :18
import { existsSync, readFileSync } from "fs"; - fs sweetrb-apple-mail-mcp-7031354/src/services/smtpMailer.ts :22
import { existsSync } from "fs"; - fs sweetrb-apple-mail-mcp-7031354/src/services/templateStore.ts :12
import { existsSync, mkdirSync, readFileSync, writeFileSync } from "fs"; - fs sweetrb-apple-mail-mcp-7031354/src/utils/attachmentMaterialize.ts :10
import { writeFileSync, rmSync, mkdtempSync } from "fs"; - fs sweetrb-apple-mail-mcp-7031354/src/utils/contactsDb.ts :19
import { existsSync, readdirSync } from "fs";
shell / exec 4
- shell sweetrb-apple-mail-mcp-7031354/build/cli.js :11140
var { spawn } = __require("child_process"); - shell sweetrb-apple-mail-mcp-7031354/src/services/appleMailManager.ts :16
import { spawnSync } from "child_process"; - shell sweetrb-apple-mail-mcp-7031354/src/services/smtpMailer.ts :20
import { execFileSync } from "child_process"; - shell sweetrb-apple-mail-mcp-7031354/src/utils/applescript.ts :10
import { execSync, spawnSync } from "child_process";
network 1
- net sweetrb-apple-mail-mcp-7031354/src/services/imapClient.ts :114
fetch(
secrets 1
- secrets sweetrb-apple-mail-mcp-7031354/build/cli.js :11738
var ETHEREAL_API_KEY = (process.env.ETHEREAL_API_KEY || "").replace(/\s*/g, "") || null;
install hooks 3
- preinstall (suspicious) sweetrb-apple-mail-mcp-7031354/package.json :19
node -e "const fs=require('fs');const ua=process.env.npm_config_user_agent||'';if(fs.existsSync('.git')&&!ua.startsWith('pnpm')){console.error('\nThis repo uses pnpm. npm/yarn resolve dependencies off - prepublishOnly sweetrb-apple-mail-mcp-7031354/package.json :36
pnpm run lint && pnpm test && pnpm run build - prepare sweetrb-apple-mail-mcp-7031354/package.json :37
husky; pnpm run build
declared dependencies 20
- @modelcontextprotocol/sdk@^1.29.0
- imapflow@^1.4.1
- nodemailer@^9.0.0
- zod@^3.22.4
- @eslint/js@^9.0.0
- @types/node@^20.0.0
- @types/nodemailer@^8.0.1
- @typescript-eslint/eslint-plugin@^8.0.0
- @typescript-eslint/parser@^8.0.0
- @vitest/coverage-v8@^4.1.9
- esbuild@^0.28.1
- eslint@^9.0.0
- globals@^17.0.0
- husky@^9.1.7
- lint-staged@^16.2.7
- prettier@^3.0.0
- tsconfig-paths@^4.2.0
- typescript@^5.0.0
- typescript-eslint@^8.51.0
- vitest@^4.1.9