Skip to main content
Glama
abdunnasir

mcp-sqlite-chat

by abdunnasir

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.


Related MCP server: MCP Ollama 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

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    MCP server that provides SQLite database operations. Allows AI assistants to query, modify and manage SQLite databases through the Model Context Protocol.
    -
  • A
    license
    C
    quality
    A
    maintenance
    An MCP server for interacting with SQLite databases, enabling SQL query execution, schema inspection, and CRUD operations.
    7
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP tool server providing SQLite database access for AI agents.
    MIT