MCP Data Pipeline Connector
Conector de datos universal para CSV, Postgres y REST APIs a través de DuckDB
Documentación
MCP Data Pipeline Connector
Paquete npm mcp-data-pipeline-connector
Un servidor MCP para todas tus fuentes de datos — con uniones SQL entre fuentes y sin servicio de consulta externo. DuckDB se ejecuta integrado en el proceso, por lo que puedes unir un archivo CSV con una tabla de Postgres y con una respuesta de API REST en una sola consulta, completamente en tu máquina. Los agentes trabajan con tus datos sin necesidad de conocimientos específicos de cada fuente ni de múltiples configuraciones de servidores MCP.
Referencia de herramientas | Configuración | Contribuciones | Solución de problemas
Características principales
- Interfaz de consulta unificada: SQL a través de todas las fuentes conectadas mediante DuckDB — incluyendo uniones entre fuentes.
- Múltiples tipos de fuentes: Archivos CSV/JSON, bases de datos PostgreSQL y endpoints de API REST en un solo servidor.
- Detección automática de esquema: Infiere nombres de columnas y tipos a partir de encabezados CSV y metadatos de Postgres.
- Caché REST: Las respuestas de API REST se almacenan en caché con un TTL configurable para evitar llamadas redundantes.
- Normalización de esquema: Mapea tipos específicos de cada fuente a un conjunto estándar (string, number, date, boolean, json).
- Motor de consulta en proceso: DuckDB se ejecuta integrado — sin servicio de consulta separado que instalar o gestionar.
¿Por qué esto en lugar de servidores MCP separados por fuente?
La alternativa común es ejecutar un servidor MCP por fuente de datos — un servidor MCP de postgres, un servidor MCP de CSV, un servidor MCP de REST. Cada uno funciona bien de forma aislada, pero no pueden comunicarse entre sí.
| mcp-data-pipeline-connector | Servidores separados por fuente | |
|---|---|---|
| Uniones entre fuentes | SQL nativo mediante DuckDB integrado | No es posible — el agente debe obtener y unir manualmente |
| Complejidad de configuración | Una entrada de servidor en tu configuración MCP | Una entrada por tipo de fuente |
| Motor de consulta | DuckDB en proceso — sin instalación, sin servicio | Depende de las capacidades de consulta de cada fuente |
| Unificación de esquema | Normaliza todos los tipos a string/integer/number/datetime/boolean/json/unknown | Cada fuente usa su propio sistema de tipos |
| Residencia de datos | Todas las consultas se ejecutan localmente | Depende de la implementación de cada conector |
Si estás haciendo preguntas que abarcan múltiples fuentes de datos — "une mi CSV de ventas con la tabla de usuarios" — esta es la herramienta adecuada. Si solo consultas un tipo de fuente, un servidor dedicado de una sola fuente es más simple.
Avisos
mcp-data-pipeline-connector se conecta a las fuentes de datos que configures y ejecuta consultas contra ellas en nombre de tu agente. Asegúrate de que los agentes solo tengan los permisos de base de datos que necesitan. Las cadenas de conexión nunca se registran ni se transmiten; mantenlas fuera de los archivos de configuración versionados. Usa variables de entorno para las credenciales.
Requisitos
- Node.js v20.19 o más reciente.
- npm.
- Opcional: Una instancia de PostgreSQL en ejecución para el conector de Postgres.
Primeros pasos
Agrega la siguiente configuración a tu cliente MCP:
{
"mcpServers": {
"data-connector": {
"command": "npx",
"args": ["-y", "mcp-data-pipeline-connector@latest"]
}
}
}
Define tus fuentes de datos en ~/.mcp/data-sources.yaml:
sources:
- name: sales
type: csv
path: ~/data/sales-2025.csv
- name: users
type: postgres
connection_string: "${POSTGRES_URL}"
tables: [users, subscriptions]
Almacena las cadenas de conexión en variables de entorno, no directamente en el archivo YAML.
Configuración del cliente MCP
Amp · Claude Code · Cline · Cursor · VS Code · Windsurf · Zed
Tu primer prompt
Coloca un archivo CSV en ~/data/sample.csv, agrégalo como fuente en tu configuración y luego ingresa:
What columns are in the sample table? Show me the first 5 rows.
Tu cliente debería devolver el esquema y una vista previa de los datos.
Herramientas
Fuentes (2 herramientas)
connect_sourcelist_sources
Esquema (2 herramientas)
list_tablesget_schema
Datos (2 herramientas)
querytransform
Salud (1 herramienta)
check_health
Configuración
--config / --sources-config
Ruta al archivo YAML que define las fuentes de datos.
Tipo: string
Valor predeterminado: ~/.mcp/data-sources.yaml
--rest-cache-ttl
Tiempo de vida en segundos para las respuestas de API REST almacenadas en caché. Establécelo en 0 para deshabilitar el caché.
Tipo: number
Valor predeterminado: 300
--max-rows
Número máximo de filas devueltas por una sola llamada a query. Evita conjuntos de resultados grandes accidentales.
Tipo: number
Valor predeterminado: 1000
--read-only
Rechaza cualquier declaración SQL que no sea una consulta SELECT. Aplica acceso de solo lectura en todas las fuentes.
Tipo: boolean
Valor predeterminado: true
Pasa las banderas mediante la propiedad args en tu configuración JSON:
{
"mcpServers": {
"data-connector": {
"command": "npx",
"args": ["-y", "mcp-data-pipeline-connector@latest", "--max-rows=5000", "--rest-cache-ttl=60"]
}
}
}
Verificación
Antes de publicar una nueva versión, verifica el servidor con MCP Inspector para confirmar que todas las herramientas estén expuestas correctamente y que el protocolo de negociación se complete con éxito.
Interfaz interactiva (abre el navegador):
npm run build && npm run inspect
Modo CLI (scripted / compatible con CI):
# List all tools
npx @modelcontextprotocol/inspector --cli node dist/index.js --method tools/list
# List resources and prompts
npx @modelcontextprotocol/inspector --cli node dist/index.js --method resources/list
npx @modelcontextprotocol/inspector --cli node dist/index.js --method prompts/list
# Call a tool (example — replace with a relevant read-only tool for this plugin)
npx @modelcontextprotocol/inspector --cli node dist/index.js \
--method tools/call --tool-name list_sources
# Call a tool with arguments
npx @modelcontextprotocol/inspector --cli node dist/index.js \
--method tools/call --tool-name list_sources --tool-arg key=value
Ejecuta antes de publicar para detectar regresiones en el registro de herramientas y el inicio del runtime.
Contribuciones
Cada conector vive en src/connectors/ y debe implementar la interfaz DataConnector. Agrega archivos de datos de prueba bajo tests/fixtures/ para las pruebas de integración. Nunca registres cadenas de conexión o credenciales — sanitiza antes de cualquier salida o mensaje de error.
npm install && npm test
Listados
mcp-data-pipeline-connector está listado en Registro MCP y Mercado MCP.
Solución de problemas
- La fuente REST no se conecta: Confirma que la URL sea accesible y que cualquier variable de entorno de autenticación esté configurada. Usa
check_healthpara volver a probar después del inicio. - La unión entre fuentes no devuelve resultados: Asegúrate de que ambas fuentes sean de tipo CSV y estén registradas antes de usar
source='_all'. - La consulta devuelve
truncated: true: Aumenta--max-rowso agrega una cláusulaLIMITa tu SQL.