Serwer MCP

Pozwól asystentowi AI sprawdzać flotę urządzeń i zasady, a także opcjonalnie wysyłać polecenia do jednego urządzenia naraz, korzystając z Sign in with Nomid lub klucza API Nomid.

Co robi serwer MCP

Model Context Protocol (MCP) to otwarty standard, który umożliwia asystentom AI wywoływanie narzędzi w innych systemach. Serwer MCP Nomid pozwala asystentom takim jak claude.ai, ChatGPT, Claude Code, Codex czy Cursor odpowiadać na pytania dotyczące floty w języku naturalnym — na przykład ile urządzeń korzysta z danej zasady lub które urządzenia nie były widziane od określonej daty — bez konieczności otwierania portalu. Może również diagnozować, dlaczego nie można zdalnie połączyć się z urządzeniem, generować łącza do urządzenia, zasady lub aplikacji w portalu, a także sprawdzać publiczne plany i ceny katalogowe Nomid. Z dodatkowym uprawnieniem może wysyłać polecenia do jednego urządzenia naraz (np. zablokowanie, ponowne uruchomienie czy zmiana zasady) lub tworzyć kody QR do aprowizacji. Osobne uprawnienie zezwala na polecenia niszczące, takie jak wyczyszczenie danych (wipe).

Endpoint i transport

POST https://api.nomid.tech/emm/api/mcp

Serwer korzysta z MCP Streamable HTTP w trybie bezstanowym. Każde wywołanie JSON-RPC jest niezależnym żądaniem HTTPS, więc nie trzeba utrzymywać sesji ani otwartego strumienia zdarzeń.

Połącz się za pomocą Sign in with Nomid (OAuth) lub klucza API. Prześlij klucz API jako token bearer lub w nagłówku X-API-Key. Większość klientów MCP obsługuje wyłącznie formę tokena bearer. Brakujący, nieprawidłowy lub wygasły klucz albo token zwraca błąd 401.

Klucz API lub połączenie Sign in with Nomid jednoznacznie określa firmę. Żadne narzędzie nie przyjmuje argumentu dzierżawcy (tenant) ani firmy, a połączenie widzi wyłącznie urządzenia i zasady własnej firmy.

Sign in with Nomid

Logowanie za pomocą Nomid (Sign in with Nomid) to mechanizm OAuth dla klientów MCP, dostępny dla każdej firmy. Zamiast korzystać z klucza, użytkownik loguje się do usługi Nomid w przeglądarce i zatwierdza uprawnienia asystenta. Następnie asystent działa w imieniu tego użytkownika w danej firmie i widzi tylko te urządzenia oraz zasady, na które pozwalają rola użytkownika i jego uprawnienia do zasad.

claude.ai, ChatGPT i Claude Code łączą się za pomocą Sign in with Nomid: dodaj powyższy adres URL punktu końcowego jako niestandardowy łącznik lub serwer MCP, bez klucza, a następnie zaloguj się, gdy klient o to poprosi. Poniższe przykłady dla Codex i Cursor używają klucza API.

W Claude Code dodaj serwer bez nagłówka, a następnie uruchom polecenie /mcp w Claude Code i wybierz serwer, aby się zalogować.

claude mcp add --transport http nomid-mdm https://api.nomid.tech/emm/api/mcp

Połączenie przenosi zakresy OAuth, które zastępują uprawnienia klucza API.

ZakresNa co pozwala
mcp:readNarzędzia odczytu. Rola użytkownika wymaga uprawnień do przeglądania urządzeń, zasad lub biblioteki; każde narzędzie nadal wymaga własnych uprawnień.
mcp:devices:commandNarzędzia poleceń. Wymaga włączenia w firmie ustawienia poleceń urządzeń oraz użytkownika z uprawnieniami do wysyłania poleceń do urządzeń.
mcp:devices:destructiveNarzędzia poleceń destrukcyjnych. Wymaga włączenia w firmie ustawienia poleceń destrukcyjnych oraz użytkownika z uprawnieniami do wysyłania poleceń do urządzeń.
mcp:provisioningcreate_provisioning_qr_code. Wymaga włączenia w firmie ustawienia aprowizacji oraz użytkownika z uprawnieniami do aprowizowania urządzeń i przeglądania zasad.
mcp:policies:writeNarzędzia zmiany zasad. Wymaga włączenia w firmie ustawienia zmian zasad oraz użytkownika z uprawnieniami do edycji i przeglądania zasad. Przyznanie tego zakresu daje również zakres mcp:read.

