mcp-сервер-duckdb
Реализация сервера Model Context Protocol (MCP) для DuckDB, предоставляющая возможности взаимодействия с базой данных через инструменты MCP. Было бы интересно, чтобы LLM проанализировал это. DuckDB подходит для локального анализа.
Обзор
Этот сервер обеспечивает взаимодействие с базой данных DuckDB через протокол контекста модели, позволяя выполнять такие операции с базой данных, как запросы, создание таблиц и проверка схем.
Related MCP server: mcp-lancedb
Компоненты
Ресурсы
В настоящее время пользовательские ресурсы не реализованы.
Подсказки
В настоящее время пользовательские подсказки не реализованы.
Инструменты
На сервере реализован следующий инструмент взаимодействия с базой данных:
запрос : выполнение любого 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 :
Интеграция рабочего стола Клода
Настройте сервер MCP в файле конфигурации Claude Desktop:
MacOS
Расположение: ~/Library/Application Support/Claude/claude_desktop_config.json
Окна
Расположение: %APPDATA%/Claude/claude_desktop_config.json
Примечание:
~/mcp-server-duckdb/data/data.dbследует заменить на фактический путь к файлу базы данных DuckDB.
Разработка
Предпосылки
Python с менеджером пакетов
uvПакет Python DuckDB
Зависимости сервера MCP
Отладка
Отладка серверов MCP может быть сложной из-за их stdio-ориентированной коммуникации. Мы рекомендуем использовать MCP Inspector для лучшего отладки.
Использование MCP-инспектора
Установите инспектор с помощью npm:
Откройте предоставленный URL-адрес в браузере, чтобы получить доступ к интерфейсу отладки.
Инспектор обеспечивает видимость:
Запрос/ответная коммуникация
Исполнение инструмента
Состояние сервера
Сообщения об ошибках
This server cannot be installed