Mobile Claude — Architektur

Wie das Setup funktioniert wenn du vom Handy aus im Repo arbeiten und/oder Push-Benachrichtigungen empfangen willst — ohne eigenen Server.

Was GitHub MCP so mächtig macht

Der GitHub MCP ist im Kern ein HTTP-Wrapper um die GitHub-API, den Claude direkt aufrufen kann. Was Claude in der App damit kann:

  • Files lesen/schreiben/erstellen in jedem Branch deines Repos
  • Commits machen (mit Message)
  • Branches anlegen, mergen
  • Pull Requests erstellen, kommentieren, reviewen, mergen
  • Issues lesen, schreiben, schließen
  • Code-Search im ganzen Repo (Volltext)
  • Workflows triggern, Status checken

Das heißt praktisch: alles was du mit deinem Repo am Mac machst, kann Claude in der App auch. Der einzige Unterschied ist Latenz (jede Aktion ist HTTP zu GitHub statt lokales Filesystem) und dass jede Änderung ein Commit ist (kann man mit Branches filtern).

Limitierung: MCPs die nur lokal als stdio laufen (deine gsuite, banksapi, lexware Forks) sind in der App nicht verfügbar. Calendar-Patches wie heute Abend funktionieren mobil also nicht — dafür bräuchte es einen eigenen Remote-MCP-Server (z.B. auf Hetzner).

Architektur — Gesamtbild

flowchart TB
    subgraph Phone["📱 iPhone"]
        ClaudeApp[Claude.ai App]
        ShortcutsApp[iOS Shortcuts App]
        Notifications[iOS Notifications]
    end

    subgraph Cloud["☁️ Cloud-Services"]
        ClaudeAI[claude.ai Server<br/>Inferenz + MCPs]
        GitHubMCP[GitHub MCP<br/>HTTP-Wrapper]
        RemoteTrigger[Remote Trigger<br/>Cron auf claude.ai]
    end

    subgraph GitHub["🐙 GitHub"]
        Repo[(agent-agentur<br/>Repo)]
    end

    subgraph Mac["💻 Mac (zuhause)"]
        LocalRepo[Lokales Repo]
        ClaudeCode[Claude Code CLI]
        LocalMCPs[Lokale MCPs<br/>gsuite, banksapi, ...]
    end

    subgraph PushChannel["📨 Push-Channel"]
        Email[Email an hello@]
        Webhook[Webhook<br/>z.B. n8n / Cloudflare Worker]
    end

     Sync mit Mac
    Repo <-->|git pull/push| LocalRepo
    LocalRepo --- ClaudeCode
    ClaudeCode --- LocalMCPs

     User opens chat
    Notifications -.->|tap| ClaudeApp

    style Phone fill:#e1f5ff
    style Cloud fill:#fff4e1
    style GitHub fill:#f0f0f0
    style Mac fill:#e8f5e9
    style PushChannel fill:#fce4ec

Die zwei Loops im Detail

Loop A: Du chattest aus der App im Repo

sequenceDiagram
    participant Du as 📱 Du in der App
    participant App as Claude.ai App
    participant MCP as GitHub MCP
    participant Repo as GitHub Repo

    Du->>App: "Was steht in action-items.md?"
    App->>MCP: get_file_contents(path: action-items.md)
    MCP->>Repo: GET /repos/.../contents/action-items.md
    Repo-->>MCP: file content
    MCP-->>App: parsed content
    App-->>Du: "Du hast 50 offene TODOs, die wichtigsten..."

    Du->>App: "Trag in inbox/ ein: Schornsteinfeger anrufen"
    App->>MCP: create_or_update_file(...)
    MCP->>Repo: PUT /repos/.../contents/inbox/2026-04-19-...
    Repo-->>MCP: commit sha
    MCP-->>App: ok
    App-->>Du: "Erledigt. Commit abc123 auf main."

Was du brauchst:

  • Claude.ai App auf iPhone (existiert)
  • GitHub MCP in der App aktivieren — App-Settings → Connectors → GitHub → einloggen → Repo marvin-khl/agent-agentur autorisieren
  • Pro Plan oder höher (GitHub MCP ist Pro-Feature)

Was nicht geht:

  • Calendar-Patches (gsuite ist lokal)
  • Banking-Checks (banksapi ist lokal)
  • Long-running Bash auf deinem Mac
  • Files außerhalb des Repos