Klienci domyślnie proszą o mcp:read, mcp:devices:command i mcp:provisioning. Zakresy mcp:devices:destructive i mcp:policies:write nigdy nie są żądane automatycznie: klient musi poprosić o nie jawnie.

Na stronie zgody użytkownik może odznaczyć zakresy, a Nomid odrzuca każdy zakres, na który nie pozwala rola użytkownika lub firmowe ustawienia dostępu agentów AI. Zatwierdzenie zakresu poleceń, poleceń destrukcyjnych lub zmiany zasad wymaga niedawnego zalogowania się.

Każde żądanie ponownie weryfikuje połączenie. Jeśli użytkownik utraci dostęp do firmy lub uprawnienia roli wymagane przez narzędzie, bądź jeśli firma wyłączy dostęp agentów AI, żądania będą odrzucane tak długo, jak trwa ten stan.

Utwórz klucz API

Serwer MCP korzysta z tych samych kluczy API co REST API. Utwórz dedykowany klucz dla każdego asystenta, aby móc go unieważnić bez wpływu na inne integracje.

  1. 1

    W portalu Nomid otwórz Ustawienia i wybierz zakładkę API.

  2. 2

    Kliknij Utwórz klucz API i wprowadź nazwę identyfikującą asystenta, na przykład Claude Code tylko do odczytu.

  3. 3

    Wybierz uprawnienia opisane poniżej. Jeśli chcesz, aby klucz przestał działać po określonym czasie, ustaw datę wygaśnięcia.

  4. 4

    Skopiuj klucz, gdy zostanie wyświetlony. Zostanie pokazany tylko raz.

Klucz tylko do odczytu

Włącz uprawnienia do odczytu urządzeń i zasad (DEVICES_READ oraz POLICIES_READ). Jest to wystarczające dla każdego narzędzia odczytującego i stanowi zalecany punkt wyjścia.

Klucz do poleceń

Aby umożliwić asystentowi wysyłanie poleceń do urządzeń, włącz dodatkowo uprawnienie do wykonywania poleceń na urządzeniach (DEVICES_COMMAND). Klucz poleceń musi posiadać również uprawnienie DEVICES_READ, a zmiana zasady urządzenia wymaga ponadto POLICIES_READ. Tylko użytkownik portalu, który ma prawo wysyłać polecenia do urządzeń i ma dostęp do wszystkich zasad, może utworzyć klucz z tym uprawnieniem.

Klucz komend niszczących

Aby zezwolić asystentowi na wyczyszczenie urządzenia, zresetowanie lub zmianę blokady ekranu bądź zrzeczenie się własności, włącz uprawnienie do niszczących komend urządzeń (DEVICES_COMMAND_DESTRUCTIVE) wraz z DEVICES_READ. Firma musi również włączyć komendy niszczące w sekcji dostępu agenta AI w portalu. Obowiązują te same reguły użytkownika portalu, co w przypadku klucza komend.

Klucz aprowizacji

Aby umożliwić asystentowi tworzenie kodów QR do aprowizacji, włącz uprawnienie do aprowizacji (PROVISIONING) wraz z POLICIES_READ. Tylko użytkownik portalu uprawniony do aprowizowania urządzeń i mający dostęp do wszystkich zasad może utworzyć klucz z tym uprawnieniem.

Połącz swojego asystenta

