Pipetable

io.github.melihbirim由 GitHub 账号 melihbirim 发布v0.7.2更新于 Nov 7, 2026

Local data runtime for AI agents: query CSV, Excel, Parquet and JSON files with DuckDB SQL.

概览

AI 生成的概览

本地 MCP 服务器,让 AI 助手注册 CSV、Parquet、JSON、TSV 或 Excel 文件所在文件夹,并用真正的 DuckDB SQL 查询这些数据。

可以做什么
  • 扫描文件夹并注册其中的数据文件,列出数据集及其模式和列类型
  • 查看某张表的详细信息,包括列和示例行
  • 对已注册文件执行 DuckDB SQL,返回真实查询结果而非模型生成内容
  • 可选地用自然语言提问,先转换为 SQL 再执行
适用场景
当助手需要基于本地表格数据文件回答问题,且你希望得到精确的 SQL 结果而不是猜测时适用,例如在本机探索一批导出文件或电子表格。
运行要求
以本地 stdio 进程运行,可通过 cargo 或安装脚本安装;SQL 与 MCP 使用无需账号或 API 密钥。自然语言查询为可选项,需要 ANTHROPIC_API_KEY、OPENAI_API_KEY(可配合 OPENAI_BASE_URL)或本地 Ollama 之一。支持最大 2GB 的文件,文件夹最多扫描三层。
安装前请注意
助手可对你注册文件夹中的文件执行任意 SQL,因此只应指向你愿意让模型接触的数据。若启用基于云端服务商的自然语言模式,你的问题和可能的模式信息会发送给该服务商;Ollama 则保持本地。安装说明会把远程脚本直接交给 shell 执行,建议先审阅或改用 cargo 安装。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Pipetable,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

Pipetable

The local data runtime for AI agents.

[Pipetable demo] Point it at a folder of CSV, Parquet, JSON, or TSV files — your AI can now query them with real SQL instead of hallucinating.

Works as an MCP server for Claude Code, Cursor, RooCode, and Copilot. Also ships as a standalone CLI for interactive data exploration. Powered by DuckDB. Files never leave your machine.

MIT licensed.

Install

sh
# macOS / Linuxcurl -fsSL https://pipetable.com/install | sh
# Windowsirm https://pipetable.com/install.ps1 | iex
# Rustcargo install pipetable

MCP server setup

Claude Code

sh
claude mcp add pipetable pipetable mcp

Cursor / RooCode

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

VS Code (Copilot)

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

Once configured, your AI can:

  1. scan_folder — register all data files in a folder
  2. list_datasets — see schemas and column types
  3. get_schema — inspect a specific table with sample rows
  4. execute_sql — run real DuckDB SQL against your files

Results are ground truth from DuckDB, not generated.

CLI

sh
pipetable ~/data/

SQL and natural language at the > prompt. SQL always works. Natural language requires Ollama running locally.

> SELECT region, SUM(revenue) AS total FROM sales GROUP BY 1 ORDER BY 2 DESC
4 row(s)
region  total─────────────EU      141000US       32000APAC     17000
> show me top 5 customers by revenueUsing: customers, salesThinking.....SELECT c.name, SUM(s.revenue) AS total FROM customers cJOIN sales s ON s.customer_id = c.idGROUP BY c.name ORDER BY total DESC LIMIT 5...→ piped as _last

Piping results

Every query saves its result as _last — a live DuckDB view you can query further:

> SELECT * FROM sales WHERE region = 'EU'...→ piped as _last
> show me top 3 from _lastUsing: _lastThinking.....

Dot commands

CommandDescription
.scan <path>Load a folder or file (Tab completes)
.datasetsList loaded datasets
.schema <name>Columns + sample rows
.drop <name>Remove a dataset from the session
.use <n1> <n2>Focus NL queries on specific datasets
.remove <name>Remove from focus
.clearReset focus to all datasets
.model <name>Switch Ollama model
.helpShow help

Tab completes dataset names after FROM, JOIN, .schema, .drop, .use.

One-shot query

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

Natural language (optional)

Set any one of these — pipetable auto-detects:

sh
# 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.5bollama serve

Priority: Anthropic → OpenAI-compatible → Ollama. SQL and MCP work without any of them.

Supported formats

CSV, Parquet, JSON, NDJSON, TSV, Excel (xlsx, xls, xlsm). Files up to 2GB. Folders scanned up to 3 levels deep. Hidden files and common noise directories (node_modules, target, .git) are skipped automatically.

License

MIT

  • MCP Registry name: mcp-name: io.github.melihbirim/pipetable

来源:README.md,提交 245d1d4

工具

0
SourceWeft 曾在隔离沙箱中以无凭据方式启动该软件包一次,以列出其工具,但未能完成:该软件包类型无法在沙箱中运行。

版本历史

1
  1. v0.7.2最新Oct 31, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分