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

# Подключение через OAuth

> Как подключить Claude Code и других MCP-клиентов к EdgeLab через OAuth 2.1 с авторизацией через Telegram

# Подключение через OAuth

EdgeLab MCP поддерживает OAuth 2.1 для аутентификации. OAuth нужен когда у клиента нет API-ключа или он предпочитает стандартный flow. Claude Code поддерживает оба варианта: и ключ через `-H` флаг, и OAuth.

## Когда нужен OAuth

| Клиент            |       API-ключ      |       OAuth       |
| ----------------- | :-----------------: | :---------------: |
| Claude Code (CLI) | + (через `-H` флаг) | + (автоматически) |
| Claude Desktop    |          +          |         +         |
| Cursor            |          +          |         --        |
| Windsurf          |          +          |         --        |
| Свой агент        |      + (проще)      |         +         |

<Note>
  API-ключ проще и быстрее -- получи в боте [@InvestorEdgeLabbot](https://t.me/InvestorEdgeLabbot) и подключайся. OAuth нужен когда ключа нет или клиент предпочитает стандартный flow.
</Note>

## Как это работает

```text theme={null}
MCP Client (Claude Code)
    ↓ DCR (Dynamic Client Registration)
    ↓ OAuth 2.1 + PKCE
EdgeLab MCP Server
    ↓ /authorize → redirect
Telegram Auth Page
    ↓ user confirms in bot
Supabase session created
    ↓
Access granted with tier/scopes
```

Всё происходит автоматически. Клиент регистрируется через DCR, получает `client_id`, запускает OAuth flow. Пользователь подтверждает через Telegram — клиент получает токен.

## Подключение Claude Code

<Steps>
  <Step title="Добавь MCP сервер">
    ```bash theme={null}
    # Без ключа -- OAuth flow запустится автоматически:
    claude mcp add --transport http edgelab https://mcp.edgelab.su/mcp

    # Или с ключом (OAuth не нужен):
    claude mcp add --transport http -H "Authorization: Bearer el_live_твой_ключ" edgelab https://mcp.edgelab.su/mcp
    ```

    Или добавь в конфиг Claude Code (`~/.claude/settings.json`):

    ```json theme={null}
    {
      "mcpServers": {
        "edgelab": {
          "type": "streamable-http",
          "url": "https://mcp.edgelab.su/mcp"
        }
      }
    }
    ```
  </Step>

  <Step title="Запусти Claude Code">
    При первом вызове инструмента EdgeLab, Claude Code автоматически:

    1. Зарегистрирует себя через DCR
    2. Откроет браузер для авторизации
    3. Покажет страницу авторизации через Telegram
  </Step>

  <Step title="Подтверди через Telegram">
    В браузере откроется страница с кнопкой **«Открыть Telegram»**.

    1. Нажми кнопку — откроется бот [@InvestorEdgeLabbot](https://t.me/InvestorEdgeLabbot)
    2. Нажми **START** (или `/start`) — бот привяжет твой аккаунт
    3. Страница автоматически определит подтверждение и перенаправит обратно в Claude Code

    Весь процесс занимает 10–15 секунд. Никаких паролей, email-подтверждений или форм.
  </Step>
</Steps>

<Tip>
  Если у тебя уже есть аккаунт EdgeLab через Telegram — авторизация пройдёт мгновенно. Если нет — бот создаст аккаунт автоматически при первом подтверждении.
</Tip>

## Подключение через конфиг

Для клиентов с JSON-конфигурацией MCP:

<CodeGroup>
  ```json Claude Code theme={null}
  {
    "mcpServers": {
      "edgelab": {
        "type": "streamable-http",
        "url": "https://mcp.edgelab.su/mcp"
      }
    }
  }
  ```

  ```json Claude Desktop theme={null}
  {
    "mcpServers": {
      "edgelab": {
        "url": "https://mcp.edgelab.su/mcp",
        "headers": {
          "Authorization": "Bearer el_live_ваш_ключ"
        }
      }
    }
  }
  ```

  ```json Cursor / Windsurf theme={null}
  {
    "mcpServers": {
      "edgelab": {
        "url": "https://mcp.edgelab.su/mcp",
        "headers": {
          "x-api-key": "el_live_ваш_ключ"
        }
      }
    }
  }
  ```
</CodeGroup>

Без заголовков — OAuth flow запустится автоматически при первом запросе.

## Что получает OAuth-пользователь

После аутентификации MCP сервер определяет tier пользователя из Supabase и открывает соответствующие tools:

| Tier | Tools | Rate limit |
| ---- | ----: | ---------: |
| Free |    18 |     30/min |
| Edge |    39 |     60/min |
| Pro  |    63 |    120/min |
| VIP  |    63 |    300/min |

## OAuth + API-ключ

Оба способа работают одновременно. Если у тебя уже есть `el_live_` ключ, он продолжит работать через заголовки. OAuth — альтернативный путь для клиентов без поддержки заголовков.

## Discovery endpoint

OAuth metadata доступен по стандартному пути:

```
https://mcp.edgelab.su/.well-known/oauth-authorization-server
```

Там перечислены все endpoints: authorization, token, registration, scopes.

## Поддерживаемые возможности

* **OAuth 2.1** с PKCE (S256)
* **Dynamic Client Registration** (DCR) — клиенты регистрируются автоматически
* **Telegram-авторизация** — без email и паролей
* **Token rotation** — refresh tokens ротируются автоматически
* **Scopes**: openid, email, profile, knowledge:read, profile:read, profile:write, progress:write, billing:read и другие

## Troubleshooting

<AccordionGroup>
  <Accordion title="OAuth flow не запускается">
    Проверь что клиент поддерживает OAuth 2.1. Должен уметь:

    * Читать `/.well-known/oauth-authorization-server`
    * Выполнять DCR на `/register`
    * Запускать authorization code flow с PKCE
  </Accordion>

  <Accordion title="Страница авторизации не открывается">
    Убедись что браузер по умолчанию настроен и может открывать ссылки. Claude Code автоматически запускает OAuth flow через системный браузер.
  </Accordion>

  <Accordion title="Бот не отвечает при подтверждении">
    Попробуй нажать `/start` ещё раз в боте [@InvestorEdgeLabbot](https://t.me/InvestorEdgeLabbot). Если проблема остаётся — обратись в поддержку через Telegram-канал.
  </Accordion>

  <Accordion title="Tier определяется как Free">
    Убедись что подписка активна. Проверь через:

    ```bash theme={null}
    # В Claude Code после подключения
    get_my_subscription
    ```
  </Accordion>
</AccordionGroup>

## Что дальше

<CardGroup cols={2}>
  <Card title="API-ключи" icon="key" href="/authentication">
    Альтернативный способ через API-ключ
  </Card>

  <Card title="Подключение агента" icon="robot" href="/guides/connect-agent">
    Полный гайд по подключению агента
  </Card>

  <Card title="Безопасность ключей" icon="lock" href="/guides/api-key-security">
    Хранение и ротация ключей
  </Card>

  <Card title="Обзор tools" icon="book" href="/api-reference/introduction">
    Какие MCP tools доступны
  </Card>
</CardGroup>