Zapisz klucz w zmiennej środowiskowej o nazwie NOMID_API_KEY i nigdy nie zatwierdzaj go do repozytorium. Adres URL w każdym przykładzie to produkcyjny punkt końcowy.

Claude Code

Uruchom to raz w powłoce. Powłoka rozwija zmienną podczas uruchamiania polecenia, a Claude Code zapisuje wynikowy klucz jako zwykły tekst we własnym pliku konfiguracyjnym. Użyj do tego dedykowanego klucza tylko do odczytu.

claude mcp add --transport http nomid-mdm https://api.nomid.tech/emm/api/mcp \
  --header "Authorization: Bearer ${NOMID_API_KEY}"

Codex

Dodaj to do ~/.codex/config.toml. Codex odczytuje token ze wskazanej zmiennej środowiskowej. Nie rozwija zmiennych zapisanych wewnątrz pliku.

[mcp_servers.nomid]
url = "https://api.nomid.tech/emm/api/mcp"
bearer_token_env_var = "NOMID_API_KEY"

Cursor

Dodaj to do .cursor/mcp.json. Cursor rozwija zmienne środowiskowe w wartości nagłówka, jak pokazano.

{
  "mcpServers": {
    "nomid-mdm": {
      "url": "https://api.nomid.tech/emm/api/mcp",
      "headers": {
        "Authorization": "Bearer ${env:NOMID_API_KEY}"
      }
    }
  }
}

Inni klienci

Każdy klient MCP obsługujący serwery Streamable HTTP z niestandardowymi nagłówkami może połączyć się za pomocą adresu URL punktu końcowego i nagłówka Authorization: Bearer.

Dostępne narzędzia

Każde narzędzie ma zakres powiązany z firmą przypisaną do klucza lub połączenia. Urządzenie jest identyfikowane przez assetId, czyli pathName zwracane przez search_devices i get_device. Zasada jest identyfikowana przez policyId, czyli pathName zwracane przez list_policies.

Narzędzia do odczytu

Narzędzia do odczytu nigdy niczego nie zmieniają. Większość zwraca te same dane, co odpowiadające im punkty końcowe REST. diagnose_device, get_portal_link, search_nomid_site oraz argument query funkcji search_devices nie mają odpowiedników w REST.

