mcp-for-apple-mail

mcp-for-apple-mail

MCP server that encapsulates Apple Mail on macOS via AppleScript, enabling invoice PDF search, attachment saving, and message flagging through natural language.

Category
Visit Server

README

mcp-for-apple-mail

Ein kleiner MCP-Server (Model Context Protocol), der Apple Mail auf dem Mac per AppleScript kapselt. Er hilft, Rechnungs-PDFs aus dem Posteingang zu finden und gezielt abzulegen, ohne Zugangsdaten zu hinterlegen: Apple Mail hat eine vollständige AppleScript-Schnittstelle und die Konten sind bereits eingerichtet.

Was ist ein MCP-Server?

MCP (Model Context Protocol) ist ein offener Standard, über den KI-Anwendungen (der Host, etwa Claude Desktop oder Claude Code) mit externen Werkzeugen und Daten sprechen. Ein Server stellt Fähigkeiten bereit und weiß selbst nichts von KI. Drei Arten:

  • Tools — Aktionen, die das Modell aufrufen kann (hier: suchen, speichern).
  • Resources — Daten zum Lesen (hier nicht genutzt).
  • Prompts — Vorlagen (hier nicht genutzt).

Kommunikation läuft über JSON-RPC 2.0, hier per stdio (lokaler Prozess).

Tools

Tool Zweck
list_mailboxes Alle Konten und Mailboxen als <Konto>:<Mailbox> auflisten
search_messages Nach Absender-Stichworten und/oder nur geflaggten Nachrichten im Zeitfenster suchen, mit Anhangnamen und Flaggen-Markierung (⚑)
save_attachment Ersten passenden PDF-Anhang (Name enthält Schlüssel, endet auf .pdf) speichern
get_message_body Klartext-Inhalt der ersten passenden Nachricht lesen (für Belege ohne PDF)
flag_message Fahne an genau einer Nachricht setzen/entfernen, optional mit Farbe; bei mehrdeutigem Schlüssel passiert nichts

Installation

npm install

Kein Build-Schritt: reines ESM-JavaScript, läuft direkt mit Node (>= 18).

Konfiguration

Die zu durchsuchenden Mailboxen stehen in einer lokalen config.json, die nicht eingecheckt wird (in .gitignore). Vorlage kopieren und die eigenen Konten eintragen:

cp config.example.json config.json

Format je Eintrag <Konto>:<Mailbox>. Die exakten Namen liefert das Tool list_mailboxes. Fehlt die config.json, greifen generische Platzhalter.

Alternativ übergibt der Aufrufer die Mailboxen je Tool direkt im mailboxes-Parameter.

Lokal testen

Mit dem MCP Inspector zum Durchklicken der Tools:

npm run inspect

Oder direkt starten (wartet dann auf JSON-RPC über stdin):

npm start

Beim ersten echten Lauf fragt macOS nach Automatisierungs-Zugriff auf Mail. Einmal erlauben.

In Claude Code registrieren

claude mcp add apple-mail -- node /absolute/path/to/mcp-for-apple-mail/src/index.js

In Claude Desktop registrieren

In ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "apple-mail": {
      "command": "node",
      "args": ["/absolute/path/to/mcp-for-apple-mail/src/index.js"]
    }
  }
}

Beispielablauf

  1. list_mailboxes, um die exakten Konto- und Mailboxnamen zu sehen.
  2. search_messages mit vendors: ["hosting", "software-vendor"] und fromDate: "2026-04-01", um zu sehen, welche Rechnungen als PDF vorliegen (Treffer zeigen die Anhangnamen in ATT{...}).
  3. Pro Treffer save_attachment mit subjKey, attKey und destPath, z. B. nach dem Schema YYYY-MM/YYYY-MM-DD <Anbieter> <Beleg>.pdf.

Grenzen

  • Nur macOS mit Apple Mail.
  • Anbieter mit reinem Portal liefern per Mail kein PDF und müssen weiter manuell geladen werden.
  • Steht die Rechnungsnummer nur im Anhang, nicht im Betreff, erst mit search_messages prüfen, wo der Schlüssel steht.

Lizenz

MIT

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured