instant-db
An MCP server that enables AI assistants to create and manage persistent SQLite databases through natural language without requiring SQL knowledge. It allows users to propose schemas, store records, and perform complex queries across multiple databases for structured data tracking.
README
instant-db
An MCP server that lets any connected AI assistant create and manage structured databases through natural language alone. No SQL. No schema files. Just describe what you want to track and start using it.
Runtime: Bun · Language: TypeScript · Storage: SQLite (via bun:sqlite)
What It Does
"I want to track my workouts — exercises, sets, reps, and weights."
Claude calls the MCP server, proposes a schema in plain English, waits for your confirmation, creates the database, and from that point on handles all inserts, queries, updates, and deletes — across sessions, persistently.
Setup (under 10 minutes)
1. Clone and install
git clone https://github.com/your-username/instant-db
cd instant-db
bun install
2. Configure environment
cp .env.example .env
# Edit .env if you want custom paths (defaults work fine)
3. Add to Claude Desktop
Edit your claude_desktop_config.json (usually at ~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"instant-db": {
"command": "bun",
"args": ["run", "/absolute/path/to/instant-db/src/index.ts"],
"env": {
"DATA_DIR": "/absolute/path/to/instant-db/data",
"LOG_LEVEL": "normal"
}
}
}
}
Replace /absolute/path/to/instant-db with the actual path where you cloned the repo.
4. Restart Claude Desktop
The instant-db tools will appear in Claude's tool list. You're done.
Usage
Start a new database
"I want to track my workouts — exercises, sets, reps, and weights."
Claude will propose a schema, you refine it in plain English, then confirm. The database is created.
Use it
"Log today's workout — 3 sets of 8 squats at 185 lbs." "How much did I squat last week?" "What's my heaviest bench press ever?"
Data persists across sessions automatically.
Recommended System Prompt
Add this to your Claude system prompt for best results:
You have access to an instant-db MCP server for persistent structured storage.
When a user wants to track or store anything:
1. Call list_databases first to check what already exists.
2. If no relevant database exists, call propose_schema and present the proposal
conversationally — don't dump JSON at the user.
3. Wait for explicit user confirmation before calling create_database.
4. Always call describe_database at the start of a new session before inserting
or querying, so you know the current schema.
MCP Tools Reference
| Tool | Purpose |
|---|---|
list_databases |
List all databases managed by this server |
describe_database |
Get the schema of a named database |
propose_schema |
Propose a schema from a plain-language description (no-op, for AI reasoning) |
create_database |
Create a named database from a confirmed schema |
insert_record |
Insert a record, returns new row ID |
query_records |
Query with optional filters, ordering, limit |
update_record |
Update a record by ID |
delete_record |
Delete a record by ID |
count_records |
Count records, optionally filtered |
Debugging
Every MCP tool call is logged to logs/mcp.log in JSONL format.
# Live tail with pretty output
tail -f logs/mcp.log | jq .
Log level is controlled by the LOG_LEVEL env var: verbose | normal | off
SQLite files are standard — open them in DB Browser for SQLite or any SQLite tool.
Configuration
All config via .env:
DATA_DIR=./data # Where .sqlite files are stored
LOG_LEVEL=normal # verbose | normal | off
LOG_PATH=./logs/mcp.log # Log file location
MCP_TRANSPORT=stdio # Always stdio for Claude Desktop
Development
# Run tests
bun test
# Run the server directly (for debugging)
bun run src/index.ts
Repository Structure
src/
index.ts # Entry point
server.ts # MCP server setup, tool registration
config.ts # Env var loading (Zod-validated)
logger.ts # JSONL request/response logger
tools/
database.ts # list_databases, describe_database
schema.ts # propose_schema, create_database
records.ts # insert, query, update, delete, count
db/
adapter.ts # IDbAdapter interface
sqlite.ts # SQLite implementation
registry.ts # Multi-database manager
data/ # SQLite files (gitignored)
logs/ # MCP logs (gitignored)
Multiple Databases
One server instance manages as many named databases as you want:
"Create a calories tracker" "Create a finances tracker" "List my databases" →
["workouts", "calories", "finances"]
Each database is a separate .sqlite file in data/.
What's Not in MVP
- Schema migrations (add/rename columns after creation)
- Joins / cross-table queries
- Batch insert
- Data export (CSV, JSON)
- Web UI (use any SQLite browser directly)
- Postgres adapter (interface ready, implementation deferred)
- Auth / access control
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.