NarzędzieWymagane uprawnienieDziałanie
search_devicesDEVICES_READWyszukuj urządzenia z opcjonalnymi filtrami status, policy i lastSeenBefore. Wyniki są stronicowane: page zaczyna się od 0, a domyślna wartość parametru size to 10 (maksymalnie 25). Aby znaleźć urządzenie podane z nazwy przez użytkownika, przekaż wyłącznie parametr query (od 2 do 100 znaków), który dopasowuje nazwę, numer seryjny, IMEI, model lub tag. Nie można go łączyć z filtrami status, policy, lastSeenBefore ani page. Zwraca maksymalnie size najlepiej dopasowanych wyników, każdy z pathName i matchedField, a parametr truncated informuje, czy dopasowano więcej wyników.
count_devicesDEVICES_READZliczaj urządzenia z tymi samymi opcjonalnymi filtrami status, policy i lastSeenBefore.
get_deviceDEVICES_READPełne szczegóły dotyczące jednego urządzenia, w tym poziom naładowania baterii, łączna pamięć operacyjna i pamięć masowa urządzenia oraz przyczyny niezgodności z zasadami.
get_fleet_summaryDEVICES_READZbiorcze dane dotyczące floty: łączna liczba urządzeń, podział według statusu oraz podsumowanie stanu bezpieczeństwa. Nigdy nie zwraca listy urządzeń.
list_device_commandsDEVICES_READOstatnie polecenia wysłane do urządzenia, od najnowszych, wraz z typem, statusem, znacznikami czasu i krótkim kodem wyniku. limit domyślnie wynosi 20 i jest ograniczony do 50. Ładunki poleceń nigdy nie są zwracane.
list_policiesPOLICIES_READWyświetl listę zasad. Zwraca tylko przegląd, bez szczegółów konfiguracji.
get_policyPOLICIES_READPrzegląd jednej zasady.
diagnose_deviceDEVICES_READDiagnozuj obszar problemu na jednym urządzeniu na podstawie assetId i area. Jedynym dostępnym obecnie obszarem jest remote_access: dlaczego nie można nawiązać połączenia z urządzeniem lub sterować nim zdalnie, na podstawie jego synchronizacji i stanu, tego, czy jego zasady obejmują NomidRemote, czy NomidRemote jest zainstalowany, aktualny i czy się melduje, a także jego ostatnich żądań i sesji dostępu zdalnego. Zwraca pola findings (prawdopodobne przyczyny, od najbardziej prawdopodobnej, każda z dowodami i kolejnym krokiem) oraz unknowns (to, czego nie udało się ustalić, o co należy zapytać użytkownika). Nigdy nie zwraca danych uwierzytelniających, kluczy ani identyfikatorów dostępu zdalnego.
get_portal_linkDEVICES_READ / POLICIES_READAdres URL w portalu Nomid dla urządzenia (kind asset, wg assetId), zasady (kind policy, wg policyId) lub aplikacji z biblioteki (kind app, wg nazwy pakietu). Urządzenie wymaga DEVICES_READ; zasada lub aplikacja wymaga POLICIES_READ. Obiekt, który nie istnieje w firmie, zwraca błąd narzędzia. Łącze jedynie otwiera stronę: portal nadal stosuje uprawnienia zalogowanego użytkownika.
search_nomid_siteDEVICES_READ / POLICIES_READPrzeszukuj publiczną stronę internetową Nomid pod kątem planów i cennika: plany i ich limity urządzeń, ceny katalogowe za urządzenie z systemem Android i VR w USD, EUR i BRL, zawartość każdego planu oraz często zadawane pytania dotyczące cennika. Parametr locale jest opcjonalny: en, es lub pt. Zwraca maksymalnie 5 fragmentów z adresem URL ich strony. Są to publiczne ceny katalogowe, a nie umowa czy faktura danej firmy. Wystarczy dowolne uprawnienie do odczytu.

Narzędzia poleceń

Narzędzia poleceń działają na dokładnie jednym fizycznym urządzeniu na wywołanie. Nie ma opcji operacji zbiorczych. Każde narzędzie wymaga uprawnienia DEVICES_COMMAND, a change_device_policy wymaga również POLICIES_READ.

