NikonMCP on Nikon-kameramoduuli sovelluksen paikalliselle MCP-palvelimelle. Se altistaa valitut Nikon-kameran tilat ja kameratoiminnot MCP-asiakkaalle.

Käytä NikonMCP:tä, kun AI-avustaja, laboratoriotyökalu, skriptattava asiakas tai ulkoinen ohjain tarvitsee tarkistaa liitetyn Nikon-kameran tilan tai pyytää pientä joukkoa kameratoimintoja. Käytä normaalia sovelluksen käyttöliittymää, kun tarvitset täyttä manuaalista hallintaa, asetusta, kuvien selaamista, metadatan tarkastelua tai työnkulun muokkaamista.

Ennen kuin aloitat

  1. Avaa MCP-palvelin.
  2. Ota käyttöön NikonMCP-moduulikortti.
  3. Vahvista päätepiste ja bearer-token.
  4. Käynnistä MCP-palvelin.
  5. Määritä MCP-asiakas päätepisteellä ja tokenilla.
  6. Listaa työkalut asiakkaassa ja varmista, että Nikon-työkalut näkyvät.

Asiakkaan tulisi käyttää MCP-työkalulistaa, jonka se saa palvelimelta, totuuden lähteenä. Eri sovellusversiot voivat altistaa erilaisia NikonMCP-työkaluja.

Kameran tila

nikon_camera_get_state palauttaa nykyisen Nikon-tilan kuvauksen. Muuttavat työkalut palauttavat myös tilan kuvauksen, kun se on käytännöllistä.

Ensimmäiset NikonMCP-kameran tilakentät ovat:

  • canCapture: tosi, kun sovellus sallii tällä hetkellä AF-vapaan kuvauspyynnön.
  • statusMessage: sama lyhyt kameran tilaviesti, joka näkyy sovelluksessa.
  • canConfigureConnection: tosi, kun yhteysasetuksia voidaan muuttaa.
  • isConnected: tosi, kun valittu Nikon-runko on liitetty.
  • isLiveViewEnabled: tosi, kun live view on tällä hetkellä käytössä.
  • lastCapturedImagePath: viimeisin tallennettu kuvan lopullinen polku, kun se on tiedossa.
  • lastCapturedImagePaths: kaikki lopulliset polut viimeisestä kuvasta, kun useampi kuin yksi tiedosto on tallennettu.

lastCapturedImagePath on hyödyllinen asiakkaille, jotka ottavat kuvan ja tarkistavat sitten tallennetun tiedoston erillisellä kuva- tai visiotyökalulla. RAW plus JPEG- tai muiden monitiedostotilojen osalta käytä lastCapturedImagePaths kun asiakas tarvitsee jokaisen tallennetun tiedoston.

NikonMCP-työkalut

nikon_hello

Vahvistaa, että NikonMCP on käytössä ja saavutettavissa. Se ei käytä kameraa.

nikon_camera_get_state

Lukee nykyisen Nikon-tilan kuvauksen. Tämä on turvallisin ensimmäinen kutsu asiakkaan yhdistämisen jälkeen. Käytä sitä ennen kuvaus-, live view- tai tarkennuspyyntöä, jotta asiakas voi nähdä, onko kamera valmis.

nikon_camera_toggle_connection

Pyytää samaa yhteyden kytkemiskäyttäytymistä kuin sovelluksen kameran yhteyden ohjaus. Jos runko on irrotettu, sovellus aloittaa yhteyden. Jos runko on liitetty, sovellus aloittaa irrottamisen.

Tuloksena on normaalisti accepted, koska yhteyden muodostaminen ja irrottaminen kulkevat sovelluksen kameran viestintäpolun kautta ja voivat silti olla käynnissä MCP-vastauksen palattua.

nikon_camera_capture

Pyytää samaa AF-vapaata kuvauspolkua kuin sovelluksen Shoot-painike. Työkalu tarkistaa canCapture heti ennen kuvauspyyntöä.

Tuloksena on normaalisti accepted, koska kuvaus, siirto, lopullisen polun luominen, metadata ja tiedoston tallennustyöt voivat jatkua MCP-vastauksen palattua. Kutsu nikon_camera_get_state myöhemmin tarkistaaksesi päivitetyn tilaviestin ja viimeisimmän tallennetun kuvan polun.

