MCP Host Client Server SSE について
MCPのホスト、クライアント、サーバー構成を示す自然言語SQLクエリのサンプルです。MCPとデータベース連携を学ぶ開発者向けで、SSE経由でSQLiteに接続し、OpenAIで自然言語をSQLに変換します。
主な機能
- 01自然言語からSQLへの変換
- 02MCPホスト・クライアント・サーバーの例
- 03SSE通信
- 04SQLiteデータベース連携
- 05OpenAI/DeepSeek API連携
活用シーン
- 01自然言語でのSQLiteデータ検索
- 02ユーザーと注文情報の確認
- 03ユーザー別購入額の集計
MCP 対応
MCPホスト、クライアント、サーバー間の通信を示します。MCPサーバーはSSEでリクエストを受け取り、SQLiteを検索します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP Host Client Server SSE
MCP(Model Context Protocol)プロトコルに基づいて実装された自然言語によるSQLデータベースクエリシステムです。LLMを通じて自然言語をSQLクエリに変換できます。このプロジェクトでは、MCPプロトコルを使用してサーバー・クライアントアーキテクチャを構築し、OpenAIを統合してスマートなクエリ機能を実現する方法を紹介します。
機能
- 🚀 MCPプロトコルに基づくサーバー・クライアントアーキテクチャ
- 📝 自然言語からSQLクエリへの変換に対応
- 🔄 SSE(Server-Sent Events)によるリアルタイム通信
- 📊 SQLiteデータベースとの統合
- 🤖 OpenAI/DeepSeekインターフェースとの統合
- 📝 完全なログ記録システム
- ⚡ 非同期操作に対応
システムアーキテクチャ
graph TD
A[用户] -->|自然语言问题| B[MCP Host]
B -->|API调用| C[OpenAI]
C -->|SQL查询| B
B -->|MCP请求| D[MCP Server]
D -->|查询| E[SQLite DB]
E -->|结果| D
D -->|SSE响应| B
B -->|自然语言解释| A
クイックスタート
前提条件
- Python 3.8+
- pipパッケージマネージャー
- OpenAI APIキー
インストール手順
- リポジトリをクローンします:
git clone https://github.com/HanShan006/MCP_Host_Client_Server_SSE.git
cd MCP_Host_Client_Server_SSE
- 依存関係をインストールします:
pip install openai mcp-framework starlette uvicorn
- APIキーを設定します: config.iniファイルを作成し、以下の内容を追加します:
[secrets]
API_KEY=your_api_key_here
- サンプルデータベースを作成します:
python create_database.py
サービスの実行
- MCPサーバーを起動します:
python mcp_server.py
- クライアントアプリケーションを実行します:
python mcp_host.py
データベース構造
usersテーブル
| フィールド | 型 | 説明 |
|---|---|---|
| id | INTEGER | ユーザーID(主キー) |
| name | TEXT | ユーザー名 |
| age | INTEGER | 年齢 |
| TEXT | メールアドレス |
ordersテーブル
| フィールド | 型 | 説明 |
|---|---|---|
| id | INTEGER | 注文ID(主キー) |
| user_id | INTEGER | ユーザーID(外部キー) |
| product_name | TEXT | 商品名 |
| price | REAL | 価格 |
| order_date | TEXT | 注文日 |
クエリの例
システムは、次のようなさまざまな自然言語クエリに対応しています。
- 「すべてのユーザー情報を検索」
- 「張三のすべての注文を表示」
- 「ユーザーごとの合計消費額を集計」
- 「注文金額が5000元を超えるユーザー情報を検索」
プロジェクト構成
MCP_Host_Client_Server_SSE/
├── mcp_server.py # MCP服务器实现
├── mcp_client.py # MCP客户端实现
├── mcp_host.py # 主机程序(集成OpenAI)
├── create_database.py # 数据库初始化脚本
├── database.db # SQLite数据库文件
├── config.ini # 配置文件
└── README.md # 项目文档
技術スタック
- Python 3.8+
- MCP Framework
- SQLite
- OpenAI API
- Starlette
- Server-Sent Events (SSE)
- Async/Await
バージョン履歴
v1.0.0 (2025-05-07)
- ✨ 初版をリリース
- 🎉 基本的なMCPサーバー機能を実装
- 🎉 クライアント通信モジュールを完成
- 🎉 OpenAIによる自然言語処理を統合
- 🎉 SQLiteデータベースに対応
- 📝 プロジェクトドキュメントを整備
貢献者
- プログラマー寒山 (@HanShan006)
オープンソースライセンス
本プロジェクトはMITライセンスでオープンソースとして公開されています。詳細についてはLICENSEファイルをご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。