MCP server for DuckDB analytics
## DuckDB MCP Server: Embedded Analytics The **DuckDB MCP Server** integrates DuckDB's embedded analytics database into Google Antigravity. This enables fast OLAP queries directly on local files and dataframes without a server. ### Why DuckDB MCP? DuckDB makes analytics simple: - **Embedded**: No server required - **Fast**: Columnar vectorized execution - **File Support**: Query CSV, Parquet, JSON directly - **Python Native**: Works with pandas, polars - **SQL Standard**: Full SQL support ### Key Features #### 1. Query Files Directly ```python import duckdb # Query Parquet files directly result = duckdb.sql(""" SELECT product_category, SUM(revenue) as total_revenue, COUNT(*) as orders FROM 'sales/*.parquet' GROUP BY product_category ORDER BY total_revenue DESC """).fetchall() ``` #### 2. Work with DataFrames ```python import pandas as pd df = pd.read_csv("data.csv") # Query pandas DataFrame with SQL result = duckdb.sql(""" SELECT customer_id, SUM(amount) as total FROM df WHERE date > '2024-01-01' GROUP BY customer_id """).df() ``` #### 3. Data Transformation ```python # Create table from query duckdb.sql(""" CREATE TABLE aggregated AS SELECT date_trunc('month', order_date) as month, COUNT(*) as orders, SUM(amount) as revenue FROM 'orders.parquet' GROUP BY month """) # Export to Parquet duckdb.sql("COPY aggregated TO 'monthly_stats.parquet' (FORMAT PARQUET)") ``` ### Configuration ```json { "mcpServers": { "duckdb": { "command": "npx", "args": ["-y", "@anthropic/mcp-duckdb"], "env": { "DUCKDB_DATABASE": ":memory:", "DUCKDB_READ_ONLY": "false" } } } } ``` ### Use Cases **Local Analytics**: Analyze files without a database. **Data Wrangling**: Transform data with SQL. **Notebook Analytics**: Fast queries in Jupyter. The DuckDB MCP Server brings embedded analytics to Antigravity.
{
"mcpServers": {
"duckdb": {
"mcpServers": {
"duckdb": {
"env": {
"DUCKDB_PATH": ":memory:"
},
"args": [
"-y",
"duckdb-mcp"
],
"command": "npx"
}
}
}
}
}