# dbhawk

Даёт агенту доступ к данным DBHawk: список источников, схемы, таблицы, колонки и запросы под правами пользователя.

- MCP-сервер · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI
- Автор: Datasparc
- Лицензия: не указана · policy=link-only · показываем только описание, файл — у автора
- Исходник: https://github.com/Datasparc/dbhawk-mcp-plugin
- Обновлён: 2026-10-23
- HTML: https://affpapa.org/nevibecode/mcp/dbhawk

## Что делает

dbhawk — тонкий мост к REST-поверхности DBHawk на `/api/v2/mcp/**`. Агент видит только те источники данных, которые назначены пользователю, а каждый запрос проходит классификацию и проверку по MCP-тиру групп. По умолчанию тир только на чтение, поэтому менять данные или схему получится лишь там, где тир это разрешает. Есть и работа с текстом: DBHawk AI переводит вопрос в SQL, оптимизирует и форматирует запросы.

Аутентификация настраивается двумя способами. Можно оставить `DBHAWK_TOKEN` пустым: при первом вызове инструмента откроется страница входа DBHawk (пароль, LDAP, 2FA или SSO), вы один раз подтверждаете доступ, и refresh-токен ложится в профиль пользователя — на Windows это `%APPDATA%\dbhawk-mcp`, на macOS `~/Library/Application Support/dbhawk-mcp`, на Linux `~/.config/dbhawk-mcp`. Для этого нужен DBHawk 7.0.1 с MCP-коннектором. Личный токен `dbh_<id>.<secret>` — не JWT: сервер сам обменивает его на короткоживущий JWT через `POST /api/v2/auth/token/exchange`, кэширует и обновляет до истечения срока, а при `401` повторяет запрос один раз. Владельцу токена нужен `ACCESS_TO_DATA`.

В репозитории лежит готовый бандл `dist/dbhawk-mcp.mjs` со всеми зависимостями внутри, поэтому `git clone` запускается без установки пакетов. В Claude поля вроде токена объявлены как `userConfig`, так что токен вводится замаскированным и хранится в системном хранилище, а не в `settings.json`.

## Требования
- Нужно: Node.js (команды через npx)
- Переменные окружения: `DBHAWK_BASE_URL`, `DBHAWK_TOKEN`, `DBHAWK_DEFAULT_DATASOURCE` — это ключи и токены: значения спроси у человека, в репозиторий и общие файлы не записывай.

## Установка

### Claude Code (родная платформа)

**Командой платформы**
```bash
claude mcp add --env DBHAWK_BASE_URL=<DBHAWK_BASE_URL> --env DBHAWK_TOKEN=<DBHAWK_TOKEN> --env DBHAWK_DEFAULT_DATASOURCE=<DBHAWK_DEFAULT_DATASOURCE> --transport stdio dbhawk -- npx -y @dbhawk/mcp
```
Вместо <…> подставьте свои значения

### Codex

**Командой платформы**
```bash
codex mcp add dbhawk --env DBHAWK_BASE_URL=<DBHAWK_BASE_URL> --env DBHAWK_TOKEN=<DBHAWK_TOKEN> --env DBHAWK_DEFAULT_DATASOURCE=<DBHAWK_DEFAULT_DATASOURCE> -- npx -y @dbhawk/mcp
```
Вместо <…> подставьте свои значения

### Cursor

**Файл настроек**
Файл `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "dbhawk": {
            "command": "npx",
            "args": [
                "-y",
                "@dbhawk/mcp"
            ],
            "env": {
                "DBHAWK_BASE_URL": "<DBHAWK_BASE_URL>",
                "DBHAWK_TOKEN": "<DBHAWK_TOKEN>",
                "DBHAWK_DEFAULT_DATASOURCE": "<DBHAWK_DEFAULT_DATASOURCE>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения

### GitHub Copilot

**Файл настроек**
Файл `.vscode/mcp.json`:
```json
{
    "servers": {
        "dbhawk": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "@dbhawk/mcp"
            ],
            "env": {
                "DBHAWK_BASE_URL": "<DBHAWK_BASE_URL>",
                "DBHAWK_TOKEN": "<DBHAWK_TOKEN>",
                "DBHAWK_DEFAULT_DATASOURCE": "<DBHAWK_DEFAULT_DATASOURCE>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения

### Gemini CLI

**Командой платформы**
```bash
gemini mcp add -e DBHAWK_BASE_URL=<DBHAWK_BASE_URL> -e DBHAWK_TOKEN=<DBHAWK_TOKEN> -e DBHAWK_DEFAULT_DATASOURCE=<DBHAWK_DEFAULT_DATASOURCE> dbhawk npx -y @dbhawk/mcp
```
Вместо <…> подставьте свои значения

## Когда брать
- посмотреть, какие источники данных назначены пользователю в DBHawk
- разобрать схему, таблицы и колонки перед написанием запроса
- выполнить запрос с учётом прав доступа и маскирования колонок
- получить SQL из вопроса на естественном языке через DBHawk AI
- проверить, хватает ли MCP-тира для правки данных

## Примеры запросов агенту
- Покажи список источников данных, к которым у меня есть доступ в DBHawk
- Выведи таблицы и колонки схемы `public` в источнике `sales`
- Переведи в SQL: сколько заказов было за последний месяц

## Похожие
- [database-optimization](https://affpapa.org/nevibecode/agents/database-optimization.md) — субагент · 3924 установки
- [planetscale-mcp-agent-operating-model](https://affpapa.org/nevibecode/skills/planetscale-mcp-agent-operating-model.md) — скилл · 2400 установок
- [planetscale-pscale-cli-automation](https://affpapa.org/nevibecode/skills/planetscale-pscale-cli-automation.md) — скилл · 1700 установок
- [attach-db](https://affpapa.org/nevibecode/skills/attach-db.md) — скилл · 1000 установок
- [migrate-create](https://affpapa.org/nevibecode/skills/migrate-create.md) — скилл · 729 установок
- [dbhub](https://affpapa.org/nevibecode/skills/dbhub.md) — скилл · 644 установки

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
