SQLGenius logo

SQLGenius

by pawankumar94

SQLGenius is an AI-powered SQL assistant that helps you query your BigQuery database using natural language. It's built with MCP (Model Context Protocol), Vertex AI's Gemini Pro, and Streamlit.

View on GitHub

Last updated: N/A

What is SQLGenius?

SQLGenius is an intelligent SQL assistant that allows users to query BigQuery databases using natural language. It leverages Vertex AI's Gemini Pro for natural language processing and Model Context Protocol (MCP) for tool exposure, providing a user-friendly Streamlit interface.

How to use SQLGenius?

To use SQLGenius, clone the repository, install dependencies, configure environment variables, and run the Streamlit application. The application provides tabs for natural language queries, direct SQL queries, and database schema exploration. The MCP server starts automatically when the Streamlit app launches.

Key features of SQLGenius

  • Natural language to SQL conversion

  • Interactive Streamlit UI

  • Real-time query execution and visualization

  • Database schema explorer

  • Query history tracking

  • Safe query validation

  • BigQuery integration

  • MCP-based architecture

Use cases of SQLGenius

  • Querying BigQuery databases using natural language

  • Exploring database schemas

  • Executing SQL queries directly

  • Building custom tools for database interaction

  • Data analysis and visualization

  • Rapid prototyping of database applications

FAQ from SQLGenius

What is MCP?

MCP stands for Model Context Protocol. It's used to expose tools that enable natural language processing, data exploration, and SQL execution.

What databases are supported?

Currently, SQLGenius is designed to work with BigQuery.

Can I add custom tools?

Yes, you can add custom tools to the MCP server by editing the register_tools() method in sql_mcp_server.py.

What kind of queries are allowed?

Only SELECT queries are permitted for security reasons.

How secure is SQLGenius?

SQLGenius includes security features such as query validation, secure credential management, and error handling to prevent dangerous operations.