list_sourcesLABSCO SUMMARY
A warehouse-shaped answer without a warehouse.
The case it is built for is the folder of exports — customers.csv, last month's orders, a regions.json someone emailed over — turned into one queryable source an agent can join across without an ETL step. Everything is materialised into memory and validated read-only, so the worst an agent can do is ask an expensive question.
What it is
A Python server that loads a data directory into an in-memory DuckDB, exposes each file as its own table, and runs read-only SQL — joins across files included — against it.
What you get
- Each CSV, TSV, Parquet, JSON or NDJSON file in the directory exposed as a SQL table
- Read-only analytical SQL across all of them at once, joins between files included
- The data directory as the only visible path — out-of-sandbox paths and raw file-access functions are rejected
- Queries validated read-only, so an agent cannot write through it
- Server details reported back on request
- Two dependencies,
mcpandduckdb, fully typed and tested
Requirements
uvx tablebridge or pip install tablebridge, a recent Python, and TABLEBRIDGE_DATA_DIR pointing at the folder of files. A Dockerfile is in the repository if you would rather run it that way.
Setup effort
One command — uvx tablebridge
USE CASES
Answering a question that spans several exports
Join orders to customers to regions in one query, without loading anything into a database first.
Finding out what is even in the folder
List the sources; each file comes back as a table you can then query by name.
Letting an agent explore data safely
Queries are validated read-only and the data directory is the only path visible, so exploration cannot turn into a write.
Getting a number out of a spreadsheet nobody wants to open
Run analytical SQL over the CSV or Parquet directly rather than opening it in Excel.
Checking what the server has actually loaded
Read the server details back before trusting a result.
6 tools
Listed in project docs. Your client may show a different list.
describepreviewqueryrefreshserver_infoBEFORE YOU INSTALL
What to know first
Tools you get
6 tools named in the project's documentation.
Requires
- uvx on PATH
- TABLEBRIDGE_DATA_DIR set to the folder of files to expose (otherwise the current directory is used)
Where it runs
All 3 documented clients run the server on your machine.
INSTALLATION
Connect your client
Server setup
uvx tablebridgeMCP Clients
Claude Code
claude mcp add tablebridge --env TABLEBRIDGE_DATA_DIR=<YOUR_TABLEBRIDGE_DATA_DIR> -- uvx tablebridgeClaude Desktop, Cursor
{
"mcpServers": {
"tablebridge": {
"command": "uvx",
"args": [
"tablebridge"
],
"env": {
"TABLEBRIDGE_DATA_DIR": "<YOUR_TABLEBRIDGE_DATA_DIR>"
}
}
}
}