SQLite MCP Server
@madhavarora1988
simple poc to demostrate an mcp server on top of sqlite db
Overview
What is SQLite MCP Server?
A Model Context Protocol (MCP) server implementation that enables AI models to interact with SQLite databases through standardized tools. It provides query execution, schema discovery, row counting, and sample data insertion.
How to use SQLite MCP Server?
Install dependencies with pip install -r requirements.txt, configure the .env file (set DB_PATH, MCP_PORT, READ_ONLY), then start the server with python server.py on port 8080. Add it to Claude Desktop via the mcpServers configuration.
Key features of SQLite MCP Server
- Execute SQL queries with validation and safety checks
- Discover table schemas and list all tables
- Count rows in specified tables
- Insert sample data for demonstration (write mode)
- Read-only mode for production safety
- Collect user feedback stored in the database
Use cases of SQLite MCP Server
- AI assistants querying a product database for inventory information
- Generating reports from customer and order data
- Prototyping applications with a sample database schema
- Collecting and storing user feedback from AI interactions
- Safely exploring database structures without risking data modification
FAQ from SQLite MCP Server
What is read-only mode and how do I enable it?
Set READ_ONLY=true in the .env file. Write operations like insert_sample_data and add_feedback are disabled in read-only mode.
What dependencies are required?
Python 3.8+ and the packages listed in requirements.txt. Install them with pip install -r requirements.txt.
Where does the database data live?
Data is stored in a single SQLite file specified by the DB_PATH environment variable (default: sample.db). The server creates a sample database with tables for products, customers, orders, and feedback if none exists.
What tools does the server provide?
The server offers six tools: execute_query, list_tables, describe_table, count_rows, insert_sample_data, and add_feedback. The last two are disabled in read-only mode.
How do I connect the server to Claude Desktop?
Add the server to your Claude Desktop configuration file with the command <Path to UV>, arguments ["--directory", "<Absolute Path to Project Workspace>", "run", "server.py"], and the server name sqlite.