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

README
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 files
  • execute_query - Execute SQL queries with safety checks
  • list_tables - List all tables in the database
📊 Resources (Read-only Data Access)
  • schema://tables/{table_name} - Get table column information and structure
  • data://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
  1. Clone the repository:

    git clone https://github.com/khuyentran1401/database-analytics-mcp.git
    cd database-analytics-mcp
    
  2. Install UV (recommended):

    # Install UV if you haven't already
    curl -LsSf https://astral.sh/uv/install.sh | sh
    
  3. Install dependencies:

    # UV automatically manages dependencies from pyproject.toml
    uv sync
    
  4. Test the server:

    uv run example_usage.py
    
  5. 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
  1. Connect to Database

    Connect to my SQLite database at ./sample_database.db
    
  2. Explore Schema

    What tables are available in this database?
    
  3. Examine Table Structure

    Show me the schema for the users table
    
  4. Preview Data

    Show me some sample data from the users table
    
  5. Run Analytics Queries

    Calculate total sales by product category
    
  6. 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
    
  7. 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
Author Information
Khuyen Tran

Founder of CodeCut | DevRel @ Nixtla

@nixtlaUnited States

3,652

Followers

201

Repositories

472

Gists

7

Total Contributions

Top Contributors

Threads