nikon_camera_toggle_live_view

Pyytää live viewin kytkemistä päälle tai pois. Kameran on oltava liitetty. Jos live view ei ole tuettu tai sitä ei voida muuttaa nykyisessä kameratilassa, työkalu hylätään.

nikon_camera_contrast_af

Pyytää kontrastitarkennusta, kun live view on käytössä. Kameran on oltava liitetty, live viewin on oltava päällä ja kontrastitarkennuksen on oltava saatavilla nykyisessä kameratilassa.

Tulostustilat

NikonMCP-työkalujen tulokset käyttävät vakaata rakenteellista tulosmuotoa:

  • ok: tosi onnistuneille tai hyväksytyille pyynnöille, epätosi hylkäämiselle tai virheelle.
  • status: ok, accepted, rejected, tai error.
  • reasonCode: vakaa koodi, kun ok on epätosi.
  • message: lyhyt selitys.
  • state: nykyinen Nikon-tilan kuvaus, kun se on saatavilla.
  • operation: tulevat toimintatiedot, kun myöhempi versio lisää pitkään jatkuvan toiminnan seurannan.

Tavalliset tilat ovat:

  • ok: työkalu suoritettiin heti, kuten nikon_camera_get_state tai nikon_hello.
  • accepted: sovellus hyväksyi kamerapyynnön ja jonotti tai aloitti työn.
  • rejected: pyyntö ymmärrettiin, mutta nykyinen kameran tai sovelluksen tila ei salli sitä.
  • error: odottamaton toteutus- tai ajonaikainen virhe tapahtui.

Odotetut kameran tilan ongelmat ovat normaalisti rejected, eivät protokollavirheitä. Esimerkiksi kuvaaminen, kun kamera ei ole valmis, tulisi palauttaa rakenteellinen hylkäys sen sijaan, että se palauttaisi rikkinäisen MCP-vastauksen.

Hylkäysperustekoodit

Yleiset NikonMCP-hylkäyskoodit sisältävät:

  • camera_not_connected: pyydetty työkalu tarvitsee liitetyn kameran.
  • camera_connecting: kamera on jo yhdistämässä tai irrottamassa.
  • capture_unavailable: kuvaaminen ei ole tällä hetkellä sallittua.
  • live_view_unavailable: live viewia ei voida kytkeä nykyisessä tilassa.
  • contrast_af_unavailable: kontrastitarkennusta ei voida suorittaa nykyisessä tilassa.
  • camera_busy: kamera tai sovellus on kiireinen.
  • user_policy_disabled: profiili tai moduulipolitiikka estää pyynnön.
  • license_unavailable: nykyinen lisenss tila ei salli pyydettyä toimintoa.

Esimerkkityökalupyynnöt

Listaa työkalut ensin:

{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}

Hanki kameran tila:

{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"nikon_camera_get_state","arguments":{}}}

Ota kuva:

{"jsonrpc":"2.0","id":4,"method":"tools/call","params":{"name":"nikon_camera_capture","arguments":{}}}

Kytke live view:

{"jsonrpc":"2.0","id":5,"method":"tools/call","params":{"name":"nikon_camera_toggle_live_view","arguments":{}}}

Suorita kontrastitarkennus:

{"jsonrpc":"2.0","id":6,"method":"tools/call","params":{"name":"nikon_camera_contrast_af","arguments":{}}}

Useimmat MCP-asiakkaat luovat nämä JSON-RPC-viestit puolestasi. Käytä näitä esimerkkejä, kun vianetsit mukautettua asiakasta tai tarkistat pyyntöjen nimiä.

Käytännön työnkulku

  1. Käynnistä MCP-palvelin, jossa NikonMCP on käytössä.
  2. Yhdistä MCP-asiakas.
  3. Kutsu nikon_camera_get_state.
  4. Jos isConnected on epätosi, pyydä nikon_camera_toggle_connection.
  5. Odota, kunnes tila ilmoittaa isConnected totta.
  6. Vahvista canCapture on totta.
  7. Pyydä nikon_camera_capture.
  8. Kysy nikon_camera_get_state kunnes tila ja viimeinen tallennettu polku päivittyvät.

