Skip to main content
Glama

DuckDB MCP サーバー

PyPI - バージョン PyPI - ライセンス

Claude のような AI アシスタントが DuckDB と対話して強力なデータ分析機能を実現できるようにするモデル コンテキスト プロトコル (MCP) サーバー実装。

🌟 DuckDB MCP サーバーとは何ですか?

DuckDB MCPサーバーは、モデルコンテキストプロトコル(MCP)を介してAIアシスタントを高性能分析データベースであるDuckDBに接続します。これにより、AIモデルは以下のことが可能になります。

  • CSV、Parquet、JSON などのさまざまなソースから直接データをクエリします。

  • 複雑な設定なしでクラウドストレージ(S3など)からデータにアクセス

  • SQLを使用して高度なデータ分析を実行する

  • 適切なコンテキストと理解に基づいてデータの洞察を生成する

Related MCP server: MCP Database Server

🚀 主な機能

  • SQLクエリツール: DuckDBの強力な構文を使用して任意のSQLクエリを実行します

  • 複数のデータ ソース: 以下から直接クエリを実行:

    • ローカル ファイル (CSV、Parquet、JSON など)

    • S3バケットとクラウドストレージ

    • SQLite データベース

    • DuckDBでサポートされているその他すべてのデータソース

  • 自動接続管理: 自動データベースファイル作成と接続処理

  • スマートな認証情報処理: シームレスな AWS/S3 認証情報管理

  • ドキュメントリソース: AIアシスタント用の組み込みDuckDB SQLとデータインポートリファレンス

📋 要件

  • Python 3.10以上

  • MCP 互換クライアント (Claude Desktop、Cursor、VS Code with Copilot など)

💻 インストール

pipの使用

pip install duckdb-mcp-server

出典

git clone https://github.com/yourusername/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 - S3 認証情報の AWS プロファイル (デフォルト: AWS_PROFILE または 'default' を使用)

  • --creds-from-env - 環境変数から AWS 認証情報を使用する

🔌 Claude Desktop での設定

  1. claude.ai/downloadからClaude Desktopをインストールします。

  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" ] } } }

📊 使用例

設定が完了したら、AI アシスタントに DuckDB を使用してデータを分析するよう依頼できます。

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

AI は適切な 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"

AI は S3 をクエリするための適切な SQL を生成します。

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ファイルを参照してください。

🙏 貢献する

貢献を歓迎します!お気軽にプルリクエストを送信してください。

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

Latest Blog Posts

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/mustafahasankhan/duckdb-mcp-server'

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