SQLite MCP Server
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.
Features
- 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
Installation
npm install
npm run build
Usage
As an MCP Server
Add to your MCP client configuration:
{
"mcpServers": {
"sqlite": {
"command": "node",
"args": ["path/to/dist/index.js"],
"env": {}
}
}
}
Available Tools
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)
Example Usage
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}
Development
# Build TypeScript
npm run build
# Watch for changes during development
npm run dev
# Start the server
npm start
Requirements
- Node.js 18 or higher
- SQLite database files
Security Notes
- 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