🚀 SQLGenius - スマートSQLアシスタント
SQLGeniusは、自然言語でBigQueryデータベースをクエリするのを支援するスマートSQLアシスタントです。MCP(モデルコンテキストプロトコル)、Vertex AIのGemini Pro、およびStreamlitを基に構築されています。
✨ 主な機能
- Gemini Proを使用して自然言語をSQLに変換する
- 複数のタブを持つインタラクティブなStreamlitインターフェイス
- リアルタイムのクエリ実行と可視化
- データベーススキーマの探索
- クエリ履歴の追跡
- 安全なクエリ検証
- BigQueryとの統合
- MCPアーキテクチャを基礎とする
🎥 デモ
SQLGeniusの実際の動作を見てみましょう!以下は、このアプリケーションの使用方法を簡単にデモするビデオです。
このデモでは、以下のことが確認できます。
- 自然言語クエリからSQLへの変換
- インタラクティブなデータ分析の可視化
- データベーススキーマの探索
- クエリ履歴の追跡
📦 インストール
- リポジトリをクローンし、プロジェクトディレクトリに移動します。
cd sql_mcp_server
- 依存関係をインストールします。
pip install -r requirements.txt
.env.exampleファイルを.envにコピーし、設定情報を入力します。
cp .env.example .env
.envで環境変数を設定します。
PROJECT_ID=your-project-id
DATASET_ID=your-dataset-id
GOOGLE_APPLICATION_CREDENTIALS=path/to/your/service-account.json
VERTEX_AI_LOCATION=us-central1
💻 使用例
基本的な使用法
- アプリケーションを起動します。
streamlit run streamlit_app.py
-
Streamlitアプリケーションが起動すると、MCPサーバーが自動的に実行されます。
-
タブを使用して以下の操作を行います。
- データに関する自然言語の質問をする
- SQLクエリを直接記述して実行する
- データベーススキーマを探索する
高度な使用法
📊 インターフェイスタブ
💬 自然言語クエリ
一般的な英語で質問をし、SQLの結果を取得します。
- "Show the top 5 customers by revenue"
- "Which products had the highest sales in January?"
- "How many orders were placed last month?"
📊 SQL クエリ
SQLクエリを直接記述して実行します。
SELECT * FROM orders
WHERE order_date > '2023-01-01'
ORDER BY total_amount DESC
LIMIT 10
📋 データベース探索者
- 利用可能なすべてのテーブルを閲覧する
- テーブルのスキーマ情報を表示する
- 任意のテーブルのサンプルデータを表示する
🔧 技術詳細
🔒 セキュリティ機能
- SELECTクエリのみの実行を許可する
- 危険な操作を防止するためのクエリ検証
- 安全な資格情報管理
- エラー処理と入力検証
🛠️ アーキテクチャ
SQLGeniusは、モデルコンテキストプロトコル(MCP)を使用してツールを公開します。これらのツールには以下が含まれます。
- 自然言語処理:英語の質問をSQLに変換する
- データ探索:スキーマ情報とサンプルデータを取得する
- SQL実行:データベース上で検証済みのクエリを実行する
このアーキテクチャは以下の部分で構成されています。
- MCPサーバー:データベース接続を処理し、ツールを提供する
- Streamlitフロントエンドインターフェイス:ユーザーがシステムとやり取りするインターフェイス
- Vertex AI(Gemini Pro):自然言語理解機能を提供する
- BigQuery:データ上でSQLクエリを実行する
📝 MCP ツール
以下のMCPツールを使用できます。
execute_nl_query:自然言語クエリを実行するexecute_sql_query:生のSQLクエリを実行するlist_tables:利用可能なすべてのテーブルをリストするget_table_schema:特定のテーブルのスキーマを取得する
📚 高度な使用法
MCPサーバーにカスタムツールを追加するには、以下の手順を実行します。
sql_mcp_server.pyのregister_tools()メソッドを編集します。@self.tool()デコレータを使用してカスタムツールを追加します。- サーバーを再起動します。
🤝 貢献
貢献を歓迎します!自由にプルリクエストを送信してください。

Gmail MCP Server
Claude Desktop用に設計されたGmail自動認証MCPサーバーで、自然言語でのやり取りによるGmailの管理をサポートし、メール送信、ラベル管理、一括操作などの完全な機能を備えています。
TypeScript
12.5K
4.5ポイント

Edgeone Pages MCP Server
EdgeOne Pages MCPは、MCPプロトコルを通じてHTMLコンテンツをEdgeOne Pagesに迅速にデプロイし、公開URLを取得するサービスです。
TypeScript
16.5K
4.8ポイント

Context7
Context7 MCPは、AIプログラミングアシスタントにリアルタイムのバージョン固有のドキュメントとコード例を提供するサービスで、Model Context Protocolを通じてプロンプトに直接統合され、LLMが古い情報を使用する問題を解決します。
TypeScript
45.8K
4.7ポイント

Baidu Map
認証済み
百度マップMCPサーバーは国内初のMCPプロトコルに対応した地図サービスで、地理コーディング、ルート計画など10個の標準化されたAPIインターフェースを提供し、PythonとTypescriptでの迅速な接続をサポートし、エージェントに地図関連の機能を実現させます。
Python
25.0K
4.5ポイント

Gitlab MCP Server
認証済み
GitLab MCPサーバーは、Model Context Protocolに基づくプロジェクトで、GitLabアカウントとのやり取りに必要な包括的なツールセットを提供します。コードレビュー、マージリクエスト管理、CI/CD設定などの機能が含まれます。
TypeScript
12.4K
4.3ポイント

Unity
認証済み
UnityMCPはUnityエディターのプラグインで、モデルコンテキストプロトコル (MCP) を実装し、UnityとAIアシスタントのシームレスな統合を提供します。リアルタイムの状態監視、リモートコマンドの実行、ログ機能が含まれます。
C#
15.1K
5ポイント

Magic MCP
Magic Component Platform (MCP) はAI駆動のUIコンポーネント生成ツールで、自然言語での記述を通じて、開発者が迅速に現代的なUIコンポーネントを作成するのを支援し、複数のIDEとの統合をサポートします。
JavaScript
15.7K
5ポイント

Sequential Thinking MCP Server
MCPプロトコルに基づく構造化思考サーバーで、思考段階を定義することで複雑な問題を分解し要約を生成するのに役立ちます。
Python
21.1K
4.5ポイント

