Skip to main content
Glama
jorgepvenegas

mcp-to-db

mcp-to-db

Expose any SQLite database as read-only MCP tools for AI assistants.

mcp-to-db is an MCP (Model Context Protocol) server that turns a SQLite database into a set of tools AI assistants can use — list tables, inspect schemas, and run SELECT queries with filtering, ordering, and pagination. Data modification is intentionally blocked.

Quick start

pnpm install
pnpm db:push       # create tables
pnpm seed          # load sample data
pnpm dev           # start server on http://127.0.0.1:3000/mcp

The sample data is an e-commerce database with 3 users, 5 products, 4 orders, and 9 order items — ready for testing.

Related MCP server: DataBook

Tools

The server exposes three read-only tools:

Tool

Description

list-tables

Lists all table names in the database

describe-table

Shows columns, types, nullability, defaults, primary keys, and foreign keys for a given table

query-table

SELECT queries with optional filters (=, !=, >, <, >=, <=), column selection, ordering, and pagination (limit/offset)

query-table details

{
  "table": "orders",
  "columns": ["id", "status", "total", "created_at"],
  "where": [{ "column": "status", "operator": "=", "value": "paid" }],
  "orderBy": { "column": "created_at", "direction": "desc" },
  "limit": 20,
  "offset": 0
}

All where conditions are ANDed together. Maximum limit is 1000 rows.

Schema

The sample e-commerce schema:

  • usersid, email, name, created_at

  • productsid, name, description, price (cents), stock, created_at

  • ordersid, user_id → users, status (pending/paid/shipped/delivered/cancelled), total (cents), created_at

  • order_itemsid, order_id → orders, product_id → products, quantity, unit_price (cents)

Usage with MCP clients

Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "ecommerce-db": {
      "command": "pnpm",
      "args": ["--dir", "/path/to/mcp-to-db", "dev"]
    }
  }
}

Any MCP client

Point your client to http://127.0.0.1:3000/mcp.

Scripts

Command

Description

pnpm dev

Start the MCP server

pnpm db:generate

Generate Drizzle migrations

pnpm db:push

Push schema to SQLite (creates data/db.sqlite)

pnpm seed

Seed with sample e-commerce data

pnpm test

Run tests (Vitest)

pnpm typecheck

tsc --noEmit

pnpm lint

oxlint .

pnpm format

oxfmt .

Adapting to your own database

  1. Edit src/schema.ts — define your Drizzle ORM tables.

  2. Run pnpm db:push to create tables.

  3. Optionally update or replace seed.ts.

  4. Start the server with pnpm dev.

The tool registration in src/tools.ts and all three tool implementations are schema-agnostic — they adapt to whatever tables you define.

How it works

┌──────────────┐    MCP/HTTP      ┌─────────────────────┐
│  AI Assistant │ ◄─────────────► │  MCP Server (3000)   │
│  (Claude, etc) │    tools        │  list-tables         │
└──────────────┘                  │  describe-table      │
                                  │  query-table         │
                                  └─────────┬───────────┘
                                            │
                                      ┌─────▼─────┐
                                      │  SQLite    │
                                      │  (better-  │
                                      │  sqlite3)  │
                                      └───────────┘

Built with:

License

MIT

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Exposes a SQLite database to AI assistants with structured, read-safe access. Includes five tools for schema exploration, querying, and sampling data.
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to manage and query SQLite databases through MCP tools, supporting CRUD operations, schema management, and saved views.
    4 npm
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    A read-only MCP server that enables LLMs to safely explore and query any SQLite database via natural language. It exposes tools for listing tables, describing schemas, and executing SELECT/WITH queries with built-in safety guards like write prevention and row limits.
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Provides AI agents read-only analytical access to a SQLite database over stdio, with tools for listing tables, describing schemas, and running paginated SQL queries.
    -