> ## Documentation Index
> Fetch the complete documentation index at: https://docs.flowstep.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Uwierzytelnianie MCP

> Jak Flowstep MCP uwierzytelnia klientów: przepływ OAuth 2.1 PKCE i tworzenie konta.

Punkt końcowy `/mcp` wymaga tokenu dostępu Supabase przekazanego jako token Bearer. Większość klientów MCP uzyskuje go automatycznie za pośrednictwem przepływu OAuth 2.1 PKCE. Możesz również dostarczyć token ręcznie do testowania.

## Przepływ OAuth 2.1 PKCE

Flowstep implementuje pełny serwer autoryzacji OAuth 2.1 na `https://api.flowstep.ai`. Klienci MCP odkrywają go i uzupełniają przepływ automatycznie: otwierają okno przeglądarki, aby się zalogować, a następnie obsługują wymianę tokenów w tle.

### Obsługiwane metody logowania

Strona autoryzacji w `/oauth/authorize` obsługuje:

* **Email/password** — każde konto Flowstep z ustawionym hasłem
* **Google SSO** — przekierowuje się przez Supabase social auth, automatycznie wraca do klienta

### Tworzenie konta dla użytkowników łącznika claude.ai

Strona logowania OAuth nie zawiera formularza rejestracji. Jeśli łączysz się za pośrednictwem łącznika niestandardowego claude.ai i nie masz jeszcze konta Flowstep, utwórz je najpierw na [app.flowstep.ai](https://app.flowstep.ai), a następnie wróć do konfiguracji łącznika, aby się uwierzytelnić.

## Rezerwowa autoryzacja za pośrednictwem cookies

Jeśli nie ma nagłówka `Authorization`, middleware przechodzi na sesję Supabase opartą na cookies. Działa to podczas dostępu do `/mcp` bezpośrednio z przeglądarki z aktywną sesją Flowstep. Klienci MCP zawsze używają ścieżki Bearer.

## Token ręczny (testowanie)

Aby wywołać punkt końcowy bezpośrednio bez przepływu OAuth klienta:

1. Zaloguj się do [app.flowstep.ai](https://app.flowstep.ai) w przeglądarce
2. Otwórz DevTools → Console i uruchom:

```javascript theme={"system"}
const pairs = document.cookie.split("; ").map((c) => {
  const i = c.indexOf("=");
  return [c.slice(0, i), c.slice(i + 1)];
});
const authPairs = pairs
  .filter(([k]) => /^sb-.+-auth-token(\.\d+)?$/.test(k))
  .sort(([a], [b]) => a.localeCompare(b));
const raw = authPairs.map(([, v]) => decodeURIComponent(v)).join("");
const session = JSON.parse(
  raw.startsWith("base64-") ? atob(raw.slice(7)) : raw,
);
console.log(session.access_token);
```

3. Przekaż token jako nagłówek:

```bash theme={"system"}
curl -X POST https://api.flowstep.ai/mcp \
  -H "Authorization: Bearer <access_token>" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
```

<Warning>
  Sesje MCP trwają 30 dni — serwer odświeża bazowy token w sposób przezroczysty, więc klienci korzystający z przepływu OAuth nie muszą ponownie uwierzytelniać się podczas normalnego użytkowania. Token wyodrębniony ręcznie, jak powyżej, wciąż wygasa po około godzinie; jest tylko do szybkiego testowania.
</Warning>
