Skip to main content

A SQLite MCP server with JSONB support, database administration tools, and advanced database operations

Project description

SQLite MCP Server

Last Updated: September 22, 2025 2:04 AM EST

Enterprise-grade SQLite with AI-native JSON operations & intelligent workflow automation โ€“ v2.6.0

Docker Pulls License Version

Transform SQLite into a powerful, AI-ready database engine with 73 specialized tools for advanced analytics, JSON operations, text processing, vector search, geospatial operations, and intelligent workflow automation.


๐Ÿ“‹ Table of Contents

Quick Start

Configuration & Usage

Resources & Information


โœ… Quick Test - Verify Everything Works

Test all 73 tools in 30 seconds!

# Quick smoke test
python test_runner.py --quick

# Standard comprehensive test (recommended)
python test_runner.py --standard

# Full test suite with edge cases
python test_runner.py --full

Expected output:

๐Ÿš€ SQLite MCP Server Comprehensive Test Suite v2.6.0
================================================================

๐Ÿ” Environment Detection:
  โœ… SQLite 3.50.4 (JSONB supported)
  โœ… Python 3.12.11  
  โœ… MCP 1.14.0

๐Ÿ“Š Testing 73 Tools across 14 categories...

โœ… Core Database Operations (8/8 passed)
โœ… JSON Helper Tools (6/6 passed)  
โœ… JSON Operations (12/12 passed)  
โœ… Text Processing (8/8 passed)
๐ŸŽ‰ SUCCESS: All 73 tools tested successfully!

๐Ÿ›ก๏ธ Security Testing

NEW: Comprehensive SQL injection protection testing

# Test SQL injection protection (from tests directory)
cd tests && python test_sql_injection.py

# Expected result: ๐Ÿ›ก๏ธ Overall security posture: STRONG

What it tests:

  • Protection against the SQL injection vulnerability found in original Anthropic SQLite MCP server
  • 11 different attack vectors including multiple statements, UNION injection, blind injection
  • Parameter binding protection with malicious payloads
  • Stacked queries and comment-based injection attempts

โฌ†๏ธ Back to Table of Contents

๐Ÿš€ Quick Start

Option 1: Docker (Recommended)

# Pull and run instantly
docker pull writenotenow/sqlite-mcp-server:latest

docker run -i --rm \
  -v $(pwd):/workspace \
  writenotenow/sqlite-mcp-server:latest \
  --db-path /workspace/database.db

Option 2: Python Installation

# Install from PyPI
pip install mcp-server-sqlite

# Or install from source
git clone https://github.com/neverinfamous/sqlite-mcp-server.git
cd sqlite-mcp-server
pip install -r requirements.txt

# Run the server
python start_sqlite_mcp.py --db-path ./database.db

Option 3: Test in 30 Seconds

git clone https://github.com/neverinfamous/sqlite-mcp-server.git
cd sqlite-mcp-server
python test_runner.py --quick

๐Ÿ†• NEW in v2.6.0: Complete JSON Operations Suite

5 Major Improvements in this release:

  • ๐ŸŽฏ JSON Helper Tools - 6 specialized tools for simplified JSON operations with path validation and merging
  • ๐Ÿค– JSON Auto-Normalization - Automatically fixes Python-style JSON with configurable strict mode
  • ๐Ÿ›ก๏ธ Parameter Binding Interface - Enhanced MCP tools with SQL injection prevention
  • ๐Ÿ“ฆ Automatic Parameter Serialization - Direct object/array parameters, no manual JSON.stringify()
  • ๐Ÿง  Enhanced JSON Error Diagnostics - Intelligent error categorization with contextual guidance

๐Ÿ”ฅ Core Capabilities

  • ๐Ÿ“Š Statistical Analysis - Descriptive stats, percentiles, time series analysis
  • ๐Ÿ” Advanced Text Processing - Regex, fuzzy matching, phonetic search, similarity
  • ๐Ÿง  Vector/Semantic Search - AI-native embeddings, cosine similarity, hybrid search
  • ๐Ÿ—บ๏ธ SpatiaLite Geospatial - Enterprise GIS with spatial indexing and operations
  • ๐Ÿ” Transaction Safety - Auto-wrapped transactions with rollback protection
  • ๐ŸŽ›๏ธ 73 Specialized Tools - Complete database administration and analytics suite

๐Ÿข Enterprise Features

  • ๐Ÿ“ˆ Business Intelligence - Integrated insights memo and workflow automation
  • ๐Ÿ”„ Backup/Restore - Enterprise-grade operations with integrity verification
  • ๐ŸŽฏ Full-Text Search (FTS5) - Advanced search with BM25 ranking and snippets
  • ๐Ÿ—๏ธ Virtual Tables - Smart CSV/JSON import with automatic type inference
  • โš™๏ธ Advanced PRAGMA - Complete SQLite configuration and optimization

โฌ†๏ธ Back to Table of Contents

๐Ÿ“š MCP Client Configuration

Claude Desktop

{
  "mcpServers": {
    "sqlite-mcp-server": {
      "command": "python",
      "args": ["/path/to/sqlite-mcp-server/start_sqlite_mcp.py", "--db-path", "/path/to/database.db"]
    }
  }
}

Docker with Claude Desktop

{
  "mcpServers": {
    "sqlite-mcp-server": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "-v", "/path/to/project:/workspace", "writenotenow/sqlite-mcp-server:latest", "--db-path", "/workspace/database.db"]
    }
  }
}

โฌ†๏ธ Back to Table of Contents

๐ŸŽจ Usage Examples

Data Analysis Workflow

# 1. Quick validation
python test_runner.py --quick

# 2. Start with your data
python start_sqlite_mcp.py --db-path ./sales_data.db

# 3. Use with Claude/Cursor for:
#    - Statistical analysis of your datasets
#    - Text processing and pattern extraction  
#    - Vector similarity search
#    - Geospatial analysis and mapping
#    - Business intelligence insights

Docker Development

# Development with live reload
docker run -i --rm \
  -v $(pwd):/workspace \
  -e SQLITE_DEBUG=true \
  writenotenow/sqlite-mcp-server:latest \
  --db-path /workspace/dev.db

๐ŸŽฏ JSON Helper Tools - Simplified JSON Operations

NEW in v2.6.0: Six powerful JSON helper tools that make complex JSON operations simple:

// โœ… Insert JSON with auto-normalization
json_insert({
  "table": "products",
  "column": "metadata", 
  "data": {'name': 'Product', 'active': True, 'price': None}
})

// โœ… Update JSON by path
json_update({
  "table": "products",
  "column": "metadata",
  "path": "$.price",
  "value": 29.99,
  "where_clause": "id = 1"
})

// โœ… Query JSON with complex filtering
json_query({
  "table": "products",
  "column": "metadata",
  "filter_paths": {"$.category": "electronics"},
  "select_paths": ["$.name", "$.price"]
})

JSON Helper Tools:

  • ๐ŸŽฏ json_insert - Insert JSON data with auto-normalization
  • ๐Ÿ”„ json_update - Update JSON by path with creation support
  • ๐Ÿ” json_select - Extract JSON data with multiple output formats
  • ๐Ÿ”Ž json_query - Complex JSON filtering and aggregation
  • โœ… json_validate_path - Validate JSON paths with security checks
  • ๐Ÿ”— json_merge - Merge JSON objects with conflict resolution

Auto-normalization still works:

  • ๐Ÿ”ง Single quotes โ†’ Double quotes
  • ๐Ÿ”ง Python True/False โ†’ JSON true/false
  • ๐Ÿ”ง Python None โ†’ JSON null
  • ๐Ÿ”ง Trailing commas removed
  • ๐Ÿ›ก๏ธ Security validation prevents malicious input

๐Ÿง  Enhanced JSON Error Diagnostics

Enhanced in v2.6.0: When JSON validation fails, get intelligent, contextual error messages with specific guidance:

// โŒ Invalid JSON input:
validate_json('{key_without_quotes: "value"}')

// โœ… Enhanced error response:
{
  "valid": false,
  "error": "Expecting property name enclosed in double quotes: line 1 column 2 (char 1)",
  "enhanced_message": "JSON validation failed (structural_syntax): Expecting property name...",
  "error_context": {
    "error_type": "structural_syntax",
    "security_concern": false,
    "suggestions": [
      "Ensure all object keys are properly quoted strings",
      "Check for missing colons (:) between keys and values",
      "Verify proper key-value pair structure: \"key\": \"value\""
    ]
  }
}

Enhanced Error Categories:

  • ๐Ÿ”ง Structural Issues - Missing quotes, colons, brackets with specific fix suggestions
  • ๐Ÿ›ก๏ธ Security Warnings - Detects potential SQL injection patterns in JSON strings
  • ๐Ÿ“ Encoding Problems - Character encoding and escape sequence guidance
  • ๐ŸŽฏ Context-Aware Tips - Line/column position with targeted recommendations

๐Ÿ›ก๏ธ Enhanced Parameter Binding + Auto-Serialization

NEW in v2.6.0: Built-in SQL injection protection with automatic JSON serialization:

// โœ… SECURE: Parameter binding prevents injection
read_query({
  "query": "SELECT * FROM users WHERE name = ? AND age > ?",
  "params": ["John", 25]
})

// โœ… NEW: Direct object/array parameters (auto-serialized)
write_query({
  "query": "INSERT INTO products (metadata, tags) VALUES (?, ?)",
  "params": [
    {"name": "Product", "price": 29.99, "active": true},  // Auto-serialized to JSON
    ["electronics", "featured", "new"]                    // Auto-serialized to JSON
  ]
})

// โœ… SIMPLIFIED: No more manual JSON.stringify()
// Before v2.6.0:
write_query({
  "query": "INSERT INTO table (data) VALUES (?)",
  "params": [JSON.stringify({"key": "value"})]  // Manual serialization required
})

// After v2.6.0:
write_query({
  "query": "INSERT INTO table (data) VALUES (?)",
  "params": [{"key": "value"}]  // Automatic serialization!
})

