Pipetable について
Pipetableは、ローカルファイルをDuckDBのビューとして登録し、AIツールからSQLで照会できるMCPサーバー兼コマンドラインツールです。複数の表形式・構造化形式に対応し、データファイルをローカルに保持します。
主な機能
- 01ローカルファイルをDuckDBビューとして登録
- 02データセットへのSQL実行
- 03スキーマとサンプル行の確認
- 04CSV、Parquet、JSONなどに対応
- 05データ探索用の対話型CLI
- 06オプションの自然言語クエリ
活用シーン
- 01ローカルのCSVやParquetをSQLで照会
- 02データセットの列やサンプル行を確認
- 03CLIでクエリ結果を探索
MCP 対応
Pipetableは、フォルダーのスキャン、データセット一覧、スキーマ確認、DuckDB SQL実行のツールをMCPクライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Pipetable
AI エージェント向けのローカルデータランタイムです。
CSV、Parquet、JSON、TSV ファイルが入ったフォルダーを指定すれば、AI が幻覚ではなく実際の SQL でデータをクエリできるようになります。
Claude Code、Cursor、RooCode、Copilot 向けの MCP サーバーとして動作します。インタラクティブなデータ探索用のスタンドアロン CLI も付属しています。DuckDB を利用しています。ファイルがマシンの外に出ることはありません。
MIT ライセンスです。
インストール
# macOS / Linux
curl -fsSL https://pipetable.com/install | sh
# Windows
irm https://pipetable.com/install.ps1 | iex
# Rust
cargo install pipetable
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"]
}
}
}
設定すると、AI は次の操作を実行できます。
scan_folder— フォルダー内のすべてのデータファイルを登録しますlist_datasets— スキーマと列の型を確認しますget_schema— サンプル行とともに特定のテーブルを調べますexecute_sql— ファイルに対して実際の DuckDB SQL を実行します
結果は生成されたものではなく、DuckDB による正確なデータです。
CLI
pipetable ~/data/
> プロンプトでは SQL と自然言語を使用できます。SQL は常に利用できます。自然言語を使うには、Ollama がローカルで実行されている必要があります。
> 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
クエリ結果のパイプ処理
すべてのクエリは結果を _last として保存します。これは、さらにクエリできるライブ DuckDB ビューです。
> SELECT * FROM sales WHERE region = 'EU'
...
→ piped as _last
> show me top 3 from _last
Using: _last
Thinking.....
ドットコマンド
| コマンド | 説明 |
|---|---|
.scan <path> | フォルダーまたはファイルを読み込みます(Tab で補完) |
.datasets | 読み込み済みのデータセットを一覧表示します |
.schema <name> | 列とサンプル行を表示します |
.drop <name> | セッションからデータセットを削除します |
.use <n1> <n2> | NL クエリの対象を特定のデータセットに絞ります |
.remove <name> | 絞り込み対象から削除します |
.clear | 絞り込みを解除し、すべてのデータセットを対象にします |
.model <name> | Ollama モデルを切り替えます |
.help | ヘルプを表示します |
FROM、JOIN、.schema、.drop、.use の後に Tab キーを押すと、データセット名が補完されます。
単発クエリ
pipetable ask "who has the highest revenue?" ~/data/
pipetable ask "SELECT * FROM sales LIMIT 5" ~/data/
自然言語(任意)
次のいずれかを設定すると、Pipetable が自動検出します。
# 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
優先順位は Anthropic → OpenAI-compatible → Ollama です。これらを設定しなくても、SQL と MCP は利用できます。
対応フォーマット
CSV、Parquet、JSON、NDJSON、TSV、Excel(xlsx、xls、xlsm)に対応しています。最大 2GB のファイルを扱えます。フォルダーは最大 3 階層までスキャンします。隠しファイルと一般的な不要ディレクトリ(node_modules、target、.git)は自動的にスキップされます。
ライセンス
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。