MySQL MCP Server について
MySQL MCP Serverは、MCPクライアントからMySQLデータベースに接続するサーバーです。SQLクエリと権限管理付きのデータ変更に対応し、環境変数で設定できます。
主な機能
- 01MySQLデータベースへの接続
- 02SELECT、SHOW、DESCRIBEクエリの実行
- 03INSERT、UPDATE、DELETEの実行
- 04操作ごとの書き込み権限設定
- 05環境変数による設定とファイルログ
活用シーン
- 01MCPクライアントからMySQLデータを検索
- 02許可した操作でクライアントからレコードを変更
MCP 対応
stdio経由でMCPクライアントと通信し、mysql_queryとmysql_executeツールを提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MySQL MCP サーバー
go-mcp を基盤とする MySQL データベース接続サーバーです。stdio 経由でのクライアントとの通信をサポートし、SQL クエリの実行やデータ操作を行えます。
機能
- MCP プロトコルを通じてクライアントと通信します
- MySQL データベースへの接続をサポートします
- クエリ操作(SELECT、SHOW、DESCRIBE)をサポートします
- データ操作(INSERT/UPDATE/DELETE)をサポートします
- 権限制御(INSERT、UPDATE、DELETE 操作を設定可能)に対応します
- 環境変数による柔軟な設定が可能です
- 詳細なログをファイルに出力するデバッグモードを備えています
インストール
方法 1:直接インストール(推奨)
Go の install コマンドを使用して、GitHub から直接インストールします。
go install github.com/blanplan-ai/ai2mysql-mcp-server/cmd/ai2mysql-mcp-server@latest
方法 2:手動ビルド
# Clone the repository
git clone https://github.com/blanplan-ai/ai2mysql-mcp-server.git
cd ai2mysql-mcp-server
# Build the server
go build -o ai2mysql-mcp-server ./cmd/ai2mysql-mcp-server
設定
サーバーは環境変数を使用して設定します。
環境変数
以下の環境変数を設定して、サーバーを構成できます。
| 環境変数 | 説明 | デフォルト値 |
|---|---|---|
MYSQL_HOST | MySQL ホストアドレス | 127.0.0.1 |
MYSQL_PORT | MySQL ポート番号 | 3306 |
MYSQL_USER | MySQL ユーザー名 | root |
MYSQL_PASS | MySQL パスワード | password |
DEFAULT_DATABASE | デフォルトのデータベース名 | test |
ALLOW_INSERT | INSERT 操作を許可するかどうか | false |
ALLOW_UPDATE | UPDATE 操作を許可するかどうか | false |
ALLOW_DELETE | DELETE 操作を許可するかどうか | false |
IS_DEV | 詳細なログを出力する開発モードを有効にする | false |
LOG_PATH | ログファイルのパス(開発モードでのみ有効) | /tmp/ai2mysql.log |
JSON 設定例
以下は、環境変数の設定に使用できる JSON 設定の例です。
{
"MYSQL_HOST": "127.0.0.1",
"MYSQL_PORT": "3306",
"MYSQL_USER": "root",
"MYSQL_PASS": "password",
"DEFAULT_DATABASE": "test",
"ALLOW_INSERT": "false",
"ALLOW_UPDATE": "false",
"ALLOW_DELETE": "false",
"IS_DEV": "false",
"LOG_PATH": "/tmp/ai2mysql.log"
}
設定に関する注意事項:
- すべてのブール型設定項目には、文字列の「true」または「false」を使用します
- 本番環境では、機密情報の漏えいを防ぐため、IS_DEV を無効にすることを推奨します
- 実際のニーズに応じて、INSERT/UPDATE/DELETE の権限を制限することを推奨します
- パスワードなどの機密情報は、環境変数を使用して設定してください
使用方法
サーバーの起動
インストール後、サーバーを実行します。
# Run with default settings
ai2mysql-mcp-server
# Run with environment variables
MYSQL_HOST=127.0.0.1 MYSQL_USER=root MYSQL_PASS=password ai2mysql-mcp-server
# Enable development mode
IS_DEV=true ai2mysql-mcp-server
開発モードを有効にすると、完全なリクエスト、レスポンス、エラー情報を含む詳細なログが、設定されたログファイル(デフォルト:/tmp/ai2mysql.log)に出力されます。
Cursor での使用
このサーバーは、Cursor など、MCP プロトコルをサポートするクライアントとの連携を想定して設計されています。
Cursor では、次の設定を使用して MySQL MCP サーバーを有効にできます。
{
"mcpServers": {
"mysql-mcp-server": {
"command": "ai2mysql-mcp-server",
"args": [],
"env": {
"MYSQL_HOST": "127.0.0.1",
"MYSQL_PORT": "3306",
"MYSQL_USER": "root",
"MYSQL_PASS": "password",
"DEFAULT_DATABASE": "test", // Default database, optional
"ALLOW_INSERT": "false", // Allow insert operations, optional
"ALLOW_UPDATE": "false", // Allow update operations, optional
"ALLOW_DELETE": "false", // Allow delete operations, optional
"IS_DEV": "false" // Enable development mode, optional
}
}
}
}
設定を追加すると、次のツールを使用できます。
-
mysql_query:SQL クエリ操作を実行します- パラメーター:
sql- SQL クエリ文(SELECT、SHOW、DESCRIBE)
- パラメーター:
-
mysql_execute:SQL データ操作を実行します- パラメーター:
sql- SQL データ操作文(INSERT/UPDATE/DELETE)
- パラメーター:
開発
プロジェクト構成
ai2mysql-mcp-server/
└── cmd/
└── ai2mysql-mcp-server/ # Server entry
└── main.go # Main program
依存関係
- go-sql-driver/mysql:MySQL ドライバー
- ThinkInAIXYZ/go-mcp:MCP プロトコルライブラリ
デバッグとトラブルシューティング
デバッグモード
環境変数 IS_DEV=true を設定して、デバッグモードを有効にします。
IS_DEV=true ai2mysql-mcp-server
デバッグモードでは、以下を含む詳細なログが指定されたログファイルに出力されます。
- 受信したすべてのリクエストと送信したレスポンス
- SQL クエリと実行に関する詳細情報
- エラーと例外の状況
- クエリの実行時間など、パフォーマンスに関する情報
よくある問題
Cursor で問題が発生した場合:
- ツールが表示されない:Cursor の設定ファイルに記載されているコマンドパスが正しいか確認し、実行ファイルが存在し、実行権限があることを確認してください
- 接続に失敗する:データベースの接続情報が正しいか確認し、デバッグモードを使用して詳細なエラーメッセージを確認してください
- 権限の問題:デフォルトではクエリ操作のみが許可されています。挿入/更新/削除の権限を有効にする必要があるか確認してください
ライセンス
MIT ライセンス
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。