Blog JSystems - uwalniamy wiedzę!

Szukaj

Claude Code

MCP błąd autoryzacji i token - jak skonfigurować sekrety

W skrócie

  • Podpięty serwer MCP zgłasza błąd autoryzacji albo prosi o token, a Ty nie wiesz, gdzie i jak podać sekret.
  • Sposób zależy od rodzaju serwera: lokalny serwer bierze sekrety ze zmiennych środowiskowych, a zdalny albo przez logowanie OAuth, albo przez statyczny nagłówek z tokenem.
  • Użyj --env dla lokalnych, /mcp do logowania OAuth, a nagłówka Authorization dla serwerów na klucz API.

Serwery MCP dają Claude Code dostęp do zewnętrznych systemów, ale większość z nich najpierw chce się upewnić, kim jesteś. Jeśli widzisz błąd autoryzacji albo prośbę o token, to znak, że brakuje poprawnie podanego sekretu. Pokażemy Ci, jak go dostarczyć, w zależności od tego, jaki to serwer.

Jak to wygląda w praktyce

Dodajesz serwer MCP, a przy próbie użycia Claude Code informuje, że wymaga autoryzacji, albo serwer w ogóle nie łączy się z powodu braku poświadczeń. Najszybciej zobaczysz to, uruchamiając claude mcp list - przy serwerze pojawia się status wymagający uwierzytelnienia (Needs authentication) zamiast statusu połączonego (Connected). Sedno problemu jest proste: serwer chce sekretu (klucza API albo tokenu), a nie dostał go w formie, której oczekuje. Tyle że forma ta różni się między serwerem lokalnym a zdalnym, i to właśnie najczęściej gubi.

Dlaczego Claude Code tak działa

Serwery MCP dzielą się z grubsza na dwa rodzaje, a każdy uwierzytelnia się inaczej. Lokalny serwer typu stdio uruchamiasz jako proces na swoim komputerze i sekrety przekazujesz mu przez zmienne środowiskowe. Serwer zdalny (HTTP albo SSE) łączy się przez sieć i tu są dwie drogi: albo pełny przepływ OAuth 2.0, gdzie logujesz się w przeglądarce, albo statyczne uwierzytelnianie kluczem czy tokenem podanym w nagłówku HTTP. Claude Code daje osobne narzędzia do każdej z tych sytuacji, więc "błąd autoryzacji" to zwykle nie awaria, tylko sygnał, że sekret trzeba podać właściwym kanałem dla danego typu serwera.

Jak to rozwiązać krok po kroku

  1. Ustal, z jakim serwerem masz do czynienia. Lokalny to taki, który uruchamiasz poleceniem (np. przez npx albo python); zdalny podajesz jako adres URL z transportem HTTP.
  2. Dla serwera lokalnego przekaż sekret zmienną środowiskową flagą --env (albo -e) przy dodawaniu, na przykład claude mcp add --env API_KEY=twoj_klucz --transport stdio myserver -- npx server. Pamiętaj o -- przed poleceniem serwera, żeby Claude Code nie potraktował jego flag jak swoich.
  3. Dla serwera zdalnego z OAuth najpierw go dodaj bez poświadczeń, na przykład claude mcp add --transport http sentry https://mcp.sentry.dev/mcp, a potem w sesji wpisz /mcp - otworzy się przeglądarka do dokończenia logowania.
  4. Możesz też zalogować się bez wchodzenia do sesji: claude mcp login <nazwa>, a wyczyścić zapisane poświadczenia poleceniem claude mcp logout <nazwa>.
  5. Dla serwera zdalnego na statyczny klucz albo token podaj nagłówek przy dodawaniu: --header "Authorization: Bearer TWOJ_TOKEN" (krócej -H). Tak konfiguruje się m.in. serwery uwierzytelniane osobistym tokenem dostępu.
  6. Nie wpisuj sekretów na sztywno w plikach współdzielonych w repozytorium. Trzymaj je w zmiennych środowiskowych albo podawaj przez logowanie, żeby nie trafiły do repozytorium.

Jak sprawdzić, że zadziałało

Uruchom ponownie claude mcp list - status serwera powinien zmienić się na połączony (Connected). Więcej szczegółów o konkretnym serwerze pokaże claude mcp get <nazwa>. W samej sesji wpisz /mcp: otworzy się panel z listą serwerów, ich stanem i dostępnymi narzędziami - jeśli narzędzia serwera są widoczne i można ich użyć, autoryzacja przeszła. Ostatecznym dowodem jest udane wywołanie: poproś Claude o czynność, którą realizuje ten serwer, i sprawdź, że wykonuje ją bez błędu autoryzacji.

Wróć do listy: 100 najczęstszych problemów z Claude Code

Szkolenie Claude Code - od zera do zespołu agentów AI, prowadzi Łukasz Matuszewski (JSystems)

Szkolenie Claude Code - od zera do zespołu agentów AI -->

Szkolenie Claude Code - od zera do zespołu agentów AI

Tryb planowania, tryby uprawnień, komendy, MCP, hooki i systemy multi-agent - wszystko na żywym kodzie podczas trzydniowego szkolenia. Prowadzi Łukasz Matuszewski. Szkolenie ma terminy gwarantowane - odbędzie się niezależnie od liczby zgłoszeń.

Sprawdź szkolenie Claude Code

To szkolenie może być dofinansowane dla Ciebie z KFS lub BUR.

★★★★★Średnia ocena naszych szkoleń w Google: 5/5

Najczęściej zadawane pytania

Jak przekazać klucz API do lokalnego serwera MCP?
Przekaż go jako zmienną środowiskową flagą --env albo -e przy dodawaniu serwera, na przykład claude mcp add --env API_KEY=twoj_klucz --transport stdio nazwa -- npx server. Pamiętaj o dwóch myślnikach przed poleceniem serwera, żeby Claude Code nie potraktował jego flag jak własnych.
Jak zalogować się do serwera MCP wymagającego OAuth?
Najpierw dodaj serwer bez poświadczeń, a potem w sesji wpisz polecenie /mcp, które otworzy przeglądarkę do dokończenia logowania OAuth. Możesz też zalogować się bez wchodzenia do sesji poleceniem claude mcp login z nazwą serwera, a wylogować poleceniem claude mcp logout.
Jak podać statyczny token do zdalnego serwera MCP?
Przy dodawaniu serwera podaj nagłówek uwierzytelniający flagą --header, na przykład --header "Authorization: Bearer TWOJ_TOKEN", w krótszej formie -H. Tak konfiguruje się serwery uwierzytelniane statycznym kluczem lub osobistym tokenem dostępu, bez przechodzenia przez przepływ OAuth.
Jak sprawdzić, czy serwer MCP jest już uwierzytelniony?
Uruchom polecenie claude mcp list i spójrz na status serwera. Wartość Needs authentication oznacza, że brakuje poświadczeń, a Connected, że serwer się połączył. W sesji wpisz /mcp, aby zobaczyć panel z serwerami, ich stanem i dostępnymi narzędziami do potwierdzenia.

Komentarze (0)

Musisz być zalogowany by móc dodać komentarz. Zaloguj się przez Google

Brak komentarzy...