DuckDB MCP サーバー
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 での設定
claude.ai/downloadからClaude Desktopをインストールします。
Claude Desktop の設定ファイルを編集します。
macOS :
~/Library/Application Support/Claude/claude_desktop_config.json
Windows :%APPDATA%/Claude/claude_desktop_config.jsonDuckDB 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 認証を処理します。
明示的な資格情報(
--creds-from-envが有効な場合)名前付きプロファイルの認証情報(
--s3-profile経由)デフォルトの資格情報チェーン (環境、共有資格情報ファイルなど)
🛠️ 開発
# 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ファイルを参照してください。
🙏 貢献する
貢献を歓迎します!お気軽にプルリクエストを送信してください。
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.