> ## 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.

# Аутентифікація MCP

> Як Flowstep MCP аутентифікує клієнтів: потік OAuth 2.1 PKCE та створення облікового запису.

Кінцева точка `/mcp` вимагає `access_token` Supabase, переданого як Bearer токен. Більшість MCP клієнтів отримують це автоматично через потік OAuth 2.1 PKCE. Ви також можете надати токен вручно для тестування.

## Потік OAuth 2.1 PKCE

Flowstep реалізує повний сервер авторизації OAuth 2.1 за адресою `https://api.flowstep.ai`. MCP клієнти автоматично виявляють потік та його завершують: вони відкривають вікно браузера для вас, щоб ви увійшли, а потім обробляють обмін токенів за кулісами.

### Підтримувані способи входу

Сторінка авторизації за адресою `/oauth/authorize` підтримує:

* **Email/password** — будь-який обліковий запис Flowstep з установленим паролем
* **Google SSO** — перенаправляється через соціальну аутентифікацію Supabase, автоматично повертається до клієнта

### Створення облікового запису для користувачів коннектора claude.ai

Сторінка входу OAuth не містить форми реєстрації. Якщо ви підключаєтесь через спеціальний коннектор claude.ai і у вас ще немає облікового запису Flowstep, спочатку створіть його на [app.flowstep.ai](https://app.flowstep.ai), а потім поверніться до налаштування коннектора для аутентифікації.

## Резервний варіант cookie

Якщо заголовок `Authorization` відсутній, проміжне програмне забезпечення повертається до сеансу на основі cookie Supabase. Це працює при доступі до `/mcp` безпосередньо з браузера з активним сеансом Flowstep. MCP клієнти завжди використовують шлях Bearer.

## Ручний токен (тестування)

Щоб викликати кінцеву точку безпосередньо без потоку OAuth клієнта:

1. Увійдіть на [app.flowstep.ai](https://app.flowstep.ai) у своєму браузері
2. Відкрийте DevTools → Console, запустіть:

```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. Передайте токен як заголовок:

```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>
  Сеанси MCP тривають 30 днів — сервер прозоро оновлює базовий токен, тому клієнти, які використовують потік OAuth, не потребують переаутентифікації під час звичайного використання. Вручну витягнутий токен, як наведено вище, все ще закінчується приблизно через годину; це лише для швидкого тестування.
</Warning>
