mcp-sqlite-chat

mcp-sqlite-chat

Enables querying and managing a SQLite database using natural language, with an MCP server and Groq LLM.

Category
Visit Server

README

mcp-sqlite-chat

A local AI chat interface that lets you query and manage a SQLite database using plain English.

Built with MCP (Model Context Protocol) + Groq (free LLM). You type natural language questions; the LLM decides which database tools to call; results come back as clean, readable answers.


How It Works

You type a question
        │
        ▼
Groq LLM (llama-3.1-8b-instant)
decides which tools to call
        │
        ▼
MCP Client  ──────────>  MCP Server (server.py)
                                  │
                                  ▼
                            Runs SQL on users.db
        <──────────           Returns result
        │
        ▼
Groq formats a human-readable answer
        │
        ▼
"There are 2 users from London."

The LLM never touches the database directly — all SQL runs through the MCP server.


Project Structure

mcp-sqlite-chat/
  server.py       — MCP server: exposes the SQLite DB as tools and resources
  client.py       — Chat interface: connects to the MCP server and Groq
  init_db.py      — Creates users.db with sample data
  db_inspect.py   — Utility to inspect the database directly
  users.db        — SQLite database (generated after running init_db.py)
  requirements.txt
  .env.example

Setup

1. Create and activate a virtual environment

From your project root (e.g. /home/me/my-project/):

python3 -m venv venv
source venv/bin/activate

2. Install dependencies

pip install -r requirements.txt

3. Configure your Groq API key

Copy the example env file and fill in your key:

cp .env.example .env

Edit .env:

GROQ_API_KEY=your-groq-api-key-here

Get a free key at https://console.groq.com

4. Initialize the database

python init_db.py

Expected output:

Database created at: .../users.db
  - 8 users inserted
  - 10 orders inserted

Running

# Make sure the venv is active (from the project root)
source venv/bin/activate

# Start the chat
python client.py

You will see:

Connecting to SQLite MCP server...
Connected. Tools available: ['list_tables', 'describe_table', 'run_query', 'insert_user', 'insert_order']
--------------------------------------------------
SQLite Chat — type your question or 'quit' to exit
--------------------------------------------------

You:

Example Queries

Explore the schema

You: what tables exist?
You: describe the users table
You: what columns does orders have?

Query users

You: show all users
You: how many users are from London?
You: who is the youngest user?
You: list users older than 30

Query orders

You: show all orders
You: what did Bob order?
You: show all orders over $300
You: what is the total revenue?

Join queries

You: who spent the most money in total?
You: show each user and how much they spent
You: which city's users spend the most?

Insert data

You: add user Sara, sara@gmail.com, age 25, from Paris
You: add an order for alice@example.com for a Monitor costing 349.99

Type quit, exit, or q to leave. Ctrl+C also works.


MCP Tools

Tool Description
list_tables Lists all tables in the database
describe_table(table_name) Shows columns and types for a table
run_query(sql) Runs a SELECT query and returns rows
insert_user(name, email, age, city) Adds a new user
insert_order(user_email, product, amount) Adds an order for an existing user

run_query is read-only — only SELECT statements are allowed. All writes go through insert_user and insert_order, which use parameterized queries.


Tech Stack

  • MCP (Model Context Protocol) — tool/resource protocol connecting the client to the server
  • Groq — free, fast LLM inference (llama-3.1-8b-instant)
  • FastMCP — Python framework for building MCP servers
  • SQLite — local database, no server needed

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured