database-analytics-mcp
The Database Analytics MCP Server is a practical server that provides SQLite database operations through FastMCP. It is ideal for data analysis workflows with AI assistants. It allows for safe SQL query execution and retrieval of schema information, with built-in SQL injection prevention features.
GitHub Stars
3
User Rating
Not Rated
Forks
0
Issues
0
Views
1
Favorites
0
Database Analytics MCP Server
A practical database analytics MCP server built with FastMCP, providing SQLite database operations through the Model Context Protocol (MCP). Perfect for data analysis workflows with AI assistants like Claude.
What This Server Provides
🛠️ Tools (Interactive Operations)
connect_db
- Connect to SQLite database filesexecute_query
- Execute SQL queries with safety checkslist_tables
- List all tables in the database
📊 Resources (Read-only Data Access)
schema://tables/{table_name}
- Get table column information and structuredata://tables/{table_name}
- Get sample table data for preview
🔐 Safety Features
- SQL injection prevention with dangerous operation blocking
- Read-only resource access for safe schema exploration
- Comprehensive error handling with descriptive messages
Setup and Installation
Clone the repository:
git clone https://github.com/khuyentran1401/database-analytics-mcp.git cd database-analytics-mcp
Install UV (recommended):
# Install UV if you haven't already curl -LsSf https://astral.sh/uv/install.sh | sh
Install dependencies:
# UV automatically manages dependencies from pyproject.toml uv sync
Test the server:
uv run example_usage.py
Add to Claude Code
# Quick setup claude mcp add database-analytics -- uv run database_mcp_server.py
Verify installation:
# Check if the server is registered claude mcp list
Other MCP Clients
For any MCP client that supports the standard protocol:
servers:
- name: database-analytics
transport:
type: stdio
command: uv
args: ["run", "database_mcp_server.py"]
Example Workflows
Data Exploration with Claude Code
Connect to Database
Connect to my SQLite database at ./sample_database.db
Explore Schema
What tables are available in this database?
Examine Table Structure
Show me the schema for the users table
Preview Data
Show me some sample data from the users table
Run Analytics Queries
Calculate total sales by product category
Export Results
Export the query "SELECT product_name, SUM(quantity) as total_sold FROM orders GROUP BY product_name" to CSV file called sales_report.csv
Get Table Statistics
Show me statistics for the users table
Common Use Cases
- Database Schema Discovery: Quickly understand database structure
- Data Quality Checks: Sample data to verify data integrity
- Ad-hoc Analysis: Run custom SQL queries safely
- Report Generation: Execute complex analytical queries
- Data Exploration: Browse tables and relationships with pagination
- Data Export: Export query results to CSV for external analysis
- Performance Monitoring: Track query execution times
Available Tools & Resources
Tools (Interactive Operations)
Tool | Parameters | Description |
---|---|---|
connect_db |
database_path: str |
Connect to SQLite database file |
execute_query |
sql: str |
Execute SQL query with safety checks and timing |
list_tables |
None | List all tables in connected database |
export_to_csv |
sql: str , filename: str |
Export query results to CSV file |
Resources (Read-only Access)
Resource URI | Description |
---|---|
schema://tables/{table_name} |
Get column info, types, constraints, foreign keys |
data://tables/{table_name} |
Get sample rows with pagination, statistics (limit, offset) |
stats://tables/{table_name} |
Get comprehensive table statistics and column analysis |
3,652
Followers
201
Repositories
472
Gists
7
Total Contributions