Live view -tarkennusta varten:

  1. Vahvista isConnected on totta.
  2. Pyydä nikon_camera_toggle_live_view jos live view on pois päältä.
  3. Odota, kunnes isLiveViewEnabled on totta.
  4. Pyydä nikon_camera_contrast_af.

Mitä NikonMCP ei tee

NikonMCP ei ole korvike koko sovelluksen käyttöliittymälle. Tämä ensimmäinen kamerapinta ei altista kaikkia kameran asetuksia, kaikkia työnkulkuja, live view -kuvavirtaa, kuvien selaamista, profiilin muokkaamista tai yleistä sovelluksen navigointia.

MCP hallitsee tilaa ja toimintopyyntöjä. Suuret tai jatkuvat kuvadatat tulisi käyttää sovelluksen ominaisuuksia tai tulevaa sivukanavaa, joka on suunniteltu tätä tarkoitusta varten.

Vianetsintä

Jos NikonMCP ei näy asiakkaassa:

  • Vahvista, että NikonMCP-moduulikortti on käytössä MCP-palvelinsivulla.
  • Pysäytä ja käynnistä MCP-palvelin moduulin käyttöönoton jälkeen.
  • Yhdistä tai päivitä asiakas.
  • Vahvista, että asiakas on liitetty oikeaan päätepisteeseen ja tokeniin.

Jos nikon_camera_capture hylätään:

  • Kutsu nikon_camera_get_state ja tarkista canCapture.
  • Vahvista, että kamera on liitetty.
  • Vahvista, että kamera ei ole kiireinen, nauhoittamassa, kirjoittamassa tai muussa työnkulussa.
  • Vahvista, että sovellus voi ottaa kuvia normaalista Shoot-painikkeesta.

Jos yhteyden kytkeminen hylätään tai ei valmistu:

  • Vahvista, että valittu runko vastaa fyysistä Nikon-kameraa.
  • Vahvista, että kamera on päällä ja liitetty USB:llä.
  • Vahvista, että mikään muu sovellus ei käytä Nikon-kameraa.
  • Seuraa sovelluksen tilaviestiä ja MCP-palvelimen lokia.
  • Käytä normaalia runko-yhteyden apua, jos kameraa ei voida liittää.

Jos live viewin kytkeminen hylätään:

  • Vahvista, että kamera on liitetty.
  • Vahvista, että kameramalli ja nykyinen tila tukevat etä-live view'ta.
  • Vahvista, että kamera ei ole kiireinen kuvaamassa tai tallentamassa.
  • Yritä kytkeä live view sovelluksen käyttöliittymästä varmistaaksesi kameran tilan.

Jos kontrastitarkennus hylätään:

  • Vahvista, että live view on käytössä.
  • Vahvista, että objektiivi ja kameran tarkennustila tukevat automaattitarkennusta.
  • Vahvista, että kamera ei ole jo tarkentamassa, kuvaamassa, nauhoittamassa tai kiireinen.
  • Yritä kontrastitarkennusta sovelluksen käyttöliittymästä varmistaaksesi kameran tilan.

Jos lastCapturedImagePath ei päivity:

  • Odota, että kuva siirretään ja lopullinen tallennus valmistuu.
  • Vahvista, että tallennuskohde lähettää tiedostoja tietokoneelle, kun odotat tietokoneen puolen polkua.
  • Tarkista polkuasetukset ja sovelluksen tilaviesti.
  • Monitiedostokuvien osalta tarkista lastCapturedImagePaths.
  • Tarkista sovelluksen lokista tallennusvirheet.

Liittyvä asennus

Käytä MCP-palvelinta päätepisteen, tokenin ja moduulin asetukseen. Käytä runko-ohjaimia normaalille Nikon-kameran liitännälle ja kuvausohjauksille. Käytä live view'ta live view -asetukseen ja kameran puolen live view -käyttäytymiseen. Käytä polkua lopulliseen kansioon ja tiedostonimeen, jota käytetään tallennetuissa kuvissa.