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-connector | Servidores separados por fonte | |
|---|---|---|
| Junções entre fontes | SQL nativo via DuckDB embutido | Não é possível — o agente precisa buscar e unir manualmente |
| Complexidade de configuração | Uma entrada de servidor na sua configuração MCP | Uma entrada por tipo de fonte |
| Mecanismo de consulta | DuckDB em processo — sem instalação, sem serviço | Depende das capacidades de consulta de cada fonte |
| Unificação de esquema | Normaliza todos os tipos para string/integer/number/datetime/boolean/json/unknown | Cada fonte usa seu próprio sistema de tipos |
| Residência de dados | Todas as consultas são executadas localmente | Depende 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_sourcelist_sources
Esquema (2 ferramentas)
list_tablesget_schema
Dados (2 ferramentas)
querytransform
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_healthpara 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-rowsou adicione uma cláusulaLIMITao seu SQL.