CCPhoto
CCPhoto
Verbinde deine Handykamera über das lokale Netzwerk mit Claude Code.
CCPhoto ist ein MCP-Server, mit dem du Fotos auf deinem Telefon aufnehmen und direkt an Claude Code senden kannst. Halte dein Telefon auf eine Leiterplatte, ein Whiteboard, ein Etikett – auf alles – und Claude sieht es sofort. Keine App-Installation erforderlich; die Browserkamera deines Telefons erledigt die ganze Arbeit.
+----------+ WiFi +-----------+ MCP +-------------+
| Phone | photos, voice, | CCPhoto | image/text | Claude |
| Camera | mode switches | Server | data | Code |
| + Mic | <--------------- | (local) | <--------------- | |
+----------+ TTS, guidance +-----------+ send_to_phone +-------------+Schnellstart
npx ccphoto --setup # One-time: register CCPhoto as an MCP serverSage dann in Claude Code einfach „mach ein Foto“ – Claude erledigt den Rest.
Related MCP server: Xcode MCP Server
So funktioniert's
Claude ruft das MCP-Tool
capture_photoauf.In deinem Terminal erscheint ein QR-Code.
Scanne ihn mit deinem Telefon – in deinem Browser öffnet sich eine Kameraseite.
Mache ein Foto – Claude empfängt das Bild direkt.
Keine App-Installation nötig. Die native Kamera des Telefons wird über das
HTML-Attribut <input capture> angesprochen.
Always-On-Modus
Der Server startet beim ersten capture_photo-Aufruf und bleibt während der
gesamten Sitzung aktiv. Dein Telefon bleibt verbunden – ein erneutes Scannen
des QR-Codes ist nicht nötig. Du kannst so viele Fotos aufnehmen, wie du
möchtest, und jedes davon abrufen, indem du Claude darum bittest.
Benachrichtigungen bei Fotoanfragen
Wenn dein Telefon bereits verbunden ist und Claude erneut capture_photo
aufruft, erhält das Telefon eine SSE-Push-Benachrichtigung. Der
Aufnahmebutton pulsiert, um dich darauf hinzuweisen, dass Claude auf ein neues
Foto wartet. Einfach tippen und aufnehmen.
Bidirektionale Nachrichtenübermittlung
Claude kann Inhalte über das Tool send_to_phone an dein Telefon senden.
Text, Markdown und Bilder erscheinen in einem ausklappbaren Bereich auf dem
Telefon. So wird dein Telefon zum Referenzbildschirm – Claude kann
Schaltanweisungen, Pinbelegungsdiagramme oder Codeausschnitte anzeigen, während
du mit beiden Händen arbeitest.
Foto-Anmerkungen
Nach der Aufnahme eines Fotos erscheint ein Anmerkungsbildschirm, auf dem du das Bild bearbeiten kannst, bevor du es sendest. Verwende farbige Stifte (Rot, Blau, Grün, Weiß), um Komponenten einzukreisen, Pfeile zu zeichnen oder Bereiche hervorzuheben. Tippe auf „Senden“, um das mit Anmerkungen versehene Bild hochzuladen, oder auf „Überspringen“, um das Originalfoto ohne Anmerkungen zu senden.
Live-Video-Assistent
Starte einen halb-echtzeit Videostream von deiner Telefonkamera. Claude beobachtet das Live-Bild (ein Bild alle 3 Sekunden) und gibt in Echtzeit Anweisungen – richte die Kamera dorthin, worum Claude bittet, und erhalte Anweisungen auf deinem Telefonbildschirm.
Erfordert HTTPS (für den Kamerazugriff). Akzeptiere in Android Chrome einmalig die Zertifikatswarnung. Derzeit nur Android/Chrome; iOS-Unterstützung geplant.
Sprachinteraktion
Tippe auf dem Telefon auf die Mikrofontaste, um mit Claude zu sprechen. Sprache
wird mithilfe der integrierten Spracherkennungs-API des Browsers transkribiert
und als Text gesendet. Claude kann mit gesprochenem Audio über send_to_phone
mit speak: true antworten – das Telefon spricht die Antwort per Text-to-Speech
laut aus.
Das ermöglicht freihändige Arbeitsabläufe: Stelle eine Frage, während du einen Lötkolben hältst, und höre die Antwort, ohne auf einen Bildschirm zu schauen. Die Mikrofontaste erscheint nur in Browsern, die Spracherkennung unterstützen (Android Chrome).
Generative UI
Claude kann auf der Grundlage dessen, was es sieht, umfangreiche, kontextbezogene Benutzeroberflächen auf deinem Telefon erzeugen. Richte deine Kamera auf ein Produkt, eine Komponente, ein Rezept oder irgendetwas anderes – Claude analysiert es und sendet eine individuelle interaktive Oberfläche an dein Telefondisplay.
12 Komponententypen: Card, Text, Image, Metric, MetricGrid, Checklist, StepByStep, Alert, Table, Timer, Badge und Divider. Claude setzt diese zu kontextbezogenen Layouts zusammen – eine Pflanzenpflegekarte mit Bewässerungs-Checkliste, eine Schaltkreiskomponententabelle mit Pinbelegungsdiagrammen oder eine Schritt-für-Schritt-Reparaturanleitung mit Timern.
Verwende send_to_phone mit dem Parameter ui_spec, um benutzerdefinierte
Benutzeroberflächen zu erzeugen.
Installation
npx (empfohlen, keine Installation)
npx ccphoto --setupGlobale Installation
npm install -g ccphoto
ccphoto --setupAus dem Quellcode
git clone https://github.com/stepankaiser/ccphoto.git
cd ccphoto
npm install
npm run build
node dist/index.js --setupWenn du den MCP-Server lieber manuell registrieren möchtest, anstatt --setup
zu verwenden:
claude mcp add ccphoto -- npx ccphoto --mcpReferenz der MCP-Tools
Tool | Beschreibung | Parameter |
| Starte den Server und zeige einen QR-Code an. Wenn bereits ein Telefon verbunden ist, erhält es stattdessen eine Push-Benachrichtigung. | -- |
| Warte, bis ein Foto hochgeladen wurde oder das Zeitlimit abläuft. Rufe dies unmittelbar nach |
|
| Gibt das neueste Foto zurück oder ein bestimmtes Foto anhand des Dateinamens. |
|
| Listet alle aufgenommenen Fotos mit Dateinamen, Zeitstempeln und Größen auf. | -- |
| Sendet Text, Bilder oder umfangreiche generative UI an das Telefondisplay. Das Telefon wird zum Referenzbildschirm für Anweisungen, Diagramme oder Pinbelegungen. |
|
| Startet einen Live-Videostream von der Telefonkamera. Erzeugt ein HTTPS-Zertifikat und gibt einen QR-Code zurück. | -- |
| Ruft das neueste Bild aus dem Live-Kamerastream mit Frische-Zeitstempel ab. | -- |
Standalone-CLI-Modus
CCPhoto kann auch unabhängig von Claude Code ausgeführt werden:
npx ccphoto # Start with defaults
npx ccphoto --port 4000 --output-dir ./photos # Custom port and directoryEin QR-Code wird im Terminal ausgegeben. Scanne ihn, mache Fotos, und sie werden auf der Festplatte gespeichert. Der Server bleibt für mehrere Aufnahmen aktiv.
CLI-Optionen
Option | Beschreibung | Standard |
| Registriert CCPhoto als MCP-Server in Claude Code | -- |
| Als MCP-Server ausführen (wird intern von Claude Code verwendet) | -- |
| HTTP-Serverport |
|
| Verzeichnis, in dem Fotos gespeichert werden |
|
| Hilfe anzeigen | -- |
Konfiguration
Umgebungsvariable | Beschreibung | Standard |
| Überschreibt das Standardverzeichnis für die Fotospeicherung |
|
Sicherheit
Sitzungstoken – Für jede Serversitzung wird ein kryptographisch zufälliger Hex-Token mit 32 Zeichen generiert. Jede Anfrage muss den Token enthalten.
Timing-sicherer Vergleich – Die Tokenvalidierung verwendet
crypto.timingSafeEqual, um Timing-Angriffe zu verhindern.Nur lokales Netzwerk – Der Server bindet an deine lokale Netzwerk-IP. Keine Daten verlassen dein Netzwerk.
Keine externen Dienste – Fotos werden direkt zwischen deinem Telefon und dem Server über HTTP in deinem LAN übertragen. Nichts wird in die Cloud hochgeladen.
Fehlerbehebung
Lokale Netzwerk-IP konnte nicht erkannt werden
Stelle sicher, dass dein Computer mit WLAN verbunden ist (in manchen Konfigurationen reicht Ethernet nicht aus). CCPhoto benötigt eine LAN-IP-Adresse, die dein Telefon erreichen kann.
QR-Code lässt sich nicht scannen
Versuche, die Terminal-Schriftgröße zu vergrößern oder die Terminalbreite zu verringern, damit der QR-Code in einer scannbaren Auflösung dargestellt wird. Du kannst auch die unter dem QR-Code angezeigte URL kopieren und manuell in den Browser deines Telefons eingeben.
Telefonkamera öffnet sich nicht
Die Kameraaufnahmefunktion erfordert in einigen Browsern HTTPS, aber die meisten mobilen Browser erlauben sie über einfaches HTTP für lokale Netzwerkadressen. Wenn dein Browser den Kamerazugriff blockiert, versuche Safari (iOS) oder Chrome (Android).
Upload schlägt fehl
Stelle sicher, dass sich dein Telefon und dein Computer im selben WLAN-Netzwerk befinden. Unternehmensnetzwerke mit Client-Isolation können den Geräte-zu-Geräte-Verkehr blockieren. Versuche stattdessen einen persönlichen Hotspot oder ein Heimnetzwerk.
Entwicklung
npm install # Install dependencies
npm run build # Compile TypeScript
npm run dev # Watch mode (recompile on change)
npm test # Run the test suite (94 tests)Die Tests verwenden den in Node.js integrierten Test-Runner und benötigen die
tsx-Entwicklungsabhängigkeit für die Ausführung von TypeScript.
Projektstruktur:
src/
index.ts CLI entry point and arg parsing
mcp.ts MCP server with tool definitions
server.ts HTTP server, SSE, upload handling
mobile-page.ts Self-contained HTML for the phone camera page
storage.ts Photo file management
network.ts Local IP detection
token.ts Session token generation and validation
types.ts Shared TypeScript interfacesRoadmap
Echte Domain + Zertifikate von Let's Encrypt – Verwende eine registrierte Domain mit gültigen Zertifikaten für null Browserwarnungen auf jedem Gerät, einschließlich iOS Safari.
iOS-Live-Video-Unterstützung – Live-Videostreaming funktioniert derzeit auf Android/Chrome. Die iOS-Safari-Unterstützung erfordert vertrauenswürdige Zertifikate.
AR-Overlays im Kamerabild – Zeichne Anmerkungen direkt in Echtzeit auf die Live-Kameraansicht.
Multi-Kamera-Unterstützung – Verbinde mehrere Telefone gleichzeitig für verschiedene Blickwinkel.
WebRTC-Streaming – Ersetze das HTTP-Frame-Polling durch WebRTC, sobald sich die Verarbeitungslatenz von Claudes Vision verbessert.
Mitwirken
Beiträge sind willkommen.
Forke das Repository
Erstelle einen Feature-Branch (
git checkout -b my-feature)Nimm deine Änderungen vor
Führe
npm testaus, um sicherzustellen, dass nichts kaputt istCommitte deine Änderungen (
git commit -m "Add my feature")Pushe deinen Branch (
git push origin my-feature)Erstelle einen Pull-Request
Wenn du einen Fehler meldest, gib bitte deine Node.js-Version, dein Betriebssystem und die Schritte zur Reproduktion des Problems an.
Lizenz
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseBqualityFmaintenanceBridges Claude AI with Xcode, enabling AI-powered code assistance, project management, and automated development tasks securely on your local machine.7690385MIT
- -licenseNot gradedqualityNot gradedmaintenanceA server that acts as a bridge between Claude and local Xcode projects, enabling AI-powered code assistance, project management, and automated development tasks without exposing your code to the internet.
- AlicenseNot gradedqualityDmaintenanceEnables remote control and monitoring of Claude Code sessions from mobile devices through ChatGPT Custom Connectors. Allows creating, managing, and interacting with multiple Claude Code sessions via natural language commands from anywhere.3MIT
- FlicenseBqualityDmaintenanceBridges Claude Desktop with Claude Code CLI to delegate complex coding tasks like creating React apps, building APIs, and debugging scripts while maintaining interaction through the Desktop interface.51
Related MCP Connectors
Real-time chat hub for AI agents — Claude Code, Cursor, Cline, Codex over MCP or REST.
Let ChatGPT, Claude & Cursor use your Mac: email, calendar, iMessage, Teams, files. Local, free.
Live SEO workflow tools for Claude Code, Codex, and AI agents.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/stepankaiser/ccphoto'
If you have feedback or need assistance with the MCP directory API, please join our Discord server