DataPilot AI MCP Server
Provides tools to interact with a SQLite database, allowing users to list tables, describe table schemas, and run read-only SQL queries.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@DataPilot AI MCP ServerWhat's the average order value per customer?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
๐ซ DataPilot AI
DataPilot AI is a production-quality, AI-powered database assistant that allows users to upload CSV files, automatically converts them into an isolated SQLite database, and enables natural language data analysis using an Ollama LLM Agent (qwen3:8b) communicating strictly through Model Context Protocol (MCP) tools.
๐๏ธ Architecture & Clean Isolation
+-----------------------------------------------------------------------+
| Streamlit UI |
| - CSV Upload & Table Data Preview |
| - Natural Language Query Interface |
| - Render SQL Queries, Results & Dynamic Plotly Charts |
+-----------------------------------+-----------------------------------+
|
v
+-----------------------------------+-----------------------------------+
| AI Agent |
| - Ollama (`qwen3:8b`) Agent Loop |
| - Translates user questions into MCP tool calls |
| - STRICTLY NO direct database access |
+-----------------------------------+-----------------------------------+
|
| (MCP JSON-RPC Protocol)
v
+-----------------------------------+-----------------------------------+
| MCP Server |
| - Built with FastMCP / MCP Python SDK |
| - Exposes isolated tools: |
| * list_tables() |
| * describe_table(table_name) |
| * run_sql(query) |
+-----------------------------------+-----------------------------------+
|
v
+-----------------------------------+-----------------------------------+
| Database & Storage Layer |
| - SQLite Database (`database/datapilot.db`) |
| - SQLAlchemy ORM & Engine abstraction |
| - Ingestion Layer (`database/csv_loader.py`) |
+-----------------------------------------------------------------------+Key Architectural Principles
Strict MCP Tool Isolation: The AI Model never opens SQLite files or executes SQL directly. It interacts with data solely through registered MCP server tools.
Security Guard:
run_sqlblocks write operations (DROP,DELETE,INSERT,UPDATE,ALTER).Type Hints & Clean Code: Type annotations (
typing), modern Python practices (pathlib), modular functions under 30 lines, proper logging, and exception handling.
Related MCP server: mcp-server
๐ ๏ธ Tech Stack
Frontend: Streamlit
Backend: Python 3.10+
Database: SQLite, SQLAlchemy
AI / LLM: Ollama (
qwen3:8b)Protocol: Official MCP Python SDK / FastMCP
Data Visualization: Plotly
Data Processing: Pandas
Configuration:
python-dotenv, Pydantic
๐ Project Structure
DataPilot-AI/
โโโ app/
โ โโโ __init__.py
โ โโโ main.py # Streamlit Web UI application
โโโ database/
โ โโโ __init__.py
โ โโโ database.py # SQLAlchemy database engine management
โ โโโ csv_loader.py # CSV parsing & SQL table ingestion
โโโ agent/
โ โโโ __init__.py
โ โโโ agent.py # Ollama AI agent & MCP tool dispatcher
โโโ mcp_server/
โ โโโ __init__.py
โ โโโ server.py # FastMCP server transport
โ โโโ tools.py # MCP database tool implementations
โโโ charts/
โ โโโ __init__.py
โ โโโ chart_generator.py # Automated Plotly chart generator
โโโ uploads/ # Storage for raw CSV uploads
โโโ database/ # SQLite database directory (`datapilot.db`)
โโโ scratch/ # Verification test scripts
โโโ .env.example # Environment variables template
โโโ requirements.txt # Pinned project dependencies
โโโ README.md # Project documentationโ๏ธ Quickstart Guide
1. Clone & Setup Virtual Environment
git clone https://github.com/taneeshk12/hcai_project.git DataPilotAI
cd DataPilotAI
# Create virtual environment
python3 -m venv .venv
source .venv/bin/activate
# Install dependencies
pip install --upgrade pip
pip install -r requirements.txt2. Configure Environment Variables
Copy .env.example to .env:
cp .env.example .env3. Setup & Start Ollama
Make sure Ollama is installed and running locally with the target model:
# Start Ollama server
ollama serve
# Pull target model in a separate terminal
ollama pull qwen3:8b4. Run the Application
Launch the Streamlit interface:
streamlit run app/main.pyOpen http://localhost:8501 in your browser.
๐ MCP Tools Specification
The MCP server exposes three database tools:
Tool Name | Parameters | Description |
| None | Returns a JSON list of all active tables in the SQLite database. |
|
| Returns schema, column types, total row count, and 3 sample records. |
|
| Executes a read-only SQL query and returns matching records. |
๐ก Usage Example
Upload CSV: Drag and drop
amazon.csv(or any CSV dataset) into the uploader.Automatic SQL Ingestion: DataPilot AI sanitizes the filename into a table name (e.g.
amazon) and creates a SQLite table with full row insertion.Ask Natural Language Questions:
"How many rows are in the database?"
"Show all columns for table amazon"
"What are the top 5 highest rated items?"
"Show average price by category"
Inspect Output:
Generated SQL Query displayed first in a code block.
AI Answer in clean natural language text.
MCP Execution Trace showing tool calls.
Automated Plotly Chart generated automatically for numerical data.
๐ License
MIT License. Created for AI Product Engineering portfolio.
This server cannot be deployed
Maintenance
Related MCP Connectors
Query, join, profile, clean and convert CSV/JSON/Parquet with server-side DuckDB over MCP.
Query your warehouse or a CSV with Claude/ChatGPT over MCP, governed by table-level ACL + audit.
- OleanderOAuthdev.oleander
The all-in-one data stack for agents. Upload files, run SQL, evolve tables, and render charts.
Query your org's data in natural language โ read-only MCP access to SQL, NoSQL, files & warehouses.
Related MCP Servers
- AlicenseBqualityDmaintenanceLoads CSV files into a temporary SQLite database and provides comprehensive data analysis tools via MCP, enabling AI assistants to query, analyze, and export data using natural language.14MIT
- FlicenseNot gradedqualityDmaintenanceEnables AI models to interact with local CSV and Parquet data through MCP tools, providing summarization and analysis capabilities.1-
- AlicenseBqualityCmaintenanceEnables SQL querying over CSV and Excel files using DuckDB, providing tools to load files, inspect schemas, and run read-only queries via MCP.5MIT
- FlicenseNot gradedqualityCmaintenanceEnables querying CSV or Excel data using natural language through MCP tools, running pandas operations on an uploaded dataset.-