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
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-serverDe 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
Instalar Claude Desktop desde claude.ai/download
Editar el archivo de configuración de Claude Desktop:
macOS :
~/Library/Application Support/Claude/claude_desktop_config.json
Ventanas :%APPDATA%/Claude/claude_desktop_config.jsonAgregar 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:
Credenciales explícitas (si
--creds-from-envestá habilitado)Credenciales de perfil con nombre (a través de
--s3-profile)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.
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.