Skip to main content
Glama

Servidor MCP de DuckDB

PyPI - Versión PyPI - Licencia

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

Related MCP server: MCP Database Server

🚀 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

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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