NikonMCP
NikonMCP ist das Nikon-Kameramodul für den lokalen MCP-Server der App. Es stellt ausgewählte Nikon-Kamerastatus und Kameraaktionen einem MCP-Client zur Verfügung.
Verwenden Sie NikonMCP, wenn ein KI-Assistent, ein Labortool, ein skriptfähiger Client oder ein externer Controller den verbundenen Nikon-Kamerastatus inspizieren oder eine kleine Menge von Kameraaktionen anfordern muss. Verwenden Sie die normale App-Benutzeroberfläche, wenn Sie vollständige manuelle Kontrolle, Einrichtung, Bilddurchsicht, Metadatenüberprüfung oder Workflow-Bearbeitung benötigen.
Bevor Sie beginnen
- Öffnen Sie den MCP-Server.
- Aktivieren Sie die NikonMCP-Modulkarten.
- Bestätigen Sie den Endpunkt und das Bearer-Token.
- Starten Sie den MCP-Server.
- Konfigurieren Sie Ihren MCP-Client mit dem Endpunkt und dem Token.
- Listen Sie im Client die Tools auf und bestätigen Sie, dass die Nikon-Tools angezeigt werden.
Der Client sollte die von dem Server empfangene MCP-Tool-Liste als Quelle der Wahrheit verwenden. Verschiedene App-Versionen können unterschiedliche NikonMCP-Tools bereitstellen.
Kamerastatus
nikon_camera_get_state gibt den aktuellen Nikon-Zustands-Snapshot zurück. Ändernde Tools geben ebenfalls einen Zustands-Snapshot zurück, wenn dies praktikabel ist.
Die ersten NikonMCP-Kamerastatusfelder sind:
canCapture: wahr, wenn die App derzeit eine No-AF-Aufnahmeanforderung zulässt.statusMessage: die gleiche kurze Kamerastatusmeldung, die in der App angezeigt wird.canConfigureConnection: wahr, wenn die Verbindungseinstellungen geändert werden können.isConnected: wahr, wenn der ausgewählte Nikon-Kamerabody verbunden ist.isLiveViewEnabled: wahr, wenn die Live-Ansicht derzeit aktiviert ist.lastCapturedImagePath: der zuletzt gespeicherte Bildfinalpfad, wenn einer bekannt ist.lastCapturedImagePaths: alle Finalpfade von der letzten Aufnahme, wenn mehr als eine Datei gespeichert wurde.
lastCapturedImagePath ist nützlich für Clients, die ein Bild aufnehmen und dann diese gespeicherte Datei mit einem separaten Bild- oder Vision-Tool inspizieren. Für RAW plus JPEG oder andere Mehrfachdateimodi verwenden Sie lastCapturedImagePaths, wenn der Client jede gespeicherte Datei benötigt.
NikonMCP-Tools
nikon_hello
Validiert, dass NikonMCP aktiviert und erreichbar ist. Es greift nicht auf die Kamera zu.
nikon_camera_get_state
Liest den aktuellen Nikon-Zustands-Snapshot. Dies ist der sicherste erste Aufruf nach dem Verbinden eines Clients. Verwenden Sie es, bevor Sie eine Aufnahme, Live-Ansicht oder Fokus anfordern, damit der Client sehen kann, ob die Kamera bereit ist.
nikon_camera_toggle_connection
Fordert das gleiche Verhaltensmuster für die Verbindungsumschaltung an wie die Kameraverbindungssteuerung der App. Wenn der Body getrennt ist, beginnt die App mit der Verbindung. Wenn der Body verbunden ist, beginnt die App mit der Trennung.
Das Ergebnis ist normalerweise accepted, da die Verbindung und Trennung über den Kommunikationspfad der Kamera der App laufen und möglicherweise noch im Gange sind, nachdem die MCP-Antwort zurückgegeben wurde.
nikon_camera_capture
Fordert den gleichen No-AF-Aufnahmepfad an wie die Schaltfläche "Aufnehmen" der App. Das Tool überprüft canCapture sofort, bevor es die Aufnahme anfordert.
Das Ergebnis ist normalerweise accepted, da Aufnahme, Übertragung, Generierung des Finalpfades, Metadaten und Datei-Speicherarbeiten nach der Rückgabe der MCP-Antwort fortgesetzt werden können. Rufen Sie nikon_camera_get_state später auf, um die aktualisierte Statusmeldung und den zuletzt gespeicherten Bildpfad zu inspizieren.
nikon_camera_toggle_live_view
Fordert die Live-Ansicht an, um ein- oder auszuschalten. Die Kamera muss verbunden sein. Wenn die Live-Ansicht nicht unterstützt wird oder im aktuellen Kamerazustand nicht geändert werden kann, wird das Tool abgelehnt.
nikon_camera_contrast_af
Fordert den Kontrast-Autofokus an, während die Live-Ansicht aktiviert ist. Die Kamera muss verbunden sein, die Live-Ansicht muss eingeschaltet sein, und der Kontrast-AF muss im aktuellen Kamerazustand verfügbar sein.
Ergebnisstatus
Die Ergebnisse der NikonMCP-Tools verwenden eine stabile strukturierte Ergebnisform:
ok: wahr für erfolgreiche oder akzeptierte Anfragen, falsch für Ablehnung oder Fehler.status:ok,accepted,rejected, odererror.reasonCode: ein stabiler Code, wennokfalsch ist.message: eine kurze Erklärung.state: der aktuelle Nikon-Zustands-Snapshot, wenn verfügbar.operation: Details zu zukünftigen Operationen, wenn eine spätere Version das Tracking von lang laufenden Operationen hinzufügt.
Die üblichen Status sind:
ok: das Tool wurde sofort abgeschlossen, wienikon_camera_get_stateodernikon_hello.accepted: die App hat eine Kameraanforderung akzeptiert und die Arbeit in die Warteschlange gestellt oder gestartet.rejected: die Anfrage wurde verstanden, aber der aktuelle Kamerazustand oder der App-Zustand erlaubt dies nicht.error: ein unerwarteter Implementierungs- oder Laufzeitfehler ist aufgetreten.
Erwartete Probleme mit dem Kamerazustand sind normalerweise rejected, keine Protokollfehler. Zum Beispiel sollte eine Aufnahme, während die Kamera nicht bereit ist, eine strukturierte Ablehnung zurückgeben, anstatt eine fehlerhafte MCP-Antwort.
Ablehnungsgrundcodes
Häufige NikonMCP-Ablehnungscodes umfassen:
camera_not_connected: das angeforderte Tool benötigt eine verbundene Kamera.camera_connecting: die Kamera wird bereits verbunden oder getrennt.capture_unavailable: die Aufnahme ist derzeit nicht erlaubt.live_view_unavailable: die Live-Ansicht kann im aktuellen Zustand nicht umgeschaltet werden.contrast_af_unavailable: der Kontrast-AF kann im aktuellen Zustand nicht ausgeführt werden.camera_busy: die Kamera oder App ist beschäftigt.user_policy_disabled: das Profil oder die Modulrichtlinie blockiert die Anfrage.license_unavailable: der aktuelle Lizenzstatus erlaubt die angeforderte Aktion nicht.
Beispiel-Toolaufrufe
Listen Sie zuerst die Tools auf:
{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}
Kamerastatus abrufen:
{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"nikon_camera_get_state","arguments":{}}}
Ein Bild aufnehmen:
{"jsonrpc":"2.0","id":4,"method":"tools/call","params":{"name":"nikon_camera_capture","arguments":{}}}
Live-Ansicht umschalten:
{"jsonrpc":"2.0","id":5,"method":"tools/call","params":{"name":"nikon_camera_toggle_live_view","arguments":{}}}
Kontrast-AF ausführen:
{"jsonrpc":"2.0","id":6,"method":"tools/call","params":{"name":"nikon_camera_contrast_af","arguments":{}}}
Die meisten MCP-Clients erstellen diese JSON-RPC-Nachrichten für Sie. Verwenden Sie diese Beispiele, wenn Sie einen benutzerdefinierten Client debuggen oder die Anforderungsnamen überprüfen.
Praktischer Workflow
- Starten Sie den MCP-Server mit aktiviertem NikonMCP.
- Verbinden Sie den MCP-Client.
- Rufen Sie
nikon_camera_get_stateauf. - Wenn
isConnectedfalsch ist, fordern Sienikon_camera_toggle_connectionan. - Warten Sie, bis der Status
isConnectedwahr meldet. - Bestätigen Sie, dass
canCapturewahr ist. - Fordern Sie
nikon_camera_capturean. - Überwachen Sie
nikon_camera_get_statebis der Status und der zuletzt erfasste Pfad aktualisiert werden.
Für die Fokussierung in der Live-Ansicht:
- Bestätigen Sie, dass
isConnectedwahr ist. - Fordern Sie
nikon_camera_toggle_live_viewan, wenn die Live-Ansicht ausgeschaltet ist. - Warten Sie, bis
isLiveViewEnabledwahr ist. - Fordern Sie
nikon_camera_contrast_afan.
Was NikonMCP nicht tut
NikonMCP ist kein Ersatz für die vollständige App-Benutzeroberfläche. Diese erste Kameraschnittstelle gibt nicht jede Kameraeinstellung, jeden Workflow, Live-Ansicht-Bildstreaming, Bilddurchsicht, Profilbearbeitung oder allgemeine App-Navigation preis.
MCP steuert Status- und Aktionsanforderungen. Große oder kontinuierliche Bilddaten sollten die App-Funktionen oder einen zukünftigen Seitenkanal verwenden, der dafür vorgesehen ist.
Fehlerbehebung
Wenn NikonMCP im Client nicht angezeigt wird:
- Bestätigen Sie, dass die NikonMCP-Modulkarten auf der MCP-Serverseite aktiviert sind.
- Stoppen und starten Sie den MCP-Server, nachdem Sie das Modul aktiviert haben.
- Stellen Sie die Verbindung zum Client wieder her oder aktualisieren Sie ihn.
- Bestätigen Sie, dass der Client mit dem richtigen Endpunkt und Token verbunden ist.
Wenn nikon_camera_capture abgelehnt wird:
- Rufen Sie
nikon_camera_get_stateauf und überprüfen SiecanCapture. - Bestätigen Sie, dass die Kamera verbunden ist.
- Bestätigen Sie, dass die Kamera nicht beschäftigt, aufnimmt, schreibt oder sich in einem anderen Workflow befindet.
- Bestätigen Sie, dass die App über die normale Schaltfläche "Aufnehmen" aufnehmen kann.
Wenn die Verbindungsumschaltung abgelehnt wird oder nicht abgeschlossen wird:
- Bestätigen Sie, dass der ausgewählte Body mit der physischen Nikon-Kamera übereinstimmt.
- Bestätigen Sie, dass die Kamera eingeschaltet und über USB verbunden ist.
- Bestätigen Sie, dass keine andere App die Nikon-Kamera verwendet.
- Beobachten Sie die Statusmeldung der App und das MCP-Serverprotokoll.
- Verwenden Sie die normale Hilfe zur Kameraverbindung, wenn die Kamera nicht verbunden werden kann.
Wenn die Live-Ansicht-Umschaltung abgelehnt wird:
- Bestätigen Sie, dass die Kamera verbunden ist.
- Bestätigen Sie, dass das Kameramodell und der aktuelle Modus die Fernsteuerung der Live-Ansicht unterstützen.
- Bestätigen Sie, dass die Kamera nicht beschäftigt ist mit Aufnehmen oder Speichern.
- Versuchen Sie, die Live-Ansicht über die App-Benutzeroberfläche umzuschalten, um den Kamerazustand zu bestätigen.
Wenn der Kontrast-AF abgelehnt wird:
- Bestätigen Sie, dass die Live-Ansicht aktiviert ist.
- Bestätigen Sie, dass das Objektiv und der Kamerafokusmodus Autofokus unterstützen.
- Bestätigen Sie, dass die Kamera nicht bereits fokussiert, aufnimmt, aufzeichnet oder beschäftigt ist.
- Versuchen Sie, den Kontrast-AF über die App-Benutzeroberfläche auszuführen, um den Kamerazustand zu bestätigen.
Wenn lastCapturedImagePath nicht aktualisiert wird:
- Warten Sie, bis die Übertragung der Aufnahme und das endgültige Speichern abgeschlossen sind.
- Bestätigen Sie, dass das Aufnahmedestination Dateien an den Computer sendet, wenn Sie einen computerseitigen Pfad erwarten.
- Überprüfen Sie die Pfadeinstellungen und die Statusmeldung der App.
- Bei Mehrfachaufnahmen überprüfen Sie
lastCapturedImagePaths. - Überprüfen Sie das Protokoll der App auf Fehler beim Speichern der Aufnahme.
Verwandte Einrichtung
Verwenden Sie den MCP-Server für die Einrichtung von Endpunkt, Token und Modul. Verwenden Sie die Body Controls für die normale Verbindung und die Steuerung der Nikon-Kamera. Verwenden Sie die Live-Ansicht für die Einrichtung der Live-Ansicht und das Verhalten der Kamera-Seite. Verwenden Sie den Pfad für den endgültigen Ordner und den Dateinamen, die von gespeicherten Bildern verwendet werden.