NarzędzieWymagane uprawnienieDziałanie
lock_deviceDEVICES_COMMAND + DEVICES_READZablokuj ekran urządzenia natychmiast. Użytkownik może go normalnie odblokować.
start_lost_modeDEVICES_COMMAND + DEVICES_READZablokuj urządzenie i wyświetl wiadomość z opcjonalnymi danymi kontaktowymi na jego ekranie blokady. Pole message jest wymagane i może zawierać do 4096 znaków. Pola phoneNumber, email, streetAddress i organization są opcjonalne.
stop_lost_modeDEVICES_COMMAND + DEVICES_READZakończ tryb utraconego urządzenia. Nic się nie stanie i żaden błąd nie zostanie zwrócony, jeśli urządzenie nie było w trybie utraconym.
send_device_messageDEVICES_COMMAND + DEVICES_READWyświetl zwykłe powiadomienie tekstowe push na urządzeniu. Pola title (do 60 znaków) oraz body (do 500 znaków) są wymagane. Ponowne wysłanie tej samej wiadomości powoduje wyświetlenie drugiego powiadomienia.
request_status_reportDEVICES_COMMAND + DEVICES_READZażądaj od urządzenia natychmiastowego przesłania świeżego raportu o stanie. Raport nadejdzie później: odczytaj go za pomocą get_device.
force_location_updateDEVICES_COMMAND + DEVICES_READZażądaj od urządzenia natychmiastowego zgłoszenia bieżącej lokalizacji. Lokalizacja nadejdzie później: odczytaj ją za pomocą get_device.
sync_policyDEVICES_COMMAND + DEVICES_READWyślij ponownie do urządzenia jego bieżące zasady. Dotyczy wyłącznie urządzeń zarządzanych przez agenta Nomid (AOSP). Urządzenia z systemem Android Management otrzymują zmiany zasad automatycznie.
reboot_deviceDEVICES_COMMAND + DEVICES_READUruchom urządzenie ponownie teraz. Praca osoby korzystającej z niego zostanie przerwana, a niezapisane dane mogą zostać utracone.
shutdown_deviceDEVICES_COMMAND + DEVICES_READWyłącz urządzenie teraz. Nie można go włączyć ponownie zdalnie. Dotyczy wyłącznie urządzeń zarządzanych przez agenta Nomid (AOSP).
launch_appDEVICES_COMMAND + DEVICES_READOtwórz zainstalowaną aplikację na urządzeniu za pomocą jej parametru packageName. Dotyczy wyłącznie urządzeń zarządzanych przez agenta Nomid (AOSP).
clear_app_dataDEVICES_COMMAND + DEVICES_READUsuń wszystkie dane aplikacji podanych w packageNames (od 1 do 20 nazw pakietów), tak jakby dopiero zostały zainstalowane. Tej operacji nie można cofnąć. Dotyczy wyłącznie urządzeń Android Management.
change_device_policyDEVICES_COMMAND + DEVICES_READ + POLICIES_READPrzenieś urządzenie do innych zasad firmy, określonych przez policyId. Wszystko, co zawierały wyłącznie bieżące zasady, zostanie usunięte. Kończy się niepowodzeniem, jeśli urządzenie już korzysta z tych zasad. Wymaga również POLICIES_READ.

Narzędzia komend niszczących

NarzędzieWymagane uprawnienieDziałanie
wipe_deviceDEVICES_COMMAND_DESTRUCTIVE + DEVICES_READUsuń urządzenie z zarządzania i wyczyść jego zarządzane dane. Urządzenie firmowe zostanie przywrócone do ustawień fabrycznych: wszystkie aplikacje i dane na nim zostaną usunięte. Na urządzeniu prywatnym z profilem służbowym usuwany jest tylko profil służbowy oraz jego aplikacje i dane; prywatne aplikacje i dane pozostają nienaruszone. Działanie nieodwracalne.
reset_screen_lockDEVICES_COMMAND_DESTRUCTIVE + DEVICES_READUsuń blokadę ekranu urządzenia (PIN, wzór lub hasło), aby można je było odblokować bez niej. Tylko urządzenia Android Management.
change_screen_lock_passwordDEVICES_COMMAND_DESTRUCTIVE + DEVICES_READUstaw nowe hasło blokady ekranu, podane jako newPassword (od 4 do 128 znaków, bez spacji początkowych i końcowych). Urządzenie zablokuje się i tylko nowe hasło je odblokuje. Hasło nigdy nie jest przechowywane, zwracane ani rejestrowane. Tylko urządzenia Android Management.
relinquish_ownershipDEVICES_COMMAND_DESTRUCTIVE + DEVICES_READPrzekaż urządzenie firmowe jego użytkownikowi. Profil służbowy i jego dane zostaną usunięte, a urządzenie przestanie być zarządzane. Działanie nieodwracalne.

Klienci MCP łączący się za pomocą Sign in with Nomid zamiast klucza API wymagają zakresu mcp:devices:destructive dla tych narzędzi oraz mcp:devices:command dla narzędzi poleceń.

