MCP Data Pipeline Connector

Conector universal de dados para CSV, Postgres e APIs REST via DuckDB

Documentação

MCP Data Pipeline Connector

Pacote npm mcp-data-pipeline-connector

Um servidor MCP para todas as suas fontes de dados — com junções SQL entre fontes e sem serviço de consulta externo. O DuckDB é executado embutido no processo, permitindo unir um arquivo CSV a uma tabela Postgres e a uma resposta de API REST em uma única consulta, inteiramente na sua máquina. Agentes trabalham com seus dados sem precisar de conhecimento específico de cada fonte ou de múltiplas configurações de servidor MCP.

Referência de ferramentas | Configuração | Contribuição | Solução de problemas

Principais recursos

  • Interface de consulta unificada: SQL em todas as fontes conectadas via DuckDB — incluindo junções entre fontes.
  • Múltiplos tipos de fonte: arquivos CSV/JSON, bancos de dados PostgreSQL e endpoints de API REST em um único servidor.
  • Detecção automática de esquema: infere nomes de colunas e tipos a partir de cabeçalhos CSV e metadados do Postgres.
  • Cache REST: respostas de API REST são armazenadas em cache com TTL configurável para evitar chamadas redundantes.
  • Normalização de esquema: mapeia tipos específicos de cada fonte para um conjunto padrão (string, número, data, booleano, json).
  • Mecanismo de consulta em processo: o DuckDB é executado embutido — sem serviço de consulta separado para instalar ou gerenciar.

Por que usar isto em vez de servidores MCP separados por fonte?

A alternativa comum é executar um servidor MCP por fonte de dados — um servidor MCP para Postgres, um para CSV, um para REST. Cada um funciona bem isoladamente, mas não conseguem se comunicar entre si.

mcp-data-pipeline-connectorServidores separados por fonte
Junções entre fontesSQL nativo via DuckDB embutidoNão é possível — o agente precisa buscar e unir manualmente
Complexidade de configuraçãoUma entrada de servidor na sua configuração MCPUma entrada por tipo de fonte
Mecanismo de consultaDuckDB em processo — sem instalação, sem serviçoDepende das capacidades de consulta de cada fonte
Unificação de esquemaNormaliza todos os tipos para string/integer/number/datetime/boolean/json/unknownCada fonte usa seu próprio sistema de tipos
Residência de dadosTodas as consultas são executadas localmenteDepende da implementação de cada conector

Se você está fazendo perguntas que abrangem múltiplas fontes de dados — "una meu CSV de vendas com a tabela de usuários" — esta é a ferramenta certa. Se você consulta apenas um tipo de fonte, um servidor dedicado de fonte única é mais simples.

Avisos

mcp-data-pipeline-connector conecta-se às fontes de dados que você configura e executa consultas contra elas em nome do seu agente. Garanta que os agentes tenham apenas as permissões de banco de dados necessárias. Strings de conexão nunca são registradas ou transmitidas; mantenha-as fora de arquivos de configuração versionados. Use variáveis de ambiente para credenciais.

Requisitos

  • Node.js v20.19 ou mais recente.
  • npm.
  • Opcional: uma instância PostgreSQL em execução para o conector Postgres.

Primeiros passos

Adicione a seguinte configuração ao seu cliente MCP:

{
  "mcpServers": {
    "data-connector": {
      "command": "npx",
      "args": ["-y", "mcp-data-pipeline-connector@latest"]
    }
  }
}

Defina suas fontes de dados em ~/.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]

Armazene strings de conexão em variáveis de ambiente, não diretamente no arquivo YAML.

Configuração do cliente MCP

Amp · Claude Code · Cline · Cursor · VS Code · Windsurf · Zed

Seu primeiro prompt

Coloque um arquivo CSV em ~/data/sample.csv, adicione-o como fonte na sua configuração e então digite:

What columns are in the sample table? Show me the first 5 rows.

Seu cliente deve retornar o esquema e uma prévia dos dados.

Ferramentas

Fontes (2 ferramentas)

  • connect_source
  • list_sources

Esquema (2 ferramentas)

  • list_tables
  • get_schema

Dados (2 ferramentas)

  • query
  • transform

Saúde (1 ferramenta)

  • check_health

Configuração

--config / --sources-config

Caminho para o arquivo YAML que define as fontes de dados.

Tipo: string Padrão: ~/.mcp/data-sources.yaml

--rest-cache-ttl

Tempo de vida em segundos para respostas de API REST em cache. Defina como 0 para desativar o cache.

Tipo: number Padrão: 300

--max-rows

Número máximo de linhas retornadas por uma única chamada query. Evita conjuntos de resultados grandes acidentais.

Tipo: number Padrão: 1000

--read-only

Rejeita qualquer instrução SQL que não seja uma consulta SELECT. Garante acesso somente leitura em todas as fontes.

Tipo: boolean Padrão: true

Passe flags pela propriedade args na sua configuração JSON:

{
  "mcpServers": {
    "data-connector": {
      "command": "npx",
      "args": ["-y", "mcp-data-pipeline-connector@latest", "--max-rows=5000", "--rest-cache-ttl=60"]
    }
  }
}

Verificação

Antes de publicar uma nova versão, verifique o servidor com o MCP Inspector para confirmar que todas as ferramentas estão expostas corretamente e que o handshake do protocolo é bem-sucedido.

Interface interativa (abre o navegador):

npm run build && npm run inspect

Modo CLI (scriptado / compatível com 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

Execute antes de publicar para detectar regressões no registro de ferramentas e na inicialização em tempo de execução.

Contribuição

Cada conector reside em src/connectors/ e deve implementar a interface DataConnector. Adicione arquivos de dados de exemplo em tests/fixtures/ para testes de integração. Nunca registre strings de conexão ou credenciais — sanitize antes de qualquer saída ou mensagem de erro.

npm install && npm test

Listagens

mcp-data-pipeline-connector está listado no MCP Registry e no MCP Market.

Solução de problemas

  • Fonte REST falha ao conectar: Confirme que a URL está acessível e que qualquer variável de ambiente de autenticação está definida. Use check_health para testar novamente após a inicialização.
  • Junção entre fontes não retorna resultados: Garanta que ambas as fontes sejam do tipo CSV e estejam registradas antes de usar source='_all'.
  • Consulta retorna truncated: true: Aumente --max-rows ou adicione uma cláusula LIMIT ao seu SQL.