Skip to main content
Glama
ktanaka101

mcp-server-duckdb

by ktanaka101

mcp-сервер-duckdb

PyPI - Версия PyPI - Лицензия значок кузнеца

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

Обзор

Этот сервер обеспечивает взаимодействие с базой данных DuckDB через протокол контекста модели, позволяя выполнять такие операции с базой данных, как запросы, создание таблиц и проверка схем.

Related MCP server: MotherDuck DuckDB MCP Server

Компоненты

Ресурсы

В настоящее время пользовательские ресурсы не реализованы.

Подсказки

В настоящее время пользовательские подсказки не реализованы.

Инструменты

На сервере реализован следующий инструмент взаимодействия с базой данных:

  • запрос : выполнение любого SQL-запроса к базе данных DuckDB

    • Ввод : query (строка) — любой допустимый оператор DuckDB SQL

    • Вывод : результаты запроса в виде текста (или сообщение об успешном выполнении для таких операций, как CREATE/INSERT)

[!ПРИМЕЧАНИЕ] Сервер предоставляет единую унифицированную функцию query , а не отдельные специализированные функции, поскольку современные LLM могут генерировать соответствующий SQL для любой операции с базой данных (SELECT, CREATE TABLE, JOIN и т. д.) без необходимости в отдельных конечных точках.

[!ПРИМЕЧАНИЕ] Когда сервер работает в режиме readonly , применяется собственная защита DuckDB только для чтения. Это гарантирует, что языковая модель (LLM) не сможет выполнять операции записи (CREATE, INSERT, UPDATE, DELETE), поддерживая целостность данных и предотвращая непреднамеренные изменения.

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

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

  • db-path (строка): Путь к файлу базы данных DuckDB

    • Сервер автоматически создаст файл базы данных и родительские каталоги, если они не существуют.

    • Если указано --readonly и файл базы данных не существует, сервер не запустится с ошибкой

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

  • --readonly : Запустить сервер в режиме только для чтения (по умолчанию: false )

    • Описание : Когда этот флаг установлен, сервер работает в режиме только для чтения. Это означает:

      • База данных DuckDB будет открыта с read_only=True , что предотвращает любые операции записи.

      • Если указанный файл базы данных не существует, он не будет создан.

      • Преимущество безопасности : предотвращает выполнение каких-либо операций записи языковой моделью (LLM), гарантируя неизменность базы данных.

    • Ссылка : Более подробную информацию о соединениях только для чтения в DuckDB см. в документации DuckDB Python API .

  • --keep-connection : повторно использует один режим подключения DuckDB (по умолчанию: false )

    • Описание : Когда этот флаг установлен, повторно использует одно соединение DuckDB на весь срок службы сервера. Включает объекты TEMP и немного ускоряет запросы, но может удерживать исключительную блокировку файла.

Установка

Установка через Smithery

Чтобы автоматически установить DuckDB Server для Claude Desktop через Smithery :

npx -y @smithery/cli install mcp-server-duckdb --client claude

Интеграция рабочего стола Клода

Настройте сервер MCP в файле конфигурации Claude Desktop:

MacOS

Расположение: ~/Library/Application Support/Claude/claude_desktop_config.json

Окна

Расположение: %APPDATA%/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "duckdb": {
      "command": "uvx",
      "args": [
        "mcp-server-duckdb",
        "--db-path",
        "~/mcp-server-duckdb/data/data.db"
      ]
    }
  }
}
  • Примечание: ~/mcp-server-duckdb/data/data.db следует заменить на фактический путь к файлу базы данных DuckDB.

Разработка

Предпосылки

  • Python с менеджером пакетов uv

  • Пакет Python DuckDB

  • Зависимости сервера MCP

Отладка

Отладка серверов MCP может быть сложной из-за их stdio-ориентированной коммуникации. Мы рекомендуем использовать MCP Inspector для лучшего отладки.

Использование MCP-инспектора

  1. Установите инспектор с помощью npm:

npx @modelcontextprotocol/inspector uv --directory ~/codes/mcp-server-duckdb run mcp-server-duckdb --db-path ~/mcp-server-duckdb/data/data.db
  1. Откройте предоставленный URL-адрес в браузере, чтобы получить доступ к интерфейсу отладки.

Инспектор обеспечивает видимость:

  • Запрос/ответная коммуникация

  • Исполнение инструмента

  • Состояние сервера

  • Сообщения об ошибках

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol server implementation that connects AI assistants to DuckDB, enabling them to query and analyze data from various sources including CSV, Parquet, JSON, and cloud storage through SQL.
    18
    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.
    19 npm
    Apache 2.0
  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server for SQL analytics on DuckDB and MotherDuck databases, enabling AI assistants and IDEs to query data via natural language.
    1
    MIT