mcp-server-motherduck

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 напрямую

Поделиться