mcp server
SQLight
A fast, native macOS app for browsing SQLite databases - view data, edit schemas, run queries, visualize vector embeddings, and expose any database to AI agents via MCP. Zero dependencies.
Set up
Runs on your computer. Pick your agent and operating system.
This project does not publish an install method we can turn into a config. Follow the README instead.
README
synced Oct 22, 2026SQLiteVoyager
A fast, native macOS app for exploring SQLite databases — local and remote — with built-in vector embedding visualization.
Features
Database Operations
- Open local
.db,.sqlite,.sqlite3files - Create new databases
- Download and open remote databases via URL
- Drag-and-drop file opening
- WAL mode support
- Full CRUD (Create, Read, Update, Delete)
Schema Browser
- Browse tables, views, indexes, and triggers
- View column details (type, PK, NOT NULL, defaults)
- View CREATE statements
- Create/drop tables, add columns, create indexes
- Database integrity check and VACUUM
Data Viewer
- Paginated data grid with sorting
- Inline cell editing (double-click)
- Insert and delete rows
- Column sorting (click headers)
- Row selection with checkboxes
Query Editor
- Execute arbitrary SQL
- Execute multi-statement scripts
- EXPLAIN QUERY PLAN toggle
- Query history (persisted across sessions)
- Copy/export results
- Execution time display
Vector Embeddings
- Auto-detect vector columns (float32 BLOBs)
- 2D scatter plot visualization (PCA projection)
- Cosine similarity nearest-neighbor search
- Click-to-select with neighbor highlighting
- Vector statistics (dimensions, magnitude)
Import/Export
- Export tables as CSV, JSON, or SQL dump
- Import CSV files as new tables
- Copy query results to clipboard
- Full database SQL dump
MCP Server (AI Agent Access)
- Built-in MCP (Model Context Protocol) server for AI agents
- Expose any SQLite database to Claude Desktop, Claude Code, or any MCP client
- Tools:
query,execute,list_tables,describe_table,list_databases - Multi-database support — connect multiple DBs in one server
- Read/write separation (safe
queryvs explicitexecute) - One-click "Copy MCP Config" from the app's Database menu
Installation
From Source
git clone https://github.com/harishganapathi/SQLiteVoyager.git
cd SQLiteVoyager
open Package.swift
Then press ⌘R in Xcode to build and run.
Build Both Targets
swift build
# GUI app:
.build/debug/SQLiteVoyager
# MCP server:
.build/debug/SQLiteVoyagerMCP /path/to/your.db
Install MCP Server Globally
swift build -c release
cp .build/release/SQLiteVoyagerMCP /usr/local/bin/
Requirements
- macOS 14.0 (Sonoma) or later
- Xcode 15.0+
- Swift 5.9+
No external dependencies — uses only the system SQLite3 library and SwiftUI.
Usage
Open a Database
- File → Open Database (⌘O) to pick a file
- Drag and drop a
.dbfile onto the window - File → Open Remote to download from a URL
Browse Data
- Select a table in the sidebar
- Data loads automatically with pagination
- Click column headers to sort
- Double-click a cell to edit
Run Queries
- Switch to the Query tab (⌘3)
- Type SQL in the editor
- Press ⌘Return to execute
- Toggle "EXPLAIN" for query plans
Explore Vectors
- Select a table with BLOB columns containing float32 vectors
- Switch to the Vectors tab (⌘4)
- Select the vector column and optional label column
- Click "Load" to visualize
- Click points to find nearest neighbors
MCP Server (AI Agent Access)
The MCP server lets AI agents (Claude, etc.) query your databases directly.
Quick setup for Claude Desktop:
- Open a database in the app
- Go to Database → Copy MCP Config
- Paste into
~/Library/Application Support/Claude/claude_desktop_config.json
Manual setup:
Add this to your MCP config:
{
"mcpServers": {
"my-database": {
"command": "/usr/local/bin/SQLiteVoyagerMCP",
"args": ["/path/to/your/database.db"]
}
}
}
Multiple databases in one server:
{
"mcpServers": {
"all-my-dbs": {
"command": "SQLiteVoyagerMCP",
"args": [
"/path/to/users.db",
"/path/to/analytics.db",
"/path/to/products.db"
]
}
}
}
Available MCP tools:
| Tool | Description |
|---|---|
list_databases | List all connected databases with paths and sizes |
list_tables | List tables with row counts and column info |
describe_table | Full schema: columns, types, indexes, CREATE statement, sample data |
query | Execute read-only SQL (SELECT/PRAGMA/EXPLAIN) |
execute | Execute write SQL (INSERT/UPDATE/DELETE/CREATE/DROP) |
Keyboard Shortcuts
| Action | Shortcut |
|---|---|
| Open Database | ⌘O |
| New Database | ⌘N |
| Close Database | ⌘W |
| Data Tab | ⌘1 |
| Structure Tab | ⌘2 |
| Query Tab | ⌘3 |
| Vectors Tab | ⌘4 |
| Execute Query | ⌘Return |
| Execute Script | ⌘⇧Return |
| Refresh Schema | ⌘R |
Architecture
Sources/
├── SQLiteVoyager/ # GUI App
│ ├── SQLiteVoyagerApp.swift # App entry, menus, commands
│ ├── Models/
│ │ └── Models.swift # Data models
│ ├── Services/
│ │ └── SQLiteService.swift # SQLite3 C API wrapper
│ ├── ViewModels/
│ │ └── DatabaseViewModel.swift # Main state management
│ └── Views/
│ ├── MainView.swift # Root layout, welcome screen
│ ├── SidebarView.swift # Schema browser sidebar
│ ├── DataTableView.swift # Data grid with editing
│ ├── QueryEditorView.swift # SQL editor with results
│ ├── SchemaInspectorView.swift # DDL and schema details
│ └── VectorVisualizationView.swift # 2D vector plots
│
└── SQLiteVoyagerMCP/ # MCP Server (CLI)
└── MCPServer.swift # stdio JSON-RPC MCP server
Contributing
See CONTRIBUTING.md for guidelines.
License
MIT — see LICENSE for details.