> ## 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` エンドポイントは、Supabase `access_token` を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) でアカウントを作成してから、コネクタセットアップに戻って認証してください。

## クッキーフォールバック

`Authorization` ヘッダーがない場合、ミドルウェアはクッキーベースのSupabaseセッションにフォールバックします。これはアクティブなFlowstepセッションでブラウザから直接 `/mcp` にアクセスする場合に機能します。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フローを使用するクライアントは通常の使用中に再認証する必要がありません。上記のような手動で抽出されたトークンは約1時間後に期限切れになります。これはクイックテストのみを目的としています。
</Warning>