Które urządzenia mogą odbierać polecenia

  • Tylko zarejestrowane urządzenia mogą odbierać polecenia (ze statusem ACTIVE, INACTIVE lub SYNCHRONIZING). Usunięte, ponownie skonfigurowane oraz wyrejestrowane zasoby są odrzucane.
  • Niektóre polecenia działają tylko na jednym typie urządzeń. Lock, lost mode, clear_app_data, reset_screen_lock oraz change_screen_lock_password wymagają urządzenia z Android Management (zarządzanego przez Google). sync_policy, shutdown_device i launch_app wymagają urządzenia zarządzanego przez agenta Nomid (AOSP). W przypadku innych urządzeń narzędzie zgłasza błąd.
  • Wiadomość to powiadomienie push wysyłane do agenta Nomid na urządzeniu, dlatego urządzenie musi mieć zarejestrowany token push.
  • Zasób należący do innej firmy zachowuje się dokładnie tak, jak zasób, który nie istnieje.

Niedostępne za pośrednictwem MCP ani REST API: rozpoczynanie sesji zdalnego dostępu oraz wyświetlanie lub unieważnianie tokenów rejestracji. Kod QR do obsługi administracyjnej tworzy własny token rejestracji. Zmiany zasad mają własny przepływ proponowania i zatwierdzania (propose-and-apply).

Narzędzie aprowizacji

Każde wywołanie tworzy nowy token rejestracji, dlatego asystent powinien generować kod QR tylko na wyraźną prośbę użytkownika i nigdy nie używać ponownie starszego kodu.

NarzędzieWymagane uprawnienieDziałanie
create_provisioning_qr_codePROVISIONING + POLICIES_READUtwórz kod QR, który rejestruje nowe lub zresetowane do ustawień fabrycznych urządzenie z systemem Android w firmie z zasadami określonymi przez policyId. personalUsage oraz sieć Wi-Fi do konfiguracji (wifiSsid, wifiPassword, wifiSecurity, wifiHidden) są opcjonalne. Kod przestaje działać po upływie 24 godz. od jego utworzenia. Zasady przeznaczone wyłącznie dla urządzeń VR nie mogą być aprowizowane za pomocą kodu QR.

Kod QR jest zwracany jako blok obrazu MCP obok wyniku tekstowego, dzięki czemu klient może wyświetlić go użytkownikowi. Wynik tekstowy zawiera policyId, policyName, personalUsage, expiresAt oraz, jeśli podano sieć, wifiSsid. Nigdy nie zawiera tokena rejestracji ani hasła Wi-Fi.

Połączenia Sign in with Nomid wymagają zakresu mcp:provisioning oraz firmowego ustawienia aprowizacji w sekcji dostępu agentów AI. Klucz API z uprawnieniem PROVISIONING nie wymaga tego ustawienia.

API kodów QR do aprowizacji

Zmiany zasad

Każda zmiana wymaga dwóch kroków. Najpierw ją proponujesz: API rejestruje wniosek i zwraca listę zmian z bieżącą i nową wartością każdego ustawienia, wpływem oraz terminem wygaśnięcia wniosku. W zasadzie nic się jeszcze nie zmienia. Następnie stosujesz wniosek na podstawie jego proposalId, po tym jak osoba odpowiedzialna przejrzy listę zmian.

NarzędzieWymagane uprawnienieDziałanie
get_policy_settingsPOLICIES_READOdczytaj edytowalne ustawienia zasad wraz z ich bieżącymi i dozwolonymi wartościami.
list_policy_revisionsPOLICIES_READWyświetl listę zapisanych wersji zasad, od najnowszej.
get_policy_proposalPOLICIES_READOdczytaj wniosek złożony przy użyciu tego samego klucza lub połączenia wraz z jego statusem.
update_policy_settingsPOLICIES_WRITE + POLICIES_READZaproponuj zmiany ustawień w istniejącej zasadzie.
create_policyPOLICIES_WRITE + POLICIES_READZaproponuj nową zasadę jako kopię istniejącej, z opcjonalnymi zmianami ustawień.
rollback_policyPOLICIES_WRITE + POLICIES_READZaproponuj przywrócenie zasady do wcześniejszej wersji.
apply_policy_proposalPOLICIES_WRITE + POLICIES_READZastosuj oczekujący wniosek na podstawie jego identyfikatora proposalId, z potwierdzeniem, gdy ma on status HIGH impact.

