mysql-mcp-server
0. 実行
Dockerで実行する
必要に応じてデータベース接続情報を変更します。
Docker Composeで実行する
事前に設定されたセットアップで続行されます。
Pythonで直接実行する
カーソルの設定
MCP 機能は、Cursor バージョン 0.46 以降で利用できます。
さらに、MCP 機能は Cursor Pro アカウント ユーザーのみがアクセスできます。
ツール追加のヒント
- ツールの追加
execute
関数は実際のロジック実行 (サービス層) を実装します。@tool
デコレータは、ツールを MCP (コントローラー レイヤー) に登録するのに役立ちます。
- 説明
mysql_mcp_server/executors
下の各ファイルは、単一のツールを表します。- 新しいツールが追加された場合は、
mysql_mcp_server/executors/__init__.py
にインポートし、__all__
配列に含める必要があります。 - これにより、モジュールが
TOOLS_DEFINITION
変数に自動的に登録されます。
🚧 開発ロードマップ 🚧
- ⚙️ パラメータオプション
- [ ] 🔧 ツールごとの有効/無効スイッチ:入力コンテキストのコストを削減する機能を提供する 💰
- [ ] 🔒 クエリセキュリティレベルの設定: DROP、DELETE、UPDATE など、資産価値を損なう可能性のある機能に対するオプションの制御を提供します🚫
- ✨ 特徴
- [x] 📊 データ分析レポート生成: ユーザーの要求に応じてさまざまなチャートを適切に選択できるようにモデルに最適化されたレポート生成機能を提供します 📈
- [x] 📝 規定フォームのレポート機能
- [ ] 🖌️ レポートテンプレートの多様化
- [ ] 🗄️ 拡張された Text2SQL サポート
- [ ] 🌐 SSH接続サポート: 高度な操作のためにSSH経由の安全なリモートアクセスを有効にします🔑
- [ ] 📥 ファイル抽出機能
- [ ] 📄 CSV
- [ ] 📑 JSON
- [ ] 📉 エクセル
- [x] 📊 データ分析レポート生成: ユーザーの要求に応じてさまざまなチャートを適切に選択できるようにモデルに最適化されたレポート生成機能を提供します 📈
1. 概要
MCP MySQL Serverは、MCP(Model Context Protocol)に基づいたMySQLデータベース操作用のサーバーアプリケーションです。このサーバーは、AIモデルがMySQLデータベースと連携するためのツールを提供します。
2. システム構成
2.1 主要コンポーネント
- MCPサーバー: AIモデルと通信するFastMCPサーバー
- MySQLデータベース:データを管理および保存します
- ツール: データベース操作を実行するエグゼキュータ
2.2 技術スタック
- 言語: Python
- データベース: MySQL 8.0
- 主要ライブラリ:
- mcp: AI通信のためのモデルコンテキストプロトコルを実装
- PyMySQL: MySQLに接続してクエリを実行する
- pandas: データを処理および分析する
- python-dotenv: 環境変数を管理する
- fire: コマンドラインインターフェースを実装する
2.3 デプロイメント環境
- Docker と Docker Compose によるコンテナ化されたデプロイメント
- ポート: 8081 (MCP サーバー)、3306 (MySQL)
3. ディレクトリ構造
4. 建築設計
4.1 階層構造
- インターフェース層: MCP サーバー (FastMCP)
- ビジネスロジック層: ハンドラーとエグゼキューター
- データ アクセス層: データベース接続とクエリ実行
4.2 主要なクラスとモジュール
- MySQLMCPServer : MCPサーバーを初期化して実行するメインサーバークラス
- DatabaseManager : シングルトンパターンベースのデータベース接続マネージャー
- Executors : データベース操作用のツールのコレクション
- execute_create_table: テーブルを作成する
- execute_desc_table: テーブルスキーマをチェックする
- execute_explain: クエリ実行プランを提供する
- execute_insert_query: INSETRクエリを実行する
- execute_select_query: SELECTクエリを実行する
- execute_show_tables: テーブルリストを取得します
4.3 通信フロー
- AI モデルは、MCP サーバーから利用可能なツールのリストを要求します。
- サーバーは利用可能なツールのリストを返します。
- AI モデルは特定のツールの実行を要求します。
- サーバーは対応するエグゼキュータを呼び出してデータベース操作を実行します。
- 実行結果は AI モデルに返されます。
5. スケーラビリティとメンテナンス
- ツールの追加:
executors
ディレクトリに新しいツールを実装し、__init__.py
に登録します。 - 環境構成:
.env
ファイルを介して環境変数を管理します。 - ログ記録:
logger_helper
を使用して一貫したログ記録を確保します。
6. 展開と実行
6.1 ローカル実行
6.2 Dockerのデプロイメント
7. セキュリティに関する考慮事項
- 環境変数を介してデータベース資格情報を管理します。
- 実稼働環境では強力なパスワードを使用します。
- 必要に応じて、データベース接続に SSL/TLS 暗号化を実装することを検討してください。
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
AI モデルがモデル制御プロトコルを介して MySQL データベースと対話できるようにし、テーブル作成、スキーマ検査、クエリ実行、データ取得のためのツールを提供するサーバー。
Related Resources
Related MCP Servers
- AsecurityAlicenseAqualityThis server enables AI models to interact with MySQL databases through a standardized interface.Last updated -564661JavaScriptMIT License
- AsecurityFlicenseAqualityEnables AI models to perform MySQL database operations through a standardized interface, supporting secure connections, query execution, and comprehensive schema management.Last updated -73522JavaScript
- -security-license-qualityA Model Context Protocol server that enables AI models to interact with MySQL databases, providing tools for querying, executing statements, listing tables, and describing table structures.Last updated -MIT License
- -security-license-qualityA Model Context Protocol server that enables AI models to interact with MySQL databases through a standardized interface, providing tools for querying, executing commands, and managing database schemas.Last updated -JavaScript