Claude делает аналитику прямо в разговоре: выполняет SQL над локальными DuckDB файлами и облачными MotherDuck базами данных. Мгновенный in-process OLAP — без сервера, прямо в памяти.
# Для локального DuckDB токен не нужен. Для MotherDuck: получить на app.motherduck.com
# Claude Desktop — claude_desktop_config.json:
{ "mcpServers": { "motherduck": { "command": "uvx", "args": ["mcp-server-motherduck"],
"env": { "motherduck_token": "YOUR_MOTHERDUCK_TOKEN" } } } }
# Claude Code (CLI):
claude mcp add motherduck --env motherduck_token=YOUR_TOKEN -- uvx mcp-server-motherduck
# OpenCode — ~/.config/opencode/opencode.json:
{ "mcp": { "motherduck": { "type": "local", "command": ["uvx", "mcp-server-motherduck"],
"environment": { "motherduck_token": "YOUR_TOKEN" } } } }

SQL-аналитика и инженерия данных для ИИ-ассистентов и IDE.
Подключайте ИИ-ассистенты к вашим данным с помощью мощного аналитического SQL-движка DuckDB. Поддерживает подключение к локальным файлам DuckDB, базам данных в памяти, базам данных на S3 и MotherDuck. Позволяет выполнять SQL-запросы на чтение и запись, просматривать каталоги баз данных и переключаться между различными подключениями к базам данных на лету.
Ищете полностью управляемый удаленный MCP-сервер для MotherDuck? → Перейти к документации MotherDuck Remote MCP
| Удаленный MCP | Локальный MCP (этот репозиторий) | |
|---|---|---|
| Хостинг | Размещается MotherDuck | Работает локально/на собственном хостинге |
| Настройка | Без настройки | Требуется локальная установка |
| Доступ | Поддерживается чтение-запись | Поддерживается чтение-запись |
| Локальная файловая система | - | Запросы к локальным и удаленным базам данных, импорт данных из / экспорт данных в локальную файловую систему |
📝 Миграция с v0.x? - Только чтение по умолчанию: Сервер теперь по умолчанию работает в режиме только для чтения. Добавьте
--read-writeдля включения доступа на запись. См. Обеспечение безопасности для продакшена. - Изменена база данных по умолчанию: Значение по умолчанию--db-pathизменено сmd:на:memory:. Явно добавьте--db-path md:для MotherDuck. - Для MotherDuck в режиме только для чтения требуется read-scaling токен: Подключения к MotherDuck в режиме только для чтения требуют read-scaling токен. Обычные токены требуют--read-write.
Предварительные требования: Установите uv через pip install uv или brew install uv
{
"mcpServers": {
"DuckDB (in-memory, r/w)": {
"command": "uvx",
"args": ["mcp-server-motherduck", "--db-path", ":memory:", "--read-write", "--allow-switch-databases"]
}
}
}
Полная гибкость без ограничений — доступ на чтение-запись и возможность переключаться на любую базу данных (локальные файлы, S3 или MotherDuck) во время выполнения.
{
"mcpServers": {
"DuckDB (read-only)": {
"command": "uvx",
"args": ["mcp-server-motherduck", "--db-path", "/absolute/path/to/your.duckdb"]
}
}
}
Подключается к определенному файлу DuckDB в режиме только для чтения. Не удерживает блокировку файла, поэтому удобно использовать совместно с подключением на запись к тому же файлу DuckDB. Вы также можете подключаться к удаленным файлам DuckDB на S3, используя s3://bucket/path.duckdb — см. Переменные окружения для аутентификации S3. Если вы рассматриваете сторонний доступ к MCP, см. Обеспечение безопасности для продакшена.
{
"mcpServers": {
"MotherDuck (local, r/w)": {
"command": "uvx",
"args": ["mcp-server-motherduck", "--db-path", "md:", "--read-write"],
"env": {
"motherduck_token": "<YOUR_MOTHERDUCK_TOKEN>"
}
}
}
}
См. Параметры командной строки для дополнительных опций, Обеспечение безопасности для продакшена для руководства по развертыванию и Устранение неполадок при возникновении проблем.
| Клиент | Расположение конфигурации | Установка в один клик |
|---|---|---|
| Claude Desktop | Настройки → Разработчик → Изменить конфигурацию | .mcpb (MCP Bundle) |
| Claude Code | Используйте команды CLI ниже | - |
| Codex CLI | Используйте команды CLI ниже или ~/.codex/config.toml |
- |
| Gemini CLI | Используйте команды CLI ниже или ~/.gemini/settings.json |
- |
| Cursor | Настройки → MCP → Добавить новый глобальный MCP-сервер | |
| VS Code | Ctrl+Shift+P → "Предпочтения: Открыть пользовательские настройки (JSON)" |
|
| Kiro | ~/.kiro/settings/mcp.json (глобально) или .kiro/settings/mcp.json (для проекта) |
Любой совместимый с MCP клиент может использовать этот сервер. Добавьте конфигурацию JSON из раздела Быстрый старт в файл конфигурации MCP вашего клиента. Обратитесь к документации вашего клиента для определения местоположения файла конфигурации.
Команды CLI для Claude Code
DuckDB в памяти (Режим разработки):
claude mcp add --scope user duckdb --transport stdio -- uvx mcp-server-motherduck --db-path :memory: --read-write --allow-switch-databases
Локальный DuckDB (Только чтение):
claude mcp add --scope user duckdb --transport stdio -- uvx mcp-server-motherduck --db-path /absolute/path/to/db.duckdb
MotherDuck (Чтение-запись):
claude mcp add --scope user motherduck --transport stdio --env motherduck_token=YOUR_TOKEN -- uvx mcp-server-motherduck --db-path md: --read-write
Команды CLI для Codex
DuckDB в памяти (Режим разработки):
codex mcp add duckdb -- uvx mcp-server-motherduck --db-path :memory: --read-write --allow-switch-databases
Локальный DuckDB (Только чтение):
codex mcp add duckdb -- uvx mcp-server-motherduck --db-path /absolute/path/to/db.duckdb
MotherDuck (Чтение-запись):
codex mcp add motherduck --env motherduck_token=YOUR_TOKEN -- uvx mcp-server-motherduck --db-path md: --read-write
Команды CLI для Gemini
DuckDB в памяти (Режим разработки):
gemini mcp add -s user duckdb uvx mcp-server-motherduck --db-path :memory: --read-write --allow-switch-databases
Локальный DuckDB (Только чтение):
gemini mcp add -s user duckdb uvx mcp-server-motherduck --db-path /absolute/path/to/db.duckdb
MotherDuck (Чтение-запись):
gemini mcp add -s user -e motherduck_token=YOUR_TOKEN motherduck uvx mcp-server-motherduck --db-path md: --read-write
Ручная конфигурация JSON для Kiro
Добавьте следующее в файл конфигурации MCP для Kiro (~/.kiro/settings/mcp.json для глобальной настройки или .kiro/settings/mcp.json для настройки в рамках проекта). Дополнительную информацию см. в документации Kiro MCP.
DuckDB в памяти (Режим разработки):
{
"mcpServers": {
"DuckDB (in-memory, r/w)": {
"command": "uvx",
"args": ["mcp-server-motherduck", "--db-path", ":memory:", "--read-write", "--allow-switch-databases"]
}
}
}
MotherDuck (Чтение-запись):
{
"mcpServers": {
"MotherDuck (local, r/w)": {
"command": "uvx",
"args": ["mcp-server-motherduck", "--db-path", "md:", "--read-write"],
"env": {
"motherduck_token": "<YOUR_MOTHERDUCK_TOKEN>"
}
}
}
}
| Инструмент | Описание | Обязательные входные данные | Необязательные входные данные |
|---|---|---|---|
execute_query |
Выполнить SQL-запрос (диалект DuckDB) | sql |
- |
list_databases |
Вывести список всех баз данных (полезно для MotherDuck или нескольких подключенных БД) | - | - |
list_tables |
Вывести список таблиц и представлений | - | database, schema |
list_columns |
Вывести список столбцов таблицы/представления | table |
database, schema |
switch_database_connection* |
Переключиться на другую базу данных | path |
create_if_not_exists |
*Требуется флаг --allow-switch-databases
Все инструменты возвращают JSON. По умолчанию результаты ограничены 1024 строками / 50 000 символов (настраивается через --max-rows, --max-chars).
При предоставлении сторонним пользователям доступа к самостоятельному MCP-серверу только режим «только для чтения» недостаточен — он по-прежнему позволяет доступ к локальной файловой системе, изменение настроек DuckDB и другие потенциально чувствительные операции.
Для промышленных развертываний с доступом сторонних пользователей мы рекомендуем MotherDuck Remote MCP — решение без настройки, с возможностью чтения и записи, размещаемое MotherDuck.
Самостоятельный хостинг MotherDuck MCP: Fork этот репозиторий и настройте его по мере необходимости. Используйте сервисный аккаунт с токенами для масштабирования чтения и включите режим SaaS для ограничения доступа к локальным файлам.
Самостоятельный хостинг DuckDB MCP: Используйте --init-sql для применения параметров безопасности. Ознакомьтесь с руководством по обеспечению безопасности DuckDB для получения доступных опций.
| Параметр | По умолчанию | Описание |
|---|---|---|
--db-path |
:memory: |
Путь к базе данных: локальный файл (абсолютный путь), md: (MotherDuck) или URL-адрес s3:// |
--motherduck-token |
переменная окружения motherduck_token |
Токен доступа к MotherDuck |
--read-write |
False |
Включить доступ для записи |
--motherduck-saas-mode |
False |
Режим MotherDuck SaaS (ограничивает локальный доступ) |
--allow-switch-databases |
False |
Включить инструмент switch_database_connection |
--max-rows |
1024 |
Максимальное количество возвращаемых строк |
--max-chars |
50000 |
Максимальное количество возвращаемых символов |
--query-timeout |
-1 |
Тайм-аут запроса в секундах (-1 = отключено) |
--init-sql |
None |
SQL-запросы для выполнения при запуске |
--motherduck-connection-parameters |
session_hint=mcp&dbinstance_inactivity_ttl=0s |
Дополнительные параметры строки подключения MotherDuck (пары key=value, разделенные &) |
--ephemeral-connections |
True |
Использовать временные соединения для локальных файлов, доступных только для чтения |
--transport |
stdio |
Тип транспорта: stdio или http |
--stateless-http |
False |
Только для совместимости с протоколами (например, с AWS Bedrock AgentCore Runtime). Сервер по-прежнему поддерживает глобальное состояние через общий DatabaseClient. |
--port |
8000 |
Порт для HTTP-транспорта |
--host |
127.0.0.1 |
Хост для HTTP-транспорта |
| Переменная | Описание |
|---|---|
motherduck_token или MOTHERDUCK_TOKEN |
Токен доступа к MotherDuck (альтернатива --motherduck-token) |
HOME |
Используется DuckDB для расширений и конфигурации. Переопределите с помощью --home-dir, если не установлена. |
AWS_ACCESS_KEY_ID |
AWS-ключ доступа для подключений к базам данных S3 |
AWS_SECRET_ACCESS_KEY |
Секретный ключ AWS для подключений к базам данных S3 |
AWS_SESSION_TOKEN |
Токен сессии AWS для временных учетных данных (роли IAM, SSO, профили экземпляров EC2) |
AWS_DEFAULT_REGION |
Регион AWS для подключений к S3 |
AWS_ENDPOINT |
Конечная точка AWS для подключений к S3 |
spawn uvx ENOENT: Укажите полный путь к uvx (выполните which uvx для его поиска)--ephemeral-connections включен (по умолчанию: true) и что вы не подключены в режиме чтения и записи.Для запуска из исходного кода:
{
"mcpServers": {
"Local DuckDB (Dev)": {
"command": "uv",
"args": ["--directory", "/path/to/mcp-server-motherduck", "run", "mcp-server-motherduck", "--db-path", "md:"],
"env": {
"motherduck_token": "<YOUR_MOTHERDUCK_TOKEN>"
}
}
}
}
Release New VersionMAJOR.MINOR.PATCHЛицензия MIT - см. файл LICENSE.
mcp-name: io.github.motherduckdb/mcp-server-motherduck