DuckDB MCP Server

MIT License
3
  • Apple

Integrations

  • Enables direct SQL queries on various data sources including CSV, Parquet, JSON, and cloud storage like S3, allowing for sophisticated data analysis with DuckDB's analytical database capabilities.

  • Provides ability to query and analyze SQLite databases through DuckDB's interface, extending analytical capabilities to SQLite data sources.

Servidor MCP de DuckDB

Una implementación de servidor de Protocolo de contexto de modelo (MCP) que permite a los asistentes de IA como Claude interactuar con DuckDB para obtener potentes capacidades de análisis de datos.

🌟¿Qué es DuckDB MCP Server?

El servidor MCP de DuckDB conecta los asistentes de IA con DuckDB , una base de datos analítica de alto rendimiento, mediante el Protocolo de Contexto de Modelo (MCP) . Esto permite a los modelos de IA:

  • Consulta datos directamente desde varias fuentes como CSV, Parquet, JSON, etc.
  • Acceda a datos desde el almacenamiento en la nube (S3, etc.) sin una configuración compleja
  • Realice análisis de datos sofisticados utilizando SQL
  • Generar información sobre datos con el contexto y la comprensión adecuados

🚀 Características principales

  • Herramienta de consulta SQL : ejecute cualquier consulta SQL con la potente sintaxis de DuckDB
  • Múltiples fuentes de datos : consulta directamente desde:
    • Archivos locales (CSV, Parquet, JSON, etc.)
    • Cubos S3 y almacenamiento en la nube
    • bases de datos SQLite
    • Todas las demás fuentes de datos compatibles con DuckDB
  • Gestión de conexión automática : creación automática de archivos de base de datos y gestión de conexiones
  • Manejo inteligente de credenciales : gestión fluida de credenciales de AWS/S3
  • Recursos de documentación : Referencia de importación de datos y SQL de DuckDB integrada para asistentes de IA

📋 Requisitos

  • Python 3.10+
  • Un cliente compatible con MCP (Claude Desktop, Cursor, VS Code con Copilot, etc.)

💻 Instalación

Usando pip

pip install duckdb-mcp-server

De la fuente

git clone https://github.com/yourusername/duckdb-mcp-server.git cd duckdb-mcp-server pip install -e .

🔧 Configuración

Opciones de línea de comandos

duckdb-mcp-server --db-path path/to/database.db [options]

Parámetros requeridos:

  • --db-path - Ruta al archivo de base de datos DuckDB (se creará si no existe)

Parámetros opcionales:

  • --readonly - Ejecutar en modo de solo lectura (generará un error si la base de datos no existe)
  • --s3-region : región de AWS S3 (predeterminado: utiliza la variable de entorno AWS_DEFAULT_REGION)
  • --s3-profile : perfil de AWS para credenciales S3 (predeterminado: usa AWS_PROFILE o 'predeterminado')
  • --creds-from-env : utiliza las credenciales de AWS de las variables de entorno

🔌 Configuración con Claude Desktop

  1. Instalar Claude Desktop desde claude.ai/download
  2. Editar el archivo de configuración de Claude Desktop:macOS : ~/Library/Application Support/Claude/claude_desktop_config.json
    Ventanas : %APPDATA%/Claude/claude_desktop_config.json
  3. Agregar configuración del servidor DuckDB MCP:
{ "mcpServers": { "duckdb": { "command": "duckdb-mcp-server", "args": [ "--db-path", "~/claude-duckdb/data.db" ] } } }

📊 Ejemplo de uso

Una vez configurado, puedes pedirle a tu asistente de IA que analice datos usando DuckDB:

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

La IA generará y ejecutará el SQL apropiado:

-- 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;

Trabajar con datos S3

Consultar datos directamente desde los buckets S3:

"Analyze the daily user signups from our analytics data in S3"

La IA generará SQL apropiado para consultar S3:

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;

🌩️ Autenticación de almacenamiento en la nube

El servidor MCP de DuckDB maneja la autenticación de AWS en este orden:

  1. Credenciales explícitas (si --creds-from-env está habilitado)
  2. Credenciales de perfil con nombre (a través de --s3-profile )
  3. Cadena de credenciales predeterminada (entorno, archivo de credenciales compartidas, etc.)

🛠️ Desarrollo

# 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

📜 Licencia

Este proyecto está licenciado bajo la licencia MIT: consulte el archivo de LICENCIA para obtener más detalles.

🙏 Contribuyendo

¡Agradecemos sus contribuciones! No dude en enviar una solicitud de incorporación de cambios.

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

Una implementación de servidor de protocolo de contexto de modelo que conecta a los asistentes de IA con DuckDB, lo que les permite consultar y analizar datos de diversas fuentes, incluidos CSV, Parquet, JSON y almacenamiento en la nube a través de SQL.

  1. 🌟 What is DuckDB MCP Server?
    1. 🚀 Key Features
      1. 📋 Requirements
        1. 💻 Installation
          1. Using pip
          2. From source
        2. 🔧 Configuration
          1. Command Line Options
        3. 🔌 Setting Up with Claude Desktop
          1. 📊 Example Usage
            1. Working with S3 Data
          2. 🌩️ Cloud Storage Authentication
            1. 🛠️ Development
              1. 📜 License
                1. 🙏 Contributing
                  ID: 6ui00x9yzh