Bolt

Pratik-11/Bolt

3.2

If you are the rightful owner of Bolt and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

The Model Context Protocol (MCP) server is a pivotal component in AI-driven data solutions, enabling seamless integration between AI models and data warehouses.

πŸš€ Bolt - Self-Hosted AI Data Agent

Bolt Logo GitHub Stars GitHub Forks GitHub Issues License: MIT

A powerful self-hosted Gen AI agent with integrated MCP server for solving organization data-driven queries and tasks

Features β€’ Quick Start β€’ Documentation β€’ Contributing β€’ Support


🎯 What is Bolt?

Bolt is a cutting-edge self-hosted AI data agent that combines the power of Ollama's local AI models with Snowflake's data warehouse through the Model Context Protocol (MCP). It enables organizations to ask natural language questions about their data and get intelligent, AI-generated SQL queries and insights - all while keeping everything secure and on-premises.

🌟 Why Bolt?

  • πŸ”’ Privacy First: Keep your data and AI processing completely local
  • 🧠 Smart Data Queries: Natural language to SQL conversion using AI
  • 🏒 Enterprise Ready: Seamless Snowflake integration for organizational data
  • πŸ“Š Real-time Insights: Instant data analysis and visualization
  • πŸ’° Cost Effective: Self-hosted solution with no external API costs
  • πŸ”§ Easy Setup: One-click deployment on Google Colab

✨ Features

πŸ€– AI-Powered Data Interaction

  • Natural Language Queries: Ask questions in plain English about your data
  • Smart SQL Generation: AI automatically generates optimized Snowflake queries
  • Multiple Model Support: Choose from 7B to 14B parameter models based on your needs
  • Context-Aware Responses: Understands your data schema and relationships

πŸ”— Seamless Integrations

  • Snowflake Integration: Direct connection to your Snowflake data warehouse
  • MCP Protocol: Industry-standard Model Context Protocol implementation
  • Ollama Support: Local hosting of Llama 2, Mistral, CodeLlama, and more
  • Google Colab Ready: Zero-setup deployment in cloud notebooks

πŸ›‘οΈ Security & Privacy

  • On-Premises AI: No data sent to external AI services
  • Credential Management: Secure handling of database credentials
  • Environment Isolation: Containerized execution environment
  • Access Control: Built-in security best practices

πŸ“ˆ Analytics & Insights

  • Interactive Results: Beautiful data visualization and formatting
  • Query History: Track and reuse previous queries
  • Performance Metrics: Monitor query execution times and results
  • Export Capabilities: Save results in multiple formats

πŸš€ Quick Start

Option 1: Google Colab (Recommended)

  1. Open in Colab: Open In Colab

  2. Upload Notebooks: Upload model.ipynb and mcp.ipynb to your Colab

  3. Follow the Guided Setup:

    • Start with model.ipynb to set up Ollama
    • Then run mcp.ipynb for Snowflake integration

Option 2: Local Setup

# Clone the repository
git clone https://github.com/Pratik-11/Bolt.git
cd Bolt

# Install Ollama (Linux/macOS)
curl -fsSL https://ollama.com/install.sh | sh

# Install Python dependencies
pip install snowflake-connector-python==3.0.0 python-dotenv jupyter

# Start Jupyter
jupyter notebook

Setup Your First Query

# 1. Start with model setup
# Open model.ipynb and follow the cells to:
# - Install Ollama
# - Download your preferred AI model (7B or 14B)
# - Test the model

# 2. Configure data connection  
# Open mcp.ipynb and:
# - Set up Snowflake credentials
# - Initialize MCP server
# - Test data connectivity

# 3. Ask your first question!
result = ai_with_data.execute_ai_query("Show me top 10 customers by order value")

πŸ“š Documentation

Architecture Overview

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   User Query    │───▢│  Ollama AI      │───▢│   Snowflake     β”‚
β”‚ (Natural Lang.) β”‚    β”‚  (SQL Gen.)     β”‚    β”‚   (Data Exec.)  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
         β–²                       β”‚                       β”‚
         β”‚                       β–Ό                       β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   Formatted     │◀───│  MCP Server     │◀───│   Query Results β”‚
β”‚   Results       β”‚    β”‚  (Orchestrator) β”‚    β”‚   (Raw Data)    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Supported Models

