Supports containerized deployment of the SQLite MCP server for easier distribution and deployment
Provides SSE connection capabilities for n8n workflows, allowing n8n to interact with the SQLite database through the MCP client node
Supports deployment on Railway platform through Nixpacks building process
Supports deployment on Render platform through Nixpacks building process
Provides SQLite database operations including executing SQL queries, managing tables, and tracking business insights through standardized MCP tools
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@SQLite MCP Servershow me the last 10 orders from the customers table"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
SQLite MCP Server
A Model Context Protocol (MCP) server that provides SQLite database operations. Supports both stdio (for Claude Desktop, Cursor, etc.) and Streamable HTTP (for remote clients) transports.
Features
In-memory or file-based SQLite database
Dual transport: stdio and Streamable HTTP
SQL operations with input validation and injection protection
Table management (CREATE, DROP, LIST, DESCRIBE)
Database schema exposed as an MCP resource
Business insights memo tracking
Docker support
Related MCP server: Database MCP Server
Quick Start
Stdio (Claude Desktop, Cursor, etc.)
npm install && npm run build
node build/index.jsAdd to your Claude Desktop config (claude_desktop_config.json):
{
"mcpServers": {
"sqlite": {
"command": "node",
"args": ["/path/to/sqlite-mcp-server/build/index.js"]
}
}
}With a file-based database:
{
"mcpServers": {
"sqlite": {
"command": "node",
"args": ["/path/to/sqlite-mcp-server/build/index.js", "/path/to/database.db"]
}
}
}Streamable HTTP (remote clients)
node build/index.js --httpThe server exposes a single endpoint at http://localhost:3000/mcp following the MCP Streamable HTTP specification.
Docker
docker build -t sqlite-mcp-server .
docker run -d -p 3000:3000 --name sqlite-mcp sqlite-mcp-serverConfiguration
Option | Description | Default |
| Use Streamable HTTP transport instead of stdio | stdio |
First non-flag argument | Path to SQLite database file |
|
| Database path (env var alternative) |
|
| HTTP server port (HTTP mode only) |
|
Examples:
# In-memory database on stdio
node build/index.js
# File-based database on stdio
node build/index.js ./data.db
# HTTP mode with custom port
PORT=8080 node build/index.js --http ./data.db
# Using environment variable
SQLITE_DB_PATH=./data.db node build/index.js --httpAvailable Tools
Tool | Description |
| Execute SELECT, WITH (CTE), or EXPLAIN queries |
| Execute INSERT, UPDATE, DELETE, or REPLACE queries |
| Create a new table with a CREATE TABLE statement |
| Drop a table (irreversible) |
| List all user-created tables |
| Get table schema: columns, indexes, and foreign keys |
| Add a business insight to the memo resource |
Resources
URI | Description |
| Full schema (CREATE statements) for all tables |
| Accumulated business insights from analysis |
Prompts
Name | Description |
| Guided walkthrough: creates tables, inserts sample data, runs queries for a given topic |
Remote Connection
Streamable HTTP
Connect any MCP-compatible client to http://your-host:3000/mcp. The server supports:
POST /mcp— send MCP messages (session created on initialize)GET /mcp— SSE stream for session resumabilityDELETE /mcp— terminate a sessionGET /health— health check endpoint
Sessions are managed via the Mcp-Session-Id header.
Security
Query validation: each tool only accepts its intended SQL statement type
Multi-statement injection blocked (semicolons within queries are rejected)
Table names validated against
^[a-zA-Z_][a-zA-Z0-9_]*$WAL mode and foreign keys enabled by default
DNS rebinding protection on HTTP transport
Development
npm install
npm run build
npm start # stdio mode
npm run start:http # HTTP mode