KonfiguracjaMCP

Uwierzytelnianie OAuth MCP

Bob obsługuje OAuth 2.1 dla serwerów MCP, które wymagają dostępu delegowanego przez użytkownika. Bob automatycznie obsługuje przepływ uwierzytelniania, w tym odświeżanie tokenów, więc nie musisz zarządzać tokenami ręcznie.

Aby uzyskać ogólną konfigurację MCP, zobacz Używanie MCP w Bob.

Przegląd

Niektóre serwery MCP muszą działać w twoim imieniu jako użytkownik, na przykład aby odczytać twoje repozytoria GitHub lub uzyskać dostęp do plików Google Drive. Te serwery używają OAuth 2.1, aby poprosić o twoją zgodę przed uzyskaniem dostępu do jakichkolwiek danych.

Bob automatycznie obsługuje pełny przepływ OAuth. Gdy łączysz się z serwerem wymagającym OAuth, serwer jest oznaczony ostrzeżeniem o konieczności uwierzytelnienia w ustawieniach MCP i pojawia się przycisk uwierzytelniania. Kliknij przycisk, aby otworzyć przepływ autoryzacji w przeglądarce. Po autoryzacji Bob zarządza przechowywaniem i odświeżaniem tokenów bez dalszych ręcznych kroków.

To różni się od statycznych metod uwierzytelniania, takich jak token Bearer w headers lub klucz API w env, które są odpowiednie dla kont usług lub tokenów, które nie wygasają. Użyj OAuth, gdy:

  • Serwer potrzebuje dostępu do zasobów należących do twojego konta użytkownika
  • Serwer autoryzacji serwera wydaje krótkotrwałe tokeny, które muszą być odświeżane
  • Chcesz uniknąć przechowywania długotrwałych sekretów w plikach konfiguracyjnych MCP

Jak działa przepływ uwierzytelniania

  1. Dodajesz serwer MCP z obsługą OAuth do pliku konfiguracyjnego (nie są wymagane dane uwierzytelniające headers lub env)
  2. Gdy Bob po raz pierwszy łączy się z serwerem, wykrywa metadane autoryzacji OAuth serwera
  3. Bob otwiera monit uwierzytelniania oparty na przeglądarce, prosząc o zalogowanie się i udzielenie zgody
  4. Po autoryzacji Bob bezpiecznie przechowuje tokeny dostępu i odświeżania między sesjami
  5. Bob automatycznie odświeża tokeny przed ich wygaśnięciem. Nie zostaniesz ponownie poproszony, chyba że odświeżanie się nie powiedzie.
Bob IDE                     Authorization Server              MCP Server
   |                                |                               |
   |-- connect to server ---------->|                               |
   |<-- OAuth metadata (401) -------|                               |
   |-- open auth prompt ----------->|                               |
   |   (user signs in & consents)   |                               |
   |<-- authorization code ---------|                               |
   |-- exchange for tokens -------->|                               |
   |<-- access + refresh tokens ----|                               |
   |-- authenticated requests --------------------------------->    |
   |   (auto-refresh when needed)                                   |

Konfiguracja serwera z obsługą OAuth

Serwery MCP z obsługą OAuth automatycznie ogłaszają swoje wymagania autoryzacji. W większości przypadków potrzebujesz tylko adresu URL serwera — pola OAuth są opcjonalne. Bob obsługuje również następujące opcjonalne właściwości OAuth:

  • oauth: Ustaw na false, aby wyłączyć OAuth dla serwera, lub true, aby jawnie go włączyć
  • clientId: ID klienta OAuth, jeśli jest wymagane przez serwer autoryzacji
  • clientSecret: Sekret klienta OAuth, jeśli jest wymagany przez serwer autoryzacji
  • scope: Lista zakresów OAuth do żądania, oddzielona spacjami

Przykładowa konfiguracja:

{
  "mcpServers": {
    "my-oauth-server": {
      "url": "https://your-server-url.com/mcp"
    }
  }
}

Bob wykrywa wymaganie OAuth podczas łączenia i inicjuje przepływ. Dane uwierzytelniające headers lub env nie są potrzebne.

Ostrzeżenie:

Dodanie statycznego nagłówka Authorization do serwera z obsługą OAuth całkowicie wyłącza automatyczne OAuth. Bob nie będzie próbował przepływu OAuth. Odwrotnie, gdy OAuth jest aktywny, Bob usuwa wszelkie statyczne nagłówki Authorization przed wysłaniem żądań. Używaj tylko jednej metody.

Uwierzytelnianie po wyświetleniu monitu

Gdy Bob łączy się z serwerem z obsługą OAuth po raz pierwszy:

  1. W IDE pojawia się monit uwierzytelniania
  2. Przejrzyj uprawnienia, o które prosi serwer
  3. Zaloguj się na wymagane konto i udziel zgody
  4. Bob przechowuje tokeny i automatycznie kończy połączenie

Monit może pojawić się w oknie przeglądarki lub osadzonym widoku internetowym, w zależności od serwera autoryzacji.

Wyświetlanie i zarządzanie stanem uwierzytelniania

Aby sprawdzić lub zarządzać uwierzytelnianiem dla serwera MCP:

  1. Kliknij ikonę w panelu Bob.
  2. Wybierz kartę MCP.
  3. Znajdź serwer na liście.

Uwierzytelnione serwery pokazują wskaźnik stanu połączenia. Jeśli uwierzytelnienie wygasło lub zostało odwołane, serwer pokazuje stan błędu.

Aby ponownie uwierzytelnić: Kliknij obok serwera, aby ponownie uruchomić połączenie. Bob ponownie otwiera monit uwierzytelniania.

Rozwiązywanie problemów

Monit uwierzytelniania nie pojawia się

  • Potwierdź, że serwer nie jest oznaczony jako wyłączony w twojej konfiguracji
  • Uruchom ponownie serwer z karty ustawień MCP
  • Sprawdź, czy twoja przeglądarka lub widok internetowy nie blokuje strony autoryzacji

Uwierzytelnianie się powiedzie, ale serwer nie może się połączyć

  • Sprawdź, czy adres URL serwera jest poprawny i osiągalny
  • Sprawdź, czy udzieliłeś wszystkich wymaganych uprawnień podczas kroku zgody
  • Przejrzyj dokumentację serwera pod kątem dodatkowych wymagań konfiguracyjnych

Tokeny często wygasają i wymagane jest ponowne uwierzytelnienie

  • Potwierdź, że serwer autoryzacji obsługuje tokeny odświeżania. Niektóre serwery wydają tokeny tylko do dostępu o krótkim czasie życia.
  • Sprawdź, czy zegar systemowy jest dokładny, ponieważ przesunięcie zegara może spowodować przedwczesne wygaśnięcie tokenu

Chcesz się wylogować lub zmienić konto

Ponowne uruchomienie serwera nie czyści danych uwierzytelniających OAuth. Aby się wylogować lub zmienić konto, użyj Resetuj auth z karty ustawień MCP. To czyści przechowywane tokeny i wyzwala nowy monit uwierzytelniania przy następnym połączeniu.

Jak oceniasz ten temat?