MySQL MCP Server について
MySQL MCP Serverは、AIアシスタント向けのJava製MCPサーバーです。Python実装を移植し、制御されたインターフェースでMySQLのテーブル確認、データ読み取り、SQL実行を行えます。
主な機能
- 01MySQLテーブルをリソースとして一覧表示
- 02テーブル内容の読み取り
- 03エラー処理付きSQL実行
- 04環境変数によるDBアクセス設定
- 05操作ログの記録
活用シーン
- 01利用可能なDBテーブルの確認
- 02分析用のテーブルデータ読み取り
- 03SQLによるデータベース検索
MCP 対応
MCPクライアントにMySQLテーブルのリソース、テーブル内容の読み取り、SQL実行機能を提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
このプロジェクトは、Python のコードベースを Java に変換したものです。 元のコードベースは design-computer/mysql_mcp_server にあります。 元の Python 実装のコア機能とロジックを保持しており、Java ベースの環境にシームレスに統合できます。
このプロジェクトは、MCP(Model Context Protocol)の概念を学ぶための演習として作成されました。
プロジェクトをさらに改善するための提案、コードの貢献、コミュニティからのあらゆる支援を歓迎します。
io.modelcontextprotocol.sdk:mcp-bom のバージョン 0.7 とバージョン 0.8 のコードの差分を確認するには、
以前のコミット と 対応するコミット を比較してください。
MySQL MCP Server
MySQL データベースとの安全なやり取りを可能にする Model Context Protocol(MCP)サーバーです。このサーバーを使うと、AI アシスタントは制御されたインターフェースを通じてテーブルの一覧表示、データの読み取り、SQL クエリの実行ができます。これにより、データベースの調査と分析をより安全かつ体系的に行えます。
機能
- 利用可能な MySQL テーブルをリソースとして一覧表示
- テーブルの内容を読み取り
- 適切なエラー処理を伴う SQL クエリの実行
- 環境変数を使用した安全なデータベースアクセス
- 包括的なログ記録
インストール
pip install mysql-mcp-server
設定
以下の環境変数を設定します。
MYSQL_HOST=localhost # Database host
MYSQL_PORT=3306 # Optional: Database port (defaults to 3306 if not specified)
MYSQL_USER=your_username
MYSQL_PASSWORD=your_password
MYSQL_DATABASE=your_database
使用方法
Claude Desktop での使用
claude_desktop_config.json に以下を追加します。
{
"mcpServers": {
"mysql": {
"command": "uv",
"args": [
"--directory",
"path/to/mysql_mcp_server",
"run",
"mysql_mcp_server"
],
"env": {
"MYSQL_HOST": "localhost",
"MYSQL_PORT": "3306",
"MYSQL_USER": "your_username",
"MYSQL_PASSWORD": "your_password",
"MYSQL_DATABASE": "your_database"
}
}
}
}
スタンドアロンのサーバーとして

- データベースの設定を行います
- Main Application を実行します
セキュリティに関する考慮事項
- 環境変数や認証情報をコミットしないでください
- 必要最小限の権限を持つデータベースユーザーを使用してください
- 本番環境では、クエリのホワイトリスト化を検討してください
- すべてのデータベース操作を監視し、ログに記録してください
セキュリティのベストプラクティス
この MCP サーバーが機能するには、データベースへのアクセスが必要です。セキュリティを確保するため、以下を実施してください。
- 必要最小限の権限を持つ専用の MySQL ユーザーを作成します
- root の認証情報や管理者アカウントは使用しないでください
- データベースへのアクセスを必要な操作のみに制限します
- 監査目的でログ記録を有効にします
- データベースアクセスを定期的にセキュリティレビューします
詳しい手順については、MySQL Security Configuration Guide を参照してください。
- 制限付き MySQL ユーザーの作成
- 適切な権限の設定
- データベースアクセスの監視
- セキュリティのベストプラクティス
⚠️ 重要:データベースアクセスを設定する際は、常に最小権限の原則に従ってください。
ライセンス
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 つのサーバーを複数のクライアントで再利用できます。