MCP Server
KI-Assistenten-Integration via Model Context Protocol
Was ist MCP?
Das Model Context Protocol (MCP) ist ein offener Standard, der es KI-Assistenten wie Claude ermöglicht, direkt mit lokalen Anwendungen zu kommunizieren. Die Überweisungen-App enthält einen eingebetteten MCP Server, der über HTTP und JSON-RPC 2.0 angesprochen wird.
Eingebetteter Server
Der MCP Server läuft direkt in der App — keine separate Installation nötig. Einfach in den Einstellungen (⌘,) den Tab MCP Server öffnen und starten.
- Protokoll: JSON-RPC 2.0 über HTTP
- Standard-Port: 8765
- Sicherheit: Nur localhost (127.0.0.1)
- Status-Anzeige: Grünes Banner in der Sidebar wenn aktiv
Verfügbare Tools
Der MCP Server stellt 12 Tools bereit:
Lesen & Suchen
list_transfers— Alle Überweisungen auflisten mit Filter (offen/überwiesen) und Sortierungget_transfer— Einzelne Überweisung per UUID abrufensearch_transfers— Volltextsuche über Empfänger, IBAN, Verwendungszweck, Bankget_statistics— Aggregierte Statistiken (Anzahl, Summen, Top-Empfänger)get_transfer_summary— Lesbare Zusammenfassung für Berichteexport_transfers— CSV-Export aller Überweisungen
Erstellen & Bearbeiten
create_transfer— Neue Überweisung mit Empfänger, IBAN, Betrag, Zweckupdate_transfer— Bestehende Überweisung ändern (nur angegebene Felder)delete_transfer— Nicht-überwiesene Buchung löschenmark_transferred— Status zwischen offen und überwiesen wechseln
MoneyMoney-Integration
send_to_moneymoney— Überweisung direkt an MoneyMoney senden (per ID oder mit Direktangaben)list_accounts— Alle Girokonten aus MoneyMoney abrufen
API-Endpunkte
| Methode | Pfad | Beschreibung |
|---|---|---|
GET |
/health |
Health Check |
GET |
/mcp/tools |
Liste aller Tools mit Schema |
POST |
/mcp |
JSON-RPC 2.0 Endpunkt |
Beispiele
Health Check
curl http://localhost:8765/health
{
"status": "ok",
"server": "Überweisungen MCP Server",
"version": "1.0"
}
Alle offenen Überweisungen auflisten
curl -X POST http://localhost:8765/mcp \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "list_transfers",
"arguments": {
"status": "open",
"sort_by": "amount",
"sort_order": "desc"
}
}
}'
Neue Überweisung erstellen
curl -X POST http://localhost:8765/mcp \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "create_transfer",
"arguments": {
"recipient": "Max Mustermann GmbH",
"iban": "DE89370400440532013000",
"amount": 1250.50,
"purpose": "Rechnung RE-2026-042",
"bank": "Commerzbank"
}
}
}'
An MoneyMoney senden
curl -X POST http://localhost:8765/mcp \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
"name": "send_to_moneymoney",
"arguments": {
"recipient": "Stadtwerke München",
"iban": "DE12500105170648489890",
"amount": 89.90,
"purpose": "Strom Februar 2026"
}
}
}'
Statistiken abrufen
curl -X POST http://localhost:8765/mcp \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 4,
"method": "tools/call",
"params": {
"name": "get_statistics",
"arguments": {}
}
}'
Antwort:
{
"total": { "count": 25, "amount": 15432.50, "average": 617.30 },
"open": { "count": 8, "amount": 4521.00 },
"transferred": { "count": 17, "amount": 10911.50 },
"today": { "count": 3 },
"this_week": { "count": 7 },
"this_month": { "count": 12 },
"top_recipients": [
{ "recipient": "Stadtwerke München", "total_amount": 539.40, "count": 6 }
]
}
Überweisungen durchsuchen
curl -X POST http://localhost:8765/mcp \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 5,
"method": "tools/call",
"params": {
"name": "search_transfers",
"arguments": {
"query": "Stadtwerke",
"limit": 5
}
}
}'
CSV-Export
curl -X POST http://localhost:8765/mcp \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 6,
"method": "tools/call",
"params": {
"name": "export_transfers",
"arguments": { "status": "all" }
}
}'
Typische Workflows
Rechnung verarbeiten
create_transfer— Überweisung aus Rechnungsdaten erstellenget_transfer— Ergebnis prüfensend_to_moneymoney— An MoneyMoney senden
Monatsübersicht erstellen
get_statistics— Gesamtstatistik abrufenlist_transfers— Alle Überweisungen des Monats auflistenexport_transfers— CSV für Buchhaltung exportieren
Buchung suchen und korrigieren
search_transfers— Nach Empfänger oder IBAN suchenget_transfer— Details abrufenupdate_transfer— Daten korrigieren
Technische Details
Architektur
Der MCP Server ist als @MainActor Singleton implementiert (MCPServerService.shared) und nutzt Apples Network.framework (NWListener) für den TCP-Server. Die JSON-RPC Verarbeitung erfolgt auf dem Main Thread, damit CoreData-Zugriffe sicher sind.
JSON-RPC 2.0 Methoden
| Methode | Beschreibung |
|---|---|
initialize |
Client-Handshake, Server-Capabilities |
tools/list |
Liste aller Tools mit InputSchema |
tools/call |
Tool ausführen mit Argumenten |
ping |
Verbindungstest |
Sicherheit
- Server lauscht nur auf localhost (127.0.0.1)
- Keine Authentifizierung — nur für lokale Nutzung
- Löschungen nur für nicht-überwiesene Buchungen
- MoneyMoney-Überweisungen landen im Postausgang (nicht direkt ausgeführt)
- CORS-Header für lokale Web-Clients aktiviert
Hinweis: MoneyMoney ist eine eigenständige macOS Banking-App, entwickelt von MRH applications. Dieses Projekt steht in keiner Verbindung zu MoneyMoney — es nutzt lediglich die öffentliche AppleScript-Schnittstelle zur Datenübergabe.