Skip to main content
Glama

Сервер DuckDB MCP

PyPI - Версия PyPI - Лицензия

Реализация сервера Model Context Protocol (MCP), которая позволяет помощникам на основе искусственного интеллекта, таким как Клод, взаимодействовать с DuckDB для получения мощных возможностей анализа данных.

🌟 Что такое MCP-сервер DuckDB?

DuckDB MCP Server подключает помощников ИИ к DuckDB — высокопроизводительной аналитической базе данных — через Model Context Protocol (MCP) . Это позволяет моделям ИИ:

  • Запрашивайте данные напрямую из различных источников, таких как CSV, Parquet, JSON и т. д.

  • Доступ к данным из облачного хранилища (S3 и т. д.) без сложной настройки

  • Выполнять сложный анализ данных с использованием SQL

  • Генерируйте аналитические данные с надлежащим контекстом и пониманием

Related MCP server: mcp-server-motherduck

🚀 Основные характеристики

  • Инструмент SQL-запросов : выполнение любого SQL-запроса с помощью мощного синтаксиса DuckDB

  • Несколько источников данных : прямой запрос из:

    • Локальные файлы (CSV, Parquet, JSON и т. д.)

    • S3-корзины и облачное хранилище

    • Базы данных SQLite

    • Все остальные источники данных, поддерживаемые DuckDB

  • Управление автоматическим подключением : автоматическое создание файла базы данных и обработка подключений

  • Интеллектуальная обработка учетных данных : бесперебойное управление учетными данными AWS/S3

  • Ресурсы документации : встроенный DuckDB SQL и справочник по импорту данных для помощников на основе искусственного интеллекта

📋 Требования

  • Питон 3.10+

  • Клиент, совместимый с MCP (Claude Desktop, Cursor, VS Code с Copilot и т. д.)

💻 Установка

Использование пипа

pip install duckdb-mcp-server

Из источника

git clone https://github.com/mustafahasankhan/duckdb-mcp-server.git
cd duckdb-mcp-server
pip install -e .

🔧 Конфигурация

Параметры командной строки

duckdb-mcp-server --db-path path/to/database.db [options]

Требуемые параметры:

  • --db-path — Путь к файлу базы данных DuckDB (будет создан, если не существует)

Необязательные параметры:

  • --readonly — Запустить в режиме только для чтения (возникнет ошибка, если база данных не существует)

  • --s3-region — регион AWS S3 (по умолчанию: использует переменную окружения AWS_DEFAULT_REGION)

  • --s3-profile — профиль AWS для учетных данных S3 (по умолчанию: использует AWS_PROFILE или «default»)

  • --creds-from-env — использовать учетные данные AWS из переменных среды

🔌 Настройка с помощью Claude Desktop

  1. Установите Claude Desktop с claude.ai/download

  2. Отредактируйте файл конфигурации Claude Desktop:

    macOS : ~/Library/Application Support/Claude/claude_desktop_config.json
    Windows : %APPDATA%/Claude/claude_desktop_config.json

  3. Добавьте конфигурацию сервера DuckDB MCP:

{
  "mcpServers": {
    "duckdb": {
      "command": "duckdb-mcp-server",
      "args": [
        "--db-path",
        "~/claude-duckdb/data.db"
      ]
    }
  }
}

📊 Пример использования

После настройки вы можете попросить своего помощника на основе искусственного интеллекта проанализировать данные с помощью DuckDB:

"Load the sales.csv file and show me the top 5 products by revenue"

ИИ сгенерирует и выполнит соответствующий SQL-запрос:

-- Load and query the CSV data
SELECT 
    product_name,
    SUM(quantity * price) AS revenue
FROM read_csv('sales.csv')
GROUP BY product_name
ORDER BY revenue DESC
LIMIT 5;

Работа с данными S3

Запрос данных напрямую из контейнеров S3:

"Analyze the daily user signups from our analytics data in S3"

ИИ сгенерирует соответствующий SQL для запроса S3:

SELECT 
    date_trunc('day', signup_timestamp) AS day,
    COUNT(*) AS num_signups
FROM read_parquet('s3://my-analytics-bucket/signups/*.parquet')
GROUP BY day
ORDER BY day DESC;

🌩️ Аутентификация облачного хранилища

Сервер DuckDB MCP обрабатывает аутентификацию AWS в следующем порядке:

  1. Явные учетные данные (если включен --creds-from-env )

  2. Учетные данные именованного профиля (через --s3-profile )

  3. Цепочка учетных данных по умолчанию (среда, общий файл учетных данных и т. д.)

🛠️ Развитие

# Clone the repository
git clone https://github.com/yourusername/duckdb-mcp-server.git
cd duckdb-mcp-server

# Set up a virtual environment
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install in development mode
pip install -e ".[dev]"

# Run tests
pytest

📜 Лицензия

Данный проект лицензирован по лицензии MIT — подробности см. в файле LICENSE .

🙏 Вклад

Вклады приветствуются! Пожалуйста, не стесняйтесь отправлять запрос на включение.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol server implementation that enables AI assistants to execute SQL queries and interact with SQLite databases through a structured interface.
    7
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that enables SQL analytics on DuckDB and MotherDuck databases, allowing AI assistants and IDEs to query and analyze data.
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    A local MCP server enabling AI assistants to query and analyze data via DuckDB SQL engine, supporting local files, memory, S3, and MotherDuck.
    12 npm
    Apache 2.0