Asystent musi pokazać użytkownikowi listę zmian i uzyskać jego wyraźną zgodę w konwersacji, zanim wywoła apply_policy_proposal. W przypadku wniosku o statusie HIGH impact musi poprosić użytkownika o wpisanie nazwy zasady i przekazać dokładnie to, co wpisał.

API zmian zasad

Bezpieczeństwo i audyt

Polecenie zmienia coś, co człowiek trzyma w ręku. Traktuj każde z nich jako działanie wymagające decyzji człowieka.

  • Zawsze potwierdzaj z użytkownikiem przed wykonaniem jakiegokolwiek polecenia. Opisy narzędzi proszą model o takie działanie, ale serwer tego nie wymusza. Zostaw włączone zatwierdzanie poszczególnych narzędzi w swoim kliencie dla narzędzi wykonujących polecenia, zamiast zatwierdzać je automatycznie.
  • Nigdy nie wysyłaj polecenia ponownie po niepotwierdzonym wyniku. Jeśli wynik jest nieznany, sprawdź list_device_commands po tym, jak urządzenie miało czas na odpowiedź, i zapytaj użytkownika przed ponownym wysłaniem. Ponowne wysłanie może zduplikować polecenie, które zostało już dostarczone, a wiadomość wyświetli drugie powiadomienie.
  • Wynik informujący, że polecenie nie zostało wysłane, można bezpiecznie ponowić. Polecenie nigdy nie opuściło Nomid.
  • Każde polecenie jest rejestrowane w historii poleceń urządzenia w portalu Nomid. Polecenie wysłane za pomocą klucza API jest przypisywane do klucza, a nie do osoby: wpis zawiera api-key, identyfikator klucza oraz prefiks klucza. Polecenie wysłane za pośrednictwem połączenia Sign in with Nomid jest przypisywane do użytkownika, który się zalogował. Historia zwracana przez list_device_commands zawiera tylko type, status, sygnatury czasowe i outcome, bez informacji o tym, kto wysłał polecenie.
  • Jeśli komputer lub plik konfiguracyjny zostanie naruszony, unieważnij klucz w Ustawienia, API. Unieważnionych kluczy nie można przywrócić. Aby zakończyć połączenie Sign in with Nomid, unieważnij je na liście połączeń na stronie agentów AI w portalu lub odłącz je w kliencie, który unieważnia tokeny przy odłączeniu. W obu przypadkach połączenie i wszystkie jego tokeny natychmiast przestają działać. Każdy użytkownik może unieważnić własne połączenia, a użytkownik, który może zarządzać kluczami API, może unieważnić dowolne połączenie w firmie.

Limity szybkości (Rate limits)

Limity są naliczane na klucz API lub na połączenie Sign in with Nomid w stałych oknach jednominutowych. Po przekroczeniu limitu żądań MCP serwer odpowiada kodem HTTP 429 Too Many Requests z nagłówkiem Retry-After wskazującym liczbę sekund do zresetowania okna.

LimitDozwolone
Wszystkie żądania MCP, każde narzędzie60 na minutę na klucz lub połączenie
Polecenia urządzenia, zmiany zasad i kody QR do obsługi administracyjnej, łącznie REST i MCP10 na minutę na klucz lub połączenie

Wywołanie narzędzia poleceń, każde wywołanie propose lub apply narzędzia do zmiany zasad oraz każde wywołanie create_provisioning_qr_code liczą się do obu limitów. Gdy takie wywołanie przekroczy współdzielony limit zapisu, serwer zwraca błąd narzędzia zamiast kodu HTTP 429. Jest to normalna odpowiedź oznaczona jako błąd, a jej treść informuje, ile sekund należy odczekać. Punkty końcowe odczytu REST nie korzystają z limitu MCP.

Rozwiązywanie problemów

