Query a folder of CSV / Parquet / JSON files with SQL β one queryable source, read-only.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)
Turn a folder of CSV / Parquet / JSON files into one SQL-queryable source for your AI agent.
Small businesses don't have a data warehouse β they have a folder full of exports: customers.csv, last month's orders.xlsx, a regions.json someone emailed over. tablebridge is an MCP server that points DuckDB at that folder, exposes each file as a SQL table, and lets your agent run read-only SQL β including JOINs across files β to answer questions over all of them at once. Scattered spreadsheets become one queryable source of truth.
It's read-only and sandboxed: files are loaded into an in-memory database, the data directory is the only thing it can see, and queries are validated so an agent can't write, escape to other paths, or call raw file functions.
orders.csv to customers.csv to regions.json in a single query β no ETL, no database to stand up.list_sources β describe β query is a natural flow the agent can follow on its own.mcp, duckdb), fully typed and tested.A Dockerfile is included. The server speaks MCP over stdio. Mount the
folder you want to query at /data (read-only is fine) and run interactively (-i):
| Tool | Description |
|---|---|
list_sources | List the tables (one per data file) with column counts β start here |
describe | A table's columns and types |
preview | First N rows of a table |
query | Run read-only SQL (DuckDB dialect) across the tables, JOINs included |
refresh | Re-scan the data directory for added/changed files |
server_info | Effective config (data dir, row cap, supported formats) |
With a folder containing customers.csv, orders.csv, and regions.json:
You: Who are my top 3 customers by total spend, and what region are they in?
Agent: (calls
list_sources, thenquery)
| Variable | Default | Description |
|---|---|---|
TABLEBRIDGE_DATA_DIR | . | Directory of files to expose (the sandbox boundary) |
TABLEBRIDGE_MAX_ROWS | 1000 | Max rows returned per query/preview |
TABLEBRIDGE_RECURSIVE | 1 | Scan subdirectories too |
Supported formats: .csv, .tsv, .parquet, .json, .ndjson.
TABLEBRIDGE_DATA_DIR β only files under it are loaded.See CONTRIBUTING.md.
MIT Β© Michael Tierney
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/tablebridge-mcp)<a href="https://allmcps.com/mcp/tablebridge-mcp"><img src="https://allmcps.com/api/badge/tablebridge-mcp?style=directory" alt="Tablebridge Mcp on AllMCPs" /></a>