MySQL MCP Server について
MySQL MCP Serverは、制御されたインターフェースを通じてAIアシスタントからMySQLを参照・検索できるサーバーです。テーブルをリソースとして扱い、環境変数で認証情報を設定します。
主な機能
- 01MySQLテーブルの一覧表示
- 02テーブル内容の読み取り
- 03SQLクエリの実行
- 04環境変数によるアクセス設定
- 05データベース操作のログ記録
活用シーン
- 01利用可能なテーブルの確認
- 02分析用データ行の読み取り
- 03AIアシスタントからのSQL実行
MCP 対応
MCPクライアントにMySQLテーブルのリソースと、データの読み取りおよびSQLクエリ実行機能を公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MySQL MCP サーバー
MySQL データベースとの安全なやり取りを可能にする、Model Context Protocol(MCP)サーバーです。このサーバーを使用すると、AI アシスタントは制御されたインターフェースを通じてテーブルの一覧表示、データの読み取り、SQL クエリの実行を行えるため、データベースの調査と分析をより安全かつ体系的に進められます。
機能
- 利用可能な MySQL テーブルをリソースとして一覧表示
- テーブルの内容を読み取り
- 適切なエラー処理を伴う SQL クエリの実行
- 環境変数を通じた安全なデータベースアクセス
- 包括的なログ記録
インストール
git clone https://github.com/he426100/mysql-mcp-server
cd mysql-mcp-server
composer install
設定
以下の環境変数を設定します。
DB_HOST=localhost # Database host
DB_PORT=3306 # Optional: Database port (defaults to 3306 if not specified)
DB_USERNAME=your_username
DB_PASSWORD=your_password
DB_DATABASE=your_database
使い方
スタンドアロンサーバーとして
# Install dependencies
composer install
# Run the server
php bin/console
docker
docker build -t mysql-mcp-server .
docker run -i --rm mysql-mcp-server --host 127.0.0.1
セキュリティに関する考慮事項
- 環境変数や認証情報をコミットしないでください
- 必要最小限の権限を持つデータベースユーザーを使用してください
- 本番環境では、クエリのホワイトリスト化を検討してください
- すべてのデータベース操作を監視し、ログに記録してください
セキュリティのベストプラクティス
この MCP サーバーが機能するには、データベースへのアクセスが必要です。セキュリティを確保するため、以下を実施してください。
- 必要最小限の権限を持つ専用の MySQL ユーザーを作成する
- root の認証情報や管理者アカウントは決して使用しない
- データベースへのアクセスを必要な操作のみに制限する
- 監査のためにログ記録を有効にする
- データベースアクセスのセキュリティを定期的に確認する
詳しい手順については、MySQL セキュリティ設定ガイドを参照してください。
- 制限付き MySQL ユーザーの作成
- 適切な権限の設定
- データベースアクセスの監視
- セキュリティのベストプラクティス
⚠️ IMPORTANT: データベースアクセスを設定する際は、常に最小権限の原則に従ってください。
クレジット
ライセンス
MIT License - 詳細については LICENSE ファイルを参照してください。
貢献
- リポジトリをフォークします
- フィーチャーブランチを作成します(
git checkout -b feature/amazing-feature) - 変更をコミットします(
git commit -m 'Add some amazing feature') - ブランチにプッシュします(
git push origin feature/amazing-feature) - Pull Request を作成します
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。