
mcp-server-motherduck
motherduckdbMIT
486 звёзд84 форков
MCP-сервер на DuckDB для подключения AI-ассистентов и сред разработки к аналитическим данным. Инструмент для инженеров данных, аналитиков и бэкенд-разработчиков, которые хотят взаимодействовать с базами через естественный язык.
Сервер работает с четырьмя типами подключений: база в оперативной памяти для прототипирования, локальный файл DuckDB для проектов, облачная платформа MotherDuck для командной работы и S3-совместимые хранилища для удалённых данных. По умолчанию включён безопасный режим «только чтение». Чтобы разрешить запись (INSERT, UPDATE, CREATE), запускайте сервер с флагом --read-write.
Установка
uvx mcp-server-motherduckХарактеристики
Общее
- СтатусСообщество
- Разработчикmotherduckdb
- ЛицензияMIT
Технологии
- ЯзыкиPython
- Транспортstdio
Описание
Возможности
- Выполнять SQL-запросы любой сложности: JOIN, подзапросы, оконные функции, агрегации.
- Подключаться к базам DuckDB в памяти, локальным .duckdb-файлам и облаку MotherDuck.
- Запрашивать данные из S3-хранилищ, а также форматов CSV, Parquet, JSON.
- Просматривать полный каталог базы: схемы, таблицы, представления, типы и имена столбцов.
- Переключаться между подключениями на лету без перезапуска сервера (флаг
--allow-switch-databases). - Загружать данные из локальной файловой системы в базу и экспортировать результаты запросов в файлы.
- Создавать, изменять и удалять таблицы, вставлять и обновлять строки (в режиме
--read-write). - Работать с MotherDuck через read-scaling токен для безопасного доступа только на чтение.
- Использовать расширения DuckDB для работы с Parquet, JSON, HTTPS.
Как подключить
Установите менеджер пакетов uv, если его нет:
pip install uv
Добавьте конфигурацию сервера в ваш MCP-клиент. Ниже пример для Claude Desktop.
Режим разработки (память, чтение и запись):
{
"mcpServers": {
"DuckDB (Dev)": {
"command": "uvx",
"args": ["mcp-server-motherduck", "--db-path", ":memory:", "--read-write", "--allow-switch-databases"]
}
}
}
Работа с локальным файлом (только чтение):
{
"mcpServers": {
"DuckDB (Project)": {
"command": "uvx",
"args": ["mcp-server-motherduck", "--db-path", "/путь/к/файлу.duckdb"]
}
}
}
После сохранения конфигурации перезапустите клиент. Сервер готов к выполнению команд.
Примеры запросов
- «Покажи первые 10 строк из таблицы sales в MotherDuck.»
- «Найди средний чек по дням за последнюю неделю. Выгрузи результат в CSV на рабочий стол.»
- «Подключись к базе analytics.duckdb и опиши её полную схему: все таблицы и их столбцы.»
- «Создай таблицу top_customers на основе агрегации заказов с суммой больше 1000.»
- «Объедини данные из локального CSV-файла и таблицы в MotherDuck, выведи результат.»
Технические детали
- Язык разработки: Python
- Транспортный протокол: stdio
- Лицензия: MIT
- Разработчик: MotherDuck
- Количество звёзд на GitHub: 486
- Совместимые клиенты: Claude Desktop, VS Code (через расширение Cline), Cursor, Zed, любой MCP-клиент с поддержкой stdio
- Режим запуска: через
uvx(без предварительной установки) или через Python напрямую