ObjawPrawdopodobna przyczyna i rozwiązanie
401 Unauthorized z kluczem APIKlucz jest brakujący, nieprawidłowy, wygasły lub unieważniony. Upewnij się, że klient przesyła nagłówek Authorization: Bearer, a po nim klucz, oraz że zmienna środowiskowa była ustawiona podczas uruchamiania polecenia instalacji.
401 Unauthorized lub klient prosi o ponowne zalogowanie przy użyciu Sign in with NomidToken dostępu wygasł i nie można go było odświeżyć albo połączenie zostało unieważnione. Żądania są również odrzucane, gdy użytkownik nie jest już członkiem firmy, jego rola nie zezwala już na żaden z przyznanych zakresów lub firma wyłączyła dostęp agenta AI; połączenie wyłączonego użytkownika zostaje unieważnione. Zaloguj się ponownie lub połącz łącznik na nowo. Jeśli problem nadal występuje, poproś administratora firmy o sprawdzenie w portalu Twojego członkostwa, roli oraz dostępu agenta AI.
Błąd narzędzia z informacją, że klucz nie ma wymaganego uprawnienia lub firma go nie włączyła (HTTP 403 w REST API)Klucz został utworzony bez uprawnienia wymaganego przez to narzędzie lub ustawienie firmy jest wyłączone. Narzędzia poleceń wymagają DEVICES_COMMAND i DEVICES_READ, a change_device_policy wymaga także POLICIES_READ. Narzędzia destrukcyjne wymagają DEVICES_COMMAND_DESTRUCTIVE i DEVICES_READ oraz włączonego firmowego ustawienia poleceń destrukcyjnych. Narzędzia zmiany zasad wymagają POLICIES_WRITE i POLICIES_READ oraz włączonego firmowego ustawienia zmian zasad. create_provisioning_qr_code wymaga PROVISIONING i POLICIES_READ.
Błąd narzędzia z informacją o braku wymaganego uprawnienia lub o tym, że administrator nie włączył dla niego dostępu agenta AI (Sign in with Nomid)Połączenie nie posiada zakresu wymaganego przez narzędzie, Twoja rola nie ma odpowiedniego uprawnienia lub ustawienie firmowe w sekcji dostępu agenta AI jest wyłączone. Połącz ponownie i zatwierdź zakres na stronie zgody; mcp:devices:destructive i mcp:policies:write pojawiają się tylko wtedy, gdy zażąda ich klient. W przypadku wyłączonego ustawienia poproś administratora firmy o jego włączenie.
HTTP 429 Too Many Requests lub błąd narzędzia informujący o przekroczeniu limitu zapytańPrzekroczono limit zapytań. W przypadku błędu HTTP 429 odczekaj liczbę sekund wskazaną w nagłówku Retry-After. W przypadku błędu narzędzia odczekaj liczbę sekund podaną w jego komunikacie.
Błąd narzędzia dotyczący urządzenia, które nie zostało odnalezione lub nie może przyjąć poleceniaUżyj pathName z search_devices jako assetId. Upewnij się, że urządzenie jest zarejestrowane oraz że polecenie obsługuje dany typ urządzenia (zobacz: Które urządzenia mogą odbierać polecenia).
Błąd narzędzia informujący, że wynik jest nieznanyNie wysyłaj ponownie. Sprawdź list_device_commands, gdy urządzenie będzie miało czas na odpowiedź, i zapytaj użytkownika przed ponownym wysłaniem.
Asystent nie wyświetla żadnych narzędzi NomidW przypadku klucza API upewnij się, że Twój klient obsługuje serwery Streamable HTTP z niestandardowymi nagłówkami, a adres URL dokładnie odpowiada powyższemu punktowi końcowemu. W przypadku Sign in with Nomid dokończ logowanie lub odłącz łącznik i podłącz go ponownie. Zalogowane połączenie wyświetla każde narzędzie, więc brakujący zakres pojawia się jako błąd narzędzia, a nie jako brakujące narzędzie.

Powiązana dokumentacja

Wybierz swój czas

Ładowanie...
Otwórz kalendarz rezerwacji