v2.6.0 Benefits:

  • ๐Ÿ›ก๏ธ SQL Injection Prevention - Parameter binding treats malicious input as literal data
  • ๐Ÿ“ฆ Auto-Serialization - Objects and arrays automatically converted to JSON strings
  • ๐Ÿ”„ Backward Compatible - Existing queries continue to work unchanged
  • โšก Better Performance - Query plan caching and parameter optimization
  • ๐Ÿ“ Cleaner API - No manual JSON.stringify() or parameter preparation needed

โฌ†๏ธ Back to Table of Contents

๐Ÿ“Š Tool Categories

The SQLite MCP Server provides 73 specialized tools across 14 categories:

๐Ÿ’ก Want the complete tool list? See the detailed tool reference with descriptions for all 73 tools, 7 resources, and 7 prompts.

Category Tool Count Description
Core Database 15 CRUD operations, schema management, transactions
JSON Helper Tools 6 Simplified JSON operations, path validation, merging
Text Processing 9 Regex, fuzzy matching, phonetic search, similarity
Statistical Analysis 8 Descriptive stats, percentiles, time series
Virtual Tables 8 CSV, R-Tree, series generation
Semantic Search 8 Embeddings, similarity, hybrid search
Geospatial 7 Spatial indexing, geometric operations
PRAGMA Operations 5 Configuration, optimization, introspection
Full-Text Search 3 FTS5 creation, indexing, BM25 ranking
Vector Optimization 2 ANN search, clustering, performance
Data Analysis 2 Smart CSV/JSON import with type inference
Resources 7 Database meta-awareness, performance insights
Prompts 7 Guided workflows, optimization recipes

๐Ÿ’ก Cursor Users: You can enable only the categories you need in your MCP client settings to reduce tool noise and improve stability. Each number above shows the count of tools in that category.

โฌ†๏ธ Back to Table of Contents

๐Ÿ† Why Choose SQLite MCP Server?

โœ… AI-Friendly - JSON auto-normalization and intelligent error messages reduce debugging time
โœ… Just Works - Built-in security and parameter binding with zero configuration
โœ… Smart Diagnostics - Enhanced error context provides actionable guidance when issues occur โœ… Instantly Testable - Validate all 73 tools in 30 seconds
โœ… Production Ready - Enterprise-grade testing and validation
โœ… Comprehensive - Everything you need in one package
โœ… Docker Ready - Containerized for easy deployment
โœ… Zero Breaking Changes - All existing code continues to work

โฌ†๏ธ Back to Table of Contents

๐Ÿ“š Complete Documentation

โ†’ Full Documentation & Examples

Comprehensive documentation including:

  • Detailed tool reference - All 73 tools with examples
  • Advanced configuration - Performance tuning and optimization
  • Integration guides - MCP clients, Docker, CI/CD
  • Feature deep-dives - Text processing, vector search, geospatial
  • Best practices - Query patterns, troubleshooting, workflows
  • API reference - Complete tool schemas and parameters

โฌ†๏ธ Back to Table of Contents

๐Ÿ”— Additional Resources

โฌ†๏ธ Back to Table of Contents

๐Ÿš€ Quick Links

Action Command
Test Everything python test_runner.py --standard
Docker Quick Start docker run -i --rm -v $(pwd):/workspace writenotenow/sqlite-mcp-server:latest
Install from PyPI pip install mcp-server-sqlite
View Full Docs docs/FULL-README.md
Report Issues GitHub Issues

โฌ†๏ธ Back to Table of Contents

๐Ÿ“ˆ Project Stats

  • 73 Tools across 14 categories
  • 2,000+ lines of comprehensive documentation
  • Multi-platform support (Windows, Linux, macOS)
  • Docker images for amd64 and arm64
  • Enterprise testing with comprehensive validation
  • Active development with regular updates

โฌ†๏ธ Back to Table of Contents

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sqlite_mcp_server_enhanced-2.6.0.tar.gz (219.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sqlite_mcp_server_enhanced-2.6.0-py3-none-any.whl (79.2 kB view details)

Uploaded Python 3

File details

Details for the file sqlite_mcp_server_enhanced-2.6.0.tar.gz.

File metadata

File hashes

Hashes for sqlite_mcp_server_enhanced-2.6.0.tar.gz
Algorithm Hash digest
SHA256 4719052b826b33c22d029a32db6b735cf1883147132bced7abf24113295de337
MD5 8a7f84207cc4df53625d764d86f9f48b
BLAKE2b-256 4c2a99824afd74297c8519c393f1958d2db01cd48b3f88217fd207e689137707

See more details on using hashes here.

File details

Details for the file sqlite_mcp_server_enhanced-2.6.0-py3-none-any.whl.

File metadata

File hashes

Hashes for sqlite_mcp_server_enhanced-2.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 50171d19b3f6353b90f70c889e7402f085f643b18d6b4e682ebfe847caa1aac8
MD5 acfd97a5673cb0ae57e0e4dcff7cc6c4
BLAKE2b-256 82dea9eab5b58dc8862a11aab2812a36d6dcc898cfa0deda81405eb6c5ca1269

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page