github JavaScript analyzed 7031354

sweetrb/apple-mail-mcp

github

MCP server for Apple Mail - read, search, send, and manage emails via Claude and other AI assistants

maintainer
sweetrb
license
MIT
first seen
2026-06-21
last seen
2026-08-02
releases · 30d
18
short id

Drift inferred · capture-to-capture

No drift recorded — single capability capture; advisories appear once its surface changes.

capabilities 0 tools
transport stdio counts 0 tools · 0 res · 0 prompts permission surface via code analysis

No tools enumerated yet for this server.

skills & danger signals github-tarball
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

code evidence vv2.9.1 · github-tarball
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