Skip to main content
Glama

mcp-сервер-duckdb

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

Реализация сервера 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 :

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-адрес в браузере, чтобы получить доступ к интерфейсу отладки.

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

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

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

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

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

-
security - not tested
A
license - permissive license
-
quality - not tested

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ktanaka101/mcp-server-duckdb'

If you have feedback or need assistance with the MCP directory API, please join our Discord server