Loop B: System pusht dir was

sequenceDiagram
    participant Cron as Remote Trigger (Cron)
    participant Claude as claude.ai Inferenz
    participant Repo as GitHub Repo
    participant Push as Push-Channel
    participant Phone as 📱 iPhone

    Note over Cron: 21:00 täglich
    Cron->>Claude: starte Session "Abend-Push"
    Claude->>Repo: lies day-plans/heute.md + action-items.md
    Repo-->>Claude: content
    Claude->>Claude: extrahiere 3 wichtigste Blöcke morgen
    Claude->>Push: sende Nachricht
    Push->>Phone: iOS Notification
    Phone-->>Phone: Notification erscheint
    Note over Phone: Du tippst drauf
    Phone->>Phone: öffnet Claude App

Push-Channel-Optionen:

ChannelSetup-AufwandVorteileNachteile
Email an hello@0min (existiert)Sofort, iOS-nativEmail-App, nicht sofort wieder im Chat
Telegram-Bot30min (BotFather + Token)Reply per Voice direkt im BotEigener Bot, extra App
iOS Shortcut + Webhook60min (Shortcut + Server)Sehr nativ, Notification-Action öffnet Claude AppWebhook-Endpoint nötig
Pushover15min (App + API-Key)Sehr robust, gemacht für genau das$5 einmalig, extra App

iOS Shortcut + Webhook — wie das genau funktioniert

flowchart LR
    subgraph CloudSide["☁️ Cloud"]
        Trigger[Remote Trigger<br/>21:00 cron]
        Webhook[Webhook-Endpoint<br/>z.B. n8n.deinedomain.de]
    end

    subgraph PhoneSide["📱 iPhone"]
        Shortcut[iOS Shortcut<br/>'Daily Brief']
        Notif[Notification mit Inhalt]
        Browser[Safari / Claude App]
    end

    Trigger -->|1. fires| Trigger
    Trigger -->|2. session reads repo, builds message| Trigger
    Trigger -->|3. POST JSON payload| Webhook
    Webhook -->|4. Push-Provider z.B. Pushover, Pushcut| Shortcut
    Shortcut -->|5. zeigt Notification| Notif
    Notif -->|6. Tap-Action öffnet| Browser

Setup-Schritte iOS Shortcut + Webhook

A) Push-Provider wählen (das löst „wie kommt der Webhook auf dein Lock-Screen”):

  • Pushcut (gratis basic, gemacht für genau das) — eigene URL pro Notification, du POSTest dahin, Notification erscheint
  • Pushover ($5 einmalig, robuster)
  • n8n + iOS Shortcut Trigger (wenn du eh n8n nutzt)

B) iOS Shortcut bauen:

  1. Shortcuts-App → neuer Shortcut „Daily Brief”
  2. Action: „Receive input from Pushcut” (oder Webhook)
  3. Action: „Show Notification” mit dem empfangenen Text
  4. Action: „Open URL” → https://claude.ai/chat (öffnet Claude App)

C) Remote Trigger konfigurieren:

  • Trigger feuert 21:00
  • Session prompt: „Lies operations/day-plans/morgen.md, extrahiere die 3 wichtigsten Blöcke, schicke als Pushcut-POST an https://api.pushcut.io//notifications/daily-brief”

D) Reply zurück (optional):

  • iOS Shortcut hat eine „Dictate Text”-Action
  • Diktat wird an einen zweiten Webhook gepostet
  • Webhook startet einen anderen Trigger der den Text in inbox/ ablegt
  • → kompletter mobiler Loop ohne Claude App öffnen zu müssen

Was ich empfehle für dich

Heute Abend (30min):

  1. GitHub MCP in der Claude.ai App aktivieren — App → Settings → Connectors → GitHub
  2. Erste Test-Frage in der App: „Was steht in runs/_index.md ganz oben?” — wenn Claude antwortet, läuft’s

Diese Woche (zusätzlich, wenn Push gewünscht): 3. Pushcut installieren + URL kopieren 4. Remote Trigger reaktivieren mit dem Daily-Brief-Prompt (siehe Setup-Schritte oben)

Nicht jetzt:

  • Hetzner — nur nötig wenn du gsuite/Calendar mobil patchen willst (Phase 2 später)
  • Telegram-Bot — kompliziert, Pushcut macht’s einfacher
  • n8n-Setup — Overkill für Daily-Brief