mcpField
T
Tabellum

Tabellum

Local
tabellum.dudko.devDatabases0Updated 4d ago

About Tabellum

Tabellum is an MCP bridge to a desktop database client for PostgreSQL, MySQL/MariaDB, SQL Server, and BigQuery. Reads run directly, while any operation that changes data requires approval in the app.

Key features

  1. 01Inspect connections, schemas, and database objects
  2. 02Run read-only queries and view estimated plans
  3. 03Draft SQL in the editor
  4. 04Compare schemas and generate migration statements
  5. 05View and propose dashboards and schema designs

Use cases

  1. 01Inspect database tables, columns, and constraints
  2. 02Analyze read-only query results before approval
  3. 03Compare database schemas and prepare migrations
  4. 04Review write or DDL operations in the app

MCP support

A local stdio shim connects to the running Tabellum app, which supplies the MCP tools and resources. It exposes database schema, read, SQL drafting, and schema comparison capabilities; writes require approval in the app.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"dev-dudko-tabellum": {
"command": "npx",
"args": [
"-y",
"@dudko.dev/tabellum-mcp"
]
}
}
}
Run commandnpx -y @dudko.dev/tabellum-mcp

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npm@dudko.dev/tabellum-mcp0.1.2

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

Tabellum — MCP setup

Let your AI assistant work with your databases through Tabellum, a desktop database client for PostgreSQL, MySQL/MariaDB, SQL Server and BigQuery. The MCP server is hosted by the running app on your machine; this package is a small stdio shim that forwards to it. Queries the assistant writes appear live in the editor, and nothing that changes data runs without your click in the app.

  • Server: tabellum
  • Transport: stdio (local process)
  • Package: @dudko.dev/tabellum-mcp — Node.js 24+
  • Auth: a per-install token the app generates; the shim reads it for you from ~/.tabellum/mcp.json.

What you can do

With the Tabellum app open, the assistant gets the same tools as the app's own agent — the app serves them, so the list follows the app version. Reads run at once; anything that writes waits for your click in the app.

ToolWhat it does
Look around
list_connectionsConnection names, drivers, read-only flags. No hosts, no users.
describe_schemaEvery schema of a connection with its table, view, function, procedure and sequence names.
describe_objectColumns, indexes, constraints and the CREATE of one object.
list_usersUsers and roles with their flags, where the database lists them.
sample_rowsUp to N rows of a table — only where the connection shares rows.
Query
run_readRuns a statement only if the engine classifies it as a read; anything else answers needs_approval.
explainThe estimated plan of a read; nothing runs.
propose_writeA write, DDL or admin statement for your approval in the app (10-minute timeout).
open_editor_tabOpen a query tab bound to a connection.
draft_to_editorType SQL into a tab while you watch, without running it.
Compare schemas
compare_schemasDiff a connection against another or a saved snapshot; with migration: true, the statements that close the gap. Nothing runs.
save_schema_snapshot / list_schema_snapshotsSave a connection's schema to the workspace; list the snapshots.
Dashboards
list_dashboards / get_dashboardThe workspace's dashboards; one dashboard's file and panels.
propose_dashboardA new or changed dashboard — you see the diff and apply it.
Schema designs
list_designs / get_designThe workspace's schema designs; one design's file and objects.
propose_designA new or changed design — you see what is added, changed and removed. Nothing runs against a database.
describe_featureThe file format and rules of designer, dashboards or schema_compare, read before proposing one.

Resources, for clients that prefer them: tabellum://connections, tabellum://schema/<connection>, tabellum://snapshots, tabellum://dashboards, tabellum://designs. Every call is attributed in the app — a badge on the tab and a line in the agent log.


Install in Claude Code (plugin)

/plugin marketplace add dudko-dev/tabellum-mcp-setup
/plugin install tabellum@tabellum
/reload-plugins

Start the Tabellum app first (macOS, Windows or Linux). The shim reads the app's local port and token from ~/.tabellum/mcp.json, written while the app runs; with the app closed every call answers "Tabellum is not running".

Prefer not to use the marketplace? Add the server directly:

claude mcp add tabellum -- npx -y @dudko.dev/tabellum-mcp

Connect from other clients

Claude Desktop

claude_desktop_config.json (Settings → Developer → Edit Config):

{
  "mcpServers": {
    "tabellum": {
      "command": "npx",
      "args": [
        "-y",
        "@dudko.dev/tabellum-mcp"
      ]
    }
  }
}
Cursor

~/.cursor/mcp.json or .cursor/mcp.json:

{
  "mcpServers": {
    "tabellum": {
      "command": "npx",
      "args": [
        "-y",
        "@dudko.dev/tabellum-mcp"
      ]
    }
  }
}
VS Code (GitHub Copilot / MCP) and other clients
{
  "servers": {
    "tabellum": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@dudko.dev/tabellum-mcp"
      ]
    }
  }
}

Safety

  • The engine classifies, you approve. Every statement is classified by the app's parser; anything that is not a read goes through propose_write and waits for your click. A label claimed by the model never overrides it.
  • Loopback only. The app listens on 127.0.0.1 with a per-install bearer token (Settings → Agents shows it and can regenerate it).
  • Row data is opt-in per connection. sample_rows returns rows only where you enabled sharing for that connection.

Troubleshooting

  • "Tabellum is not running" — open the app, then retry.
  • Unauthorized after regenerating the token — restart the MCP server in your client so the shim re-reads ~/.tabellum/mcp.json.
  • A write seems stuck — it is waiting for approval in the app; after 10 minutes it returns declined: timeout.

Support

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.