# mcp-server-motherduck

Локальный сервер для выполнения аналитических SQL-запросов через DuckDB и MotherDuck. Открывает ИИ-ассистентам доступ к локальным файлам баз данных, памяти и облачным хранилищам.

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

## Что делает

Сервер связывает ассистента с движком DuckDB на вашей машине. Он умеет читать схемы каталогов и выполнять выборки данных. Поддерживаются локальные файлы `.duckdb`, оперативная память `:memory:` или облачные базы MotherDuck. При переключении в режим чтения сервер не захватывает файловую блокировку, поэтому к одному файлу можно обращаться параллельно из других процессов.

Для запуска требуется менеджер `uv`. Утилита стартует через `uvx` с флагами пути `--db-path`, разрешения записи `--read-write` и смены баз на лету `--allow-switch-databases`. Без переменных окружения с токеном `motherduck_token` или ключами AWS подключиться к удалённым источникам не получится.

## Требования
- Нужно: Python и uv (команды через uvx)
- Переменные окружения: `motherduck_token`, `MOTHERDUCK_TOKEN`, `HOME`, `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY`, `AWS_SESSION_TOKEN`, `AWS_DEFAULT_REGION`, `AWS_ENDPOINT` — это ключи и токены: значения спроси у человека, в репозиторий и общие файлы не записывай.

## Установка

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

**Командой платформы**
```bash
claude mcp add mcp-server-motherduck -e motherduck_token=<motherduck_token> -e MOTHERDUCK_TOKEN=<MOTHERDUCK_TOKEN> -e AWS_ACCESS_KEY_ID=<AWS_ACCESS_KEY_ID> -e AWS_SECRET_ACCESS_KEY=<AWS_SECRET_ACCESS_KEY> -e AWS_SESSION_TOKEN=<AWS_SESSION_TOKEN> -- uvx mcp-server-motherduck
```
Вместо <…> подставьте свои значения. Ещё 3 переменные окружения — в README сервера. uvx запускает команду с именем пакета; если в README она другая — uvx --from mcp-server-motherduck <команда>

### Codex

**Командой платформы**
```bash
codex mcp add mcp-server-motherduck --env motherduck_token=<motherduck_token> --env MOTHERDUCK_TOKEN=<MOTHERDUCK_TOKEN> --env HOME=<HOME> --env AWS_ACCESS_KEY_ID=<AWS_ACCESS_KEY_ID> --env AWS_SECRET_ACCESS_KEY=<AWS_SECRET_ACCESS_KEY> -- uvx mcp-server-motherduck
```
Вместо <…> подставьте свои значения. Ещё 3 переменные окружения — в README сервера. uvx запускает команду с именем пакета; если в README она другая — uvx --from mcp-server-motherduck <команда>

### Cursor

**Файл настроек**
Файл `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "mcp-server-motherduck": {
            "command": "uvx",
            "args": [
                "mcp-server-motherduck"
            ],
            "env": {
                "motherduck_token": "<motherduck_token>",
                "MOTHERDUCK_TOKEN": "<MOTHERDUCK_TOKEN>",
                "HOME": "<HOME>",
                "AWS_ACCESS_KEY_ID": "<AWS_ACCESS_KEY_ID>",
                "AWS_SECRET_ACCESS_KEY": "<AWS_SECRET_ACCESS_KEY>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. Ещё 3 переменные окружения — в README сервера. uvx запускает команду с именем пакета; если в README она другая — uvx --from mcp-server-motherduck <команда>

### GitHub Copilot

**Файл настроек**
Файл `.vscode/mcp.json`:
```json
{
    "servers": {
        "mcp-server-motherduck": {
            "type": "stdio",
            "command": "uvx",
            "args": [
                "mcp-server-motherduck"
            ],
            "env": {
                "motherduck_token": "<motherduck_token>",
                "MOTHERDUCK_TOKEN": "<MOTHERDUCK_TOKEN>",
                "HOME": "<HOME>",
                "AWS_ACCESS_KEY_ID": "<AWS_ACCESS_KEY_ID>",
                "AWS_SECRET_ACCESS_KEY": "<AWS_SECRET_ACCESS_KEY>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. Ещё 3 переменные окружения — в README сервера. uvx запускает команду с именем пакета; если в README она другая — uvx --from mcp-server-motherduck <команда>

### Gemini CLI

**Командой платформы**
```bash
gemini mcp add -e motherduck_token=<motherduck_token> -e MOTHERDUCK_TOKEN=<MOTHERDUCK_TOKEN> -e HOME=<HOME> -e AWS_ACCESS_KEY_ID=<AWS_ACCESS_KEY_ID> -e AWS_SECRET_ACCESS_KEY=<AWS_SECRET_ACCESS_KEY> mcp-server-motherduck uvx mcp-server-motherduck
```
Вместо <…> подставьте свои значения. Ещё 3 переменные окружения — в README сервера. uvx запускает команду с именем пакета; если в README она другая — uvx --from mcp-server-motherduck <команда>

## Когда брать
- Выполнять аналитические SQL-запросы к локальным файлам DuckDB
- Исследовать структуру таблиц и каталогов базы данных через диалог
- Импортировать данные из локальных файлов прямо в таблицы MotherDuck
- Запускать быстрые расчёты в оперативной памяти без создания файлов

## Примеры запросов агенту
- Покажи список таблиц и первые 10 строк из схемы public в базе ./analytics.duckdb
- Создай временную таблицу в памяти из файла data.csv и посчитай выручку по регионам
- Выполни аналитический запрос к таблице orders в базе MotherDuck

## Похожие
- [World Monitor](https://affpapa.org/nevibecode/mcp/world-monitor.md) — MCP-сервер · ★ 89408
- [Scrapling MCP Server](https://affpapa.org/nevibecode/mcp/scrapling-mcp-server.md) — MCP-сервер · ★ 89433
- [MCP Toolbox for Databases](https://affpapa.org/nevibecode/mcp/googleapis-mcp-toolbox-for-databases.md) — MCP-сервер · ★ 16717

_Часть страницы не вошла по размеру — она есть в HTML-версии._

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