Skip to main content
Glama
ktanaka101

mcp-server-duckdb

by ktanaka101

mcp-server-duckdb

PyPI - バージョン PyPI - ライセンス 鍛冶屋のバッジ

DuckDB用のモデルコンテキストプロトコル(MCP)サーバー実装。MCPツールを介してデータベースとのインタラクション機能を提供します。LLMで分析してみると興味深いでしょう。DuckDBはローカル分析に適しています。

概要

このサーバーは、モデル コンテキスト プロトコルを介して DuckDB データベースとの対話を可能にし、クエリ、テーブル作成、スキーマ検査などのデータベース操作を可能にします。

Related MCP server: MotherDuck DuckDB MCP Server

コンポーネント

リソース

現在、カスタム リソースは実装されていません。

プロンプト

現在、カスタムプロンプトは実装されていません。

ツール

サーバーは次のデータベース対話ツールを実装します。

  • query : DuckDBデータベース上で任意のSQLクエリを実行する

    • 入力: query (文字列) - 有効なDuckDB SQL文

    • 出力: クエリ結果をテキストで表示します (または CREATE/INSERT などの操作の場合は成功メッセージを表示します)

[!NOTE] 最新の LLM は個別のqueryポイントを必要とせずに、あらゆるデータベース操作 (SELECT、CREATE TABLE、JOIN など) に適切な SQL を生成できるため、サーバーは個別の特殊な関数ではなく、単一の統合クエリ関数を提供します。

[!NOTE] サーバーがreadonlyモードで実行されている場合、DuckDB のネイティブな読み取り専用保護が適用されます。これにより、言語モデル (LLM) は書き込み操作 (CREATE、INSERT、UPDATE、DELETE) を実行できなくなり、データの整合性が維持され、意図しない変更が防止されます。

構成

必須パラメータ

  • db-path (文字列): DuckDBデータベースファイルへのパス

    • データベースファイルと親ディレクトリが存在しない場合は、サーバーが自動的に作成します。

    • --readonlyが指定されていてデータベースファイルが存在しない場合は、サーバはエラーで起動に失敗します。

オプションパラメータ

  • --readonly : サーバーを読み取り専用モードで実行する

    • 説明: このフラグが設定されている場合、サーバーは読み取り専用モードで動作します。これは以下のことを意味します。

      • DuckDB データベースはread_only=Trueで開かれ、書き込み操作が防止されます。

      • 指定されたデータベース ファイルが存在しない場合は作成されません。

      • セキュリティ上の利点: 言語モデル (LLM) による書き込み操作の実行を防ぎ、データベースが変更されないようにします。

    • 参考:DuckDB の読み取り専用接続の詳細については、 DuckDB Python API ドキュメントを参照してください。

インストール

Smithery経由でインストール

Smithery経由で Claude Desktop 用の DuckDB サーバーを自動的にインストールするには:

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

クロードデスクトップ統合

Claude Desktop の構成ファイルで MCP サーバーを構成します。

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 データベース ファイルへの実際のパスに置き換える必要があります。

発達

前提条件

  • uvパッケージ マネージャーを使用した Python

  • DuckDB Python パッケージ

  • 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