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

# Установка Didit MCP: Claude, Cursor, VS Code, Windsurf

> Установите размещённый Didit MCP-сервер в Claude, Cursor, VS Code, Windsurf, Zed или любом MCP-клиенте, либо разверните open-source сервер. API-ключи не нужны.

Выберите клиент ниже. **Размещённый** сервер (`https://mcp.didit.me/mcp`) не требует API-ключа: при первом подключении клиент откроет браузер, где вы нажмёте [**Вход через Didit**](https://docs.didit.me/ru/integration/mcp/authentication.md) и одобрите разрешения.

> [!TIP]
>
> **Используете Claude?** На странице [Подключение Claude](https://docs.didit.me/ru/integration/mcp/claude.md) есть ссылка для подключения в один клик. Она открывает диалог **Add custom connector** с уже заполненными именем и URL, поэтому вам остаётся только подтвердить и войти.

> [!NOTE]
>
> Клиенты, которые пока не поддерживают удалённый MCP по HTTP (Windsurf, Zed), подключаются через мост `mcp-remote`. Он перенаправляет stdio на размещённый URL и сам выполняет OAuth-рукопожатие.

***

## Размещённый сервер (рекомендуется)

> [tab] Claude Code
>
> Добавьте сервер через CLI, затем запустите вход:
>
> ```bash theme={null}
> claude mcp add --transport http didit https://mcp.didit.me/mcp
> ```
>
> Запустите Claude Code и выполните `/mcp`. Откроется браузер с кнопкой **Вход через Didit**. После одобрения станут доступны инструменты `didit`.

> [tab] Claude: веб и Desktop
>
> Веб: нажмите [**Add Didit to Claude →**](https://claude.ai/customize/connectors?modal=add-custom-connector\&connectorName=Didit\&connectorUrl=https://mcp.didit.me/mcp) и подтвердите диалог с заполненными полями.
>
> Desktop: **Settings → Connectors → Add custom connector**, назовите сервер `Didit` и укажите URL:
>
> ```text theme={null}
> https://mcp.didit.me/mcp
> ```
>
> Нажмите **Connect** и выполните **Вход через Didit** в браузере. Инструменты Didit появятся в меню инструментов чата.

> [tab] Cursor
>
> Добавьте в `~/.cursor/mcp.json` (глобально) или в `.cursor/mcp.json` (для проекта):
>
> ```json theme={null}
> {
>   "mcpServers": {
>     "didit": {
>       "url": "https://mcp.didit.me/mcp"
>     }
>   }
> }
> ```
>
> Или откройте **Settings → Tools & Integrations → New MCP Server**. Cursor регистрируется в Didit через Dynamic Client Registration и при первом использовании открывает браузер для входа.

> [tab] VS Code
>
> В агентном режиме GitHub Copilot добавьте `.vscode/mcp.json`:
>
> ```json theme={null}
> {
>   "servers": {
>     "didit": {
>       "type": "http",
>       "url": "https://mcp.didit.me/mcp"
>     }
>   }
> }
> ```
>
> Или выполните **MCP: Add Server** в командной палитре и выберите **HTTP**. Войдите, когда будет предложено. Укажите в VS Code полный URL с `/mcp`: сервер публикует метаданные OAuth-ресурса именно для этого пути.

> [tab] Windsurf
>
> Windsurf подключается через мост `mcp-remote`. Добавьте в `~/.codeium/windsurf/mcp_config.json`:
>
> ```json theme={null}
> {
>   "mcpServers": {
>     "didit": {
>       "command": "npx",
>       "args": ["-y", "mcp-remote@latest", "https://mcp.didit.me/mcp"]
>     }
>   }
> }
> ```
>
> Откройте **Settings → Cascade → MCP Servers → Manage**, чтобы убедиться, что сервер загружен, затем войдите через браузер.

> [tab] Zed
>
> Добавьте контекстный сервер в `settings.json` Zed:
>
> ```json theme={null}
> {
>   "context_servers": {
>     "didit": {
>       "source": "custom",
>       "command": "npx",
>       "args": ["-y", "mcp-remote@latest", "https://mcp.didit.me/mcp"]
>     }
>   }
> }
> ```
>
> Zed запускает мост и открывает браузер с кнопкой **Вход через Didit**.

> [tab] Любой другой клиент
>
> Любой клиент, который реализует MCP через **Streamable HTTP** с **OAuth 2.1**, может подключиться к `https://mcp.didit.me/mcp` напрямую. Он находит сервер авторизации по адресу `https://mcp.didit.me/.well-known/oauth-protected-resource/mcp`, регистрируется через Dynamic Client Registration и проходит поток PKCE. Сервер принимает только `POST` на `/mcp`. `GET` и `DELETE` возвращают `405`, потому что сервер работает без состояния и не ведёт поток, инициируемый сервером.
>
> Клиент, который работает только через stdio, может использовать тот же мост `mcp-remote`, что и Windsurf с Zed:
>
> ```bash theme={null}
> npx -y mcp-remote@latest https://mcp.didit.me/mcp
> ```
>
> Чтобы попробовать сервер без клиента, [MCP Inspector](https://modelcontextprotocol.io/docs/tools/inspector) подключается к тому же URL и поможет выполнить вход.

> [!NOTE]
>
> **В конфигурации нет API-ключа.** Размещённый сервер аутентифицирует вас в браузере и действует как **вы**: от имени каждой организации, в которой вы состоите, с разрешениями вашей роли. См. [Аутентификация](https://docs.didit.me/ru/integration/mcp/authentication.md).

Размещённый сервер по запросу `GET https://mcp.didit.me/healthz` возвращает свою версию.

***

## Проверка подключения

После входа спросите у клиента:

```text theme={null}
Use the Didit MCP server to call didit_context_get and list my organizations and applications.
```

Агент должен вызвать `didit_context_get` и показать ваши организации с их приложениями. Если он сообщает, что у него нет инструментов Didit, значит, сервер не подключился или вход не был завершён. См. [Устранение неполадок](https://docs.didit.me/ru/integration/mcp/advanced.md#устранение-неполадок).

## Самостоятельное развертывание

Хостируемый сервер собран из открытого репозитория [github.com/didit-protocol/mcp](https://github.com/didit-protocol/mcp) (MIT). Каждый релиз также публикуется в npm как [`@didit-protocol/mcp-server`](https://www.npmjs.com/package/@didit-protocol/mcp-server), поэтому stdio-сервер можно запустить прямо из npm или собрать любую из точек входа, клонировав репозиторий. Одна кодовая база включает две точки входа:

| Точка входа | Режим | Транспорт | Аутентификация |
| - | - | - | - |
| `dist/http.js` | Хостируемый | Streamable HTTP на `MCP_PORT` (по умолчанию 3000), `POST /mcp`, `GET /healthz` | OAuth 2.1 Bearer, проверяется интроспекцией токена |
| `dist/index.js` | stdio (без интерфейса) | MCP stdio | Токен доступа пользователя в `DIDIT_ACCESS_TOKEN` |

Оба режима работают от имени **пользователя** Didit. Режима с API-ключом приложения не существует.

**1. Клонируйте и соберите**

```bash theme={null}
git clone https://github.com/didit-protocol/mcp.git && cd mcp
npm install && npm run build
```

Или соберите контейнер: `docker build -t didit-mcp .`. Образ запускает `dist/http.js` от имени непривилегированного пользователя, открывает порт 3000 и имеет проверку состояния на `/healthz`.

**2. Запустите HTTP-сервер (OAuth)**

Скопируйте `.env.example` в `.env` и заполните значения для хостируемого режима, затем выполните:

```bash theme={null}
node dist/http.js
# or
docker run -p 3000:3000 --env-file .env didit-mcp
```

Сервер является только сервером ресурсов OAuth. Ему нужна переменная `MCP_RESOURCE_URI` с полным публичным URL транспорта (например, `https://mcp.example.com/mcp`, а не только базовый URL), а также учетные данные (`MCP_OAUTH_CLIENT_ID`, `MCP_OAUTH_CLIENT_SECRET`), с помощью которых выполняется интроспекция токенов на сервере авторизации Didit. Полный список переменных приведен в разделе [Расширенные настройки → самостоятельное развертывание](https://docs.didit.me/ru/integration/mcp/advanced.md#самостоятельное-развертывание).

**3. Или запустите через stdio (без интерфейса)**

Для локального агента, который не может пройти процесс OAuth, запустите опубликованный пакет (клонировать репозиторий не нужно) и передайте токен доступа пользователя через переменную окружения:

```bash theme={null}
DIDIT_ACCESS_TOKEN=<user-access-token> npx -y @didit-protocol/mcp-server
```

Из клона та же команда выглядит так: `DIDIT_ACCESS_TOKEN=<user-access-token> node dist/index.js`. Без токена агент может войти с помощью `didit_account_login`, а затем вызвать `didit_account_verify_2fa`, если в аккаунте включена двухфакторная аутентификация.

Необязательные переменные `MCP_DEFAULT_ORG` и `MCP_DEFAULT_APP` закрепляют область действия для конфигураций с одним арендатором. Чтобы зарегистрировать сервер в Claude Code, выполните:

```bash theme={null}
claude mcp add didit-local -e DIDIT_ACCESS_TOKEN=<user-access-token> -- npx -y @didit-protocol/mcp-server
```

Или добавьте его в `mcp.json` в Cursor:

```json theme={null}
{
  "mcpServers": {
    "didit-local": {
      "command": "npx",
      "args": ["-y", "@didit-protocol/mcp-server"],
      "env": { "DIDIT_ACCESS_TOKEN": "<user-access-token>" }
    }
  }
}
```

Открытый stdio-сервер не включает инструменты хостируемого сервера для Travel Rule, маркетплейса, сети противодействия мошенничеству и токенов транзакционного SDK, а также его инструменты комплаенса, кроме инструмента создания сценария.
Он добавляет `didit_org_top_up`, `didit_org_reveal_application_api_key` и пять инструментов настройки аккаунта (`didit_account_register`, `didit_account_verify_email`, `didit_account_resend_otp`, `didit_account_login`, `didit_account_verify_2fa`). Они принимают учетные данные как аргументы, поэтому никогда не включаются в удалённый коннектор. Инструменты, которые работают с файлами, на stdio также принимают аргументы `*_path`, поскольку сервер использует вашу файловую систему.

***

## Следующие шаги

> [card] [Аутентификация](https://docs.didit.me/ru/integration/mcp/authentication.md)
>
> Вход, области доступа и роли.

> [card] [Справочник инструментов](https://docs.didit.me/ru/integration/mcp/tools.md)
>
> Все инструменты, которые может вызвать агент.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.