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

# Autentificare MCP

> Cum Flowstep MCP autentifică clienții: fluxul OAuth 2.1 PKCE și crearea de conturi.

Endpoint-ul `/mcp` necesită un `access_token` Supabase transmis ca token Bearer. Majoritatea clienților MCP obțin aceasta automat prin fluxul OAuth 2.1 PKCE. De asemenea, poți furniza un token manual pentru testare.

## Fluxul OAuth 2.1 PKCE

Flowstep implementează un server complet de autorizare OAuth 2.1 la `https://api.flowstep.ai`. Clienții MCP îl descoperă și completează fluxul automat: deschid o fereastră de browser pentru a te conecta, apoi gestionează schimbul de token în spatele scenei.

### Metode de autentificare acceptate

Pagina de autorizare la `/oauth/authorize` acceptă:

* **Email/password** (email/parolă) — orice cont Flowstep cu o parolă setată
* **Google SSO** — redirecționează prin autentificare socială Supabase, se întoarce la client automat

### Crearea de conturi pentru utilizatorii conectării claude.ai

Pagina de autentificare OAuth nu include un formular de înregistrare. Dacă te conectezi prin conectorul personalizat claude.ai și nu ai încă un cont Flowstep, creează-l mai întâi la [app.flowstep.ai](https://app.flowstep.ai), apoi revino la configurarea conectării pentru autentificare.

## Fallback-ul cookie-ului

Dacă nu este prezent niciun antet `Authorization`, middleware-ul revine la o sesiune Supabase bazată pe cookie. Aceasta funcționează atunci când accesezi `/mcp` direct dintr-un browser cu o sesiune Flowstep activă. Clienții MCP folosesc întotdeauna calea Bearer.

## Token manual (testare)

Pentru a apela endpoint-ul direct fără un flux OAuth client:

1. Conectează-te la [app.flowstep.ai](https://app.flowstep.ai) în browserul tău
2. Deschide DevTools → Console, rulează:

```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. Transmite tokenul ca antet:

```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>
  Sesiunile MCP durează 30 de zile — serverul reîmprospătează tokenul subiacent transparent, deci clienții care utilizează fluxul OAuth nu trebuie să se re-autentifice în timpul utilizării normale. Un token extras manual ca cel de mai sus încă expiră după aproximativ o oră; este numai pentru testare rapidă.
</Warning>
