A Model Context Protocol (MCP) server that provides tools for querying SQLite databases. This server allows AI assistants to interact with SQLite databases by listing tables, describing schemas, and executing queries.
- Connect to SQLite databases: Connect to any SQLite database file
- List tables: Get all table names in the database
- Describe table schemas: View column definitions, types, and constraints
- Query data: Execute SELECT queries with automatic result formatting
- Execute queries: Run INSERT, UPDATE, DELETE and other SQL operations
- Get comprehensive table info: View schema, indexes, row counts, and sample data
npm install
npm run build
Add to your MCP client configuration:
{
"mcpServers": {
"sqlite": {
"command": "node",
"args": ["path/to/dist/index.js"],
"env": {}
}
}
}
-
connect_database - Connect to a SQLite database file
path
: Path to the SQLite database filereadonly
: Optional boolean to open in read-only mode
-
list_tables - List all tables in the connected database
-
describe_table - Get the schema/structure of a specific table
table_name
: Name of the table to describe
-
query_data - Execute a SELECT query on the database
query
: SQL SELECT query to executelimit
: Optional maximum number of rows to return (default: 100)
-
execute_query - Execute any SQL query (INSERT, UPDATE, DELETE, etc.)
query
: SQL query to execute
-
get_table_info - Get comprehensive information about a table
table_name
: Name of the table to analyzesample_rows
: Optional number of sample rows to return (default: 5)
-
First connect to a database:
Tool: connect_database Args: {"path": "./sample.db"}
-
List all tables:
Tool: list_tables
-
Get detailed information about a table:
Tool: get_table_info Args: {"table_name": "users", "sample_rows": 3}
-
Query data:
Tool: query_data Args: {"query": "SELECT * FROM users WHERE active = 1", "limit": 10}
# Build TypeScript
npm run build
# Watch for changes during development
npm run dev
# Start the server
npm start
- Node.js 18 or higher
- SQLite database files
- The server can execute any SQL query, so ensure proper access controls
- Consider using read-only mode for sensitive databases
- SQL injection protection is the responsibility of the query author