Serves as the runtime environment for the MCP server, enabling it to execute server-side JavaScript code that powers the SQLite database interaction capabilities.
Used for package management, installation of dependencies, and running build scripts for the MCP server.
Provides tools for interacting with SQLite databases, allowing users to connect to database files, list tables, describe schemas, execute queries (SELECT, INSERT, UPDATE, DELETE), and retrieve comprehensive table information including schema, indexes, row counts, and sample data.
Used as the development language for the MCP server, providing type safety and modern JavaScript features during development before compilation to JavaScript.
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
Related MCP server: SQLite MCP Server
Installation
Usage
As an MCP Server
Add to your MCP client configuration:
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_tablesGet 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
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