MCP server that lets you ask ChatGPT or Claude real data questions to get analytics, charts and visualizations straight in your chat.
Database Support: Postgres, MySQL, MariaDB, BigQuery
tablekit-github.mp4
- 📡 Remote MCP — HTTP with OAuth authentication. Basically a fancy way to say it works with Claude web or ChatGPT web.
- 📈 Interactive Charts Within Chat — Based on the new MCP Apps spec. View data or review SQL.
- 💽 JSON / CSV Export — from withint he interactive chart widget.
- 💯 Multiple Databases Support — Connect more than one database (Postgres / MySQL / MariaDB / BigQuery).
- 🕳️ SSH Tunnel Support — Reach databases behind private networks.
- 🤖 Multiple Client Support — Connect more than one ChatGPT / Claude account to the same TableKit server.
- 🔐 Read-only Queries — enforced per engine: read-only transactions for the SQL databases, dry-run statement-type checks for BigQuery.
- Bar Chart
- Line Chart / Area Chart
- Pie Chart / Donut Chart
- Sunburst Chart
COMING SOONCohort Chart / Table ChartCOMING SOONGauge / ProgressCOMING SOONNumber / Stat
There isn't an installation step per se, you just clone and run it via Docker Compose.
# Clone TableKit
git clone https://github.com/tablekit-io/tablekit.git
cd tablekit
# Copy config file
cp docker-compose.example.yml docker-compose.yml
cp databases.example.yml databases.ymlTableKit server by default starts on port 8080.
If you have your own domain, use a reverse proxy, something like nginx or traefik, coupled with a certbot plugin to generate a public TLS terminated base URL for TableKit.
Alternatively you could use something like ngrok, or Cloudflare Tunnels to tunnel your local infra on to the public internet. (this will allow ngrok or cloudflare to intercept your data, use with caution).
We will need this URL in the next step to allow clients (like ChatGPT and Claude) to complete the OAuth flow with TableKit.
# generate signing key
openssl rand -base64 32
# generate a secure password for db
openssl rand -base64 64 | tr -dc 'a-zA-Z0-9' | head -c 32; echoCreate a .env file in your tablekit directory, with the following contents. Replace the values from previous steps.
PUBLIC_BASE_URL= # insert public base url
DB_PASSWORD= # insert generated db password
SIGNING_KEY= # insert generated signing key
# this helps us immensely
ENABLE_ANONYMOUS_TELEMETRY=1With your database's details of course.
databases:
name-your-db:
type: postgres
details:
host: postgres.server-address.com
port: 5432
database: your-app
username: postgres
password: postgresdocker compose up --build -d- Go to Security and login settings.
- Enable
Developer mode - Go to New App
- Enter
TableKitin name - Set the Server URL to
https://[PUBLIC BASE URL]/mcp - Check
I understand and want to continueat the end - Click Create
- Go to Add Custom Connector
- Enter
TableKitin the name - Enter
https://[PUBLIC BASE URL]/mcpin the "Remote MCP server URL" - Click Add
Try TableKit with prompts like
Can you see connected databases in TableKit?
How many users do we have in our database?
Show me a week over week histogram of user growth based on our db
MIT