Pipetable

Consulte arquivos locais CSV, Parquet, JSON e TSV com SQL real via DuckDB. Dá à sua ferramenta de codificação de IA acesso a dados verdadeiros em vez de respostas alucinadas.

Documentação

Pipetable

O runtime local de dados para agentes de IA.

Pipetable demo Aponte para uma pasta de arquivos CSV, Parquet, JSON ou TSV — sua IA agora pode consultá-los com SQL real em vez de alucinar.

Funciona como servidor MCP para Claude Code, Cursor, RooCode e Copilot. Também é distribuído como CLI autônomo para exploração interativa de dados. Com tecnologia DuckDB. Os arquivos nunca saem da sua máquina.

Licença MIT.

Instalação

# macOS / Linux
curl -fsSL https://pipetable.com/install | sh

# Windows
irm https://pipetable.com/install.ps1 | iex

# Rust
cargo install pipetable

Configuração do servidor MCP

Claude Code

claude mcp add pipetable pipetable mcp

Cursor / RooCode

{
  "mcpServers": {
    "pipetable": {
      "command": "pipetable",
      "args": ["mcp"]
    }
  }
}

VS Code (Copilot)

{
  "servers": {
    "pipetable": {
      "type": "stdio",
      "command": "pipetable",
      "args": ["mcp"]
    }
  }
}

Depois de configurado, sua IA pode:

  1. scan_folder — registrar todos os arquivos de dados em uma pasta
  2. list_datasets — ver esquemas e tipos de colunas
  3. get_schema — inspecionar uma tabela específica com linhas de exemplo
  4. execute_sql — executar SQL DuckDB real em seus arquivos

Os resultados são a verdade fundamental do DuckDB, não gerados.

CLI

pipetable ~/data/

SQL e linguagem natural no prompt >. SQL sempre funciona. Linguagem natural requer Ollama rodando localmente.

> SELECT region, SUM(revenue) AS total FROM sales GROUP BY 1 ORDER BY 2 DESC

4 row(s)

region  total
─────────────
EU      141000
US       32000
APAC     17000
> show me top 5 customers by revenue
Using: customers, sales
Thinking.....
SELECT c.name, SUM(s.revenue) AS total FROM customers c
JOIN sales s ON s.customer_id = c.id
GROUP BY c.name ORDER BY total DESC LIMIT 5
...
→ piped as _last

Encadeando resultados

Cada consulta salva seu resultado como _last — uma visão DuckDB ao vivo que você pode consultar mais:

> SELECT * FROM sales WHERE region = 'EU'
...
→ piped as _last

> show me top 3 from _last
Using: _last
Thinking.....

Comandos de ponto

ComandoDescrição
.scan <path>Carregar uma pasta ou arquivo (Tab completa)
.datasetsListar conjuntos de dados carregados
.schema <name>Colunas + linhas de exemplo
.drop <name>Remover um conjunto de dados da sessão
.use <n1> <n2>Focar consultas em linguagem natural em conjuntos de dados específicos
.remove <name>Remover do foco
.clearRedefinir foco para todos os conjuntos de dados
.model <name>Alternar modelo Ollama
.helpMostrar ajuda

Tab completa nomes de conjuntos de dados após FROM, JOIN, .schema, .drop, .use.

Consulta única

pipetable ask "who has the highest revenue?" ~/data/
pipetable ask "SELECT * FROM sales LIMIT 5" ~/data/

Linguagem natural (opcional)

Defina qualquer um destes — pipetable detecta automaticamente:

# Claude (best quality)
export ANTHROPIC_API_KEY=sk-ant-...

# OpenAI or any compatible API (LM Studio, Groq, Together, etc.)
export OPENAI_API_KEY=sk-...
export OPENAI_BASE_URL=http://localhost:1234  # optional, for local endpoints

# Ollama (local, no key needed)
ollama pull qwen2.5-coder:1.5b
ollama serve

Prioridade: Anthropic → compatível com OpenAI → Ollama. SQL e MCP funcionam sem nenhum deles.

Formatos suportados

CSV, Parquet, JSON, NDJSON, TSV, Excel (xlsx, xls, xlsm). Arquivos de até 2GB. Pastas verificadas até 3 níveis de profundidade. Arquivos ocultos e diretórios de ruído comuns (node_modules, target, .git) são ignorados automaticamente.

Licença

MIT