ModelSizeMemoryUse Case
Llama 2 7B4-6GBColab FreeGeneral purpose, fast responses
Mistral 7B4-6GBColab FreeEfficient, multilingual
CodeLlama 7B4-6GBColab FreeCode generation, SQL focused
Llama 2 13B8-12GBColab ProHigher quality, complex queries
CodeLlama 13B8-12GBColab ProAdvanced code generation

Environment Variables

# Snowflake Configuration
SNOWFLAKE_USER=your_username
SNOWFLAKE_PASSWORD=your_password
SNOWFLAKE_ACCOUNT=your_account
SNOWFLAKE_DATABASE=your_database
SNOWFLAKE_WAREHOUSE=your_warehouse

πŸ› οΈ Development

Project Structure

Bolt/
β”œβ”€β”€ model.ipynb          # Ollama model setup and configuration
β”œβ”€β”€ mcp.ipynb           # MCP server and Snowflake integration
β”œβ”€β”€ README.md           # Project documentation
β”œβ”€β”€ .gitignore         # Git ignore rules
└── requirements.txt    # Python dependencies (if local setup)

Key Components

  • EmbeddedMCPServer: Core MCP server implementation
  • OllamaWithMCP: AI client with data integration
  • Snowflake Connector: Secure database connectivity
  • Query Generator: Natural language to SQL conversion

🀝 Contributing

We welcome contributions from the community! Here's how you can help:

Ways to Contribute

  • πŸ› Bug Reports: Found an issue? Open an issue
  • πŸ’‘ Feature Requests: Have an idea? Start a discussion
  • πŸ“ Documentation: Improve our docs and examples
  • πŸ§ͺ Testing: Help test new features and edge cases
  • πŸ”§ Code: Submit pull requests for bug fixes and features

Development Setup

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Make your changes and test thoroughly
  4. Commit your changes: git commit -m 'Add amazing feature'
  5. Push to your branch: git push origin feature/amazing-feature
  6. Open a Pull Request

Contribution Guidelines

  • Follow the existing code style and structure
  • Add tests for new features
  • Update documentation as needed
  • Ensure all notebooks run successfully
  • Add comments for complex logic

πŸ§ͺ Testing

Manual Testing

  1. Model Testing: Verify AI model responses
  2. Database Testing: Test Snowflake connectivity
  3. Integration Testing: End-to-end query execution
  4. Performance Testing: Monitor response times

Test Scenarios

  • Simple data queries (SELECT statements)
  • Complex analytical queries (JOINs, aggregations)
  • Error handling (invalid queries, connection issues)
  • Different model sizes and types

πŸ—ΊοΈ Roadmap

Version 1.1 (Coming Soon)

  • Support for additional databases (PostgreSQL, MySQL)
  • Web-based UI interface
  • Query result caching
  • Enhanced error handling

Version 1.2 (Future)

  • Multi-tenant support
  • Advanced visualization capabilities
  • API endpoints for external integration
  • Docker containerization

Version 2.0 (Vision)

  • Multi-modal AI support (text + charts)
  • Real-time data streaming
  • Advanced security features
  • Enterprise SSO integration

πŸ‘₯ Contributors

Core Team


Pratik Singh

Creator & Lead Developer

Want to join this list?

Check out our contributing guidelines and start contributing today!


πŸ“„ License

This project is licensed under the MIT License - see the file for details.

MIT License - Feel free to use, modify, and distribute
Commercial use permitted - Build amazing products with Bolt!

πŸ’¬ Support & Community

Get Help

  • πŸ“– Documentation: Check our comprehensive guides above
  • πŸ› Issues: GitHub Issues for bug reports
  • πŸ’¬ Discussions: GitHub Discussions for questions
  • πŸ“§ Email: For private inquiries and enterprise support

Stay Connected

  • ⭐ Star this repo to show your support
  • πŸ‘οΈ Watch for updates and new releases
  • 🍴 Fork to start building your own version
  • πŸ“’ Share with your team and community

πŸ™ Acknowledgments

Special thanks to:

  • Ollama for making local AI accessible
  • Snowflake for their robust data platform
  • MCP Protocol for standardizing AI-data connections
  • Google Colab for free cloud computing
  • Open Source Community for inspiration and support

Made with ❀️ by Pratik Singh

Star ⭐ this repo if you find it helpful!

GitHub Stars