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-connectorServidores separados por fuente
Uniones entre fuentesSQL nativo mediante DuckDB integradoNo es posible — el agente debe obtener y unir manualmente
Complejidad de configuraciónUna entrada de servidor en tu configuración MCPUna entrada por tipo de fuente
Motor de consultaDuckDB en proceso — sin instalación, sin servicioDepende de las capacidades de consulta de cada fuente
Unificación de esquemaNormaliza todos los tipos a string/integer/number/datetime/boolean/json/unknownCada fuente usa su propio sistema de tipos
Residencia de datosTodas las consultas se ejecutan localmenteDepende 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_source
  • list_sources

Esquema (2 herramientas)

  • list_tables
  • get_schema

Datos (2 herramientas)

  • query
  • transform

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_health para 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-rows o agrega una cláusula LIMIT a tu SQL.