MySQL MCP Server について
MySQL MCP Serverは、LLMやデータベース利用者に接続先MySQLデータベースへの読み取り専用アクセスを提供します。スキーマの自動検出と、読み取り専用トランザクションでのSQL実行を備えています。
主な機能
- 01読み取り専用SQLクエリの実行
- 02各テーブルのスキーマ自動検出
- 03列名とデータ型の提供
- 04データベースURLによる認証
活用シーン
- 01テーブルと列のデータ型を確認
- 02MCPクライアント経由で読み取り専用クエリを実行
MCP 対応
読み取り専用SQL用の`query`ツールと、スキーマ情報をリソースとしてMCPクライアントに提供します。データベースの認証情報は接続URLで渡します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MySQL MCP サーバー
MySQL データベースへの読み取り専用アクセスを提供する Model Context Protocol サーバーです。このサーバーを使用すると、LLM はデータベースのスキーマを調べ、読み取り専用クエリを実行できます。
認証
このサーバーは、データベース URL を通じた MySQL 認証に対応しています。URL の形式は次のとおりです。
mysql://username:password@host:port/database
例:
- DB:
mysql://user:pass@localhost:3306/mydb
注:認証情報は常に適切に保護し、公開設定で露出しないようにしてください。
コンポーネント
ツール
- query
- 接続先データベースに対して読み取り専用の SQL クエリを実行します
- 入力:
sql(文字列):実行する SQL クエリ - すべてのクエリは READ ONLY トランザクション内で実行されます
- 認証は指定された認証情報を使用して自動的に行われます
リソース
このサーバーは、データベース内の各テーブルのスキーマ情報を提供します。
- テーブルスキーマ(
mysql://<host>/<table>/schema)- 各テーブルの JSON スキーマ情報
- 列名とデータ型を含みます
- データベースのメタデータから自動的に検出されます
- 指定された認証情報を使用してアクセスを認証します
インストール
- リポジトリをクローンします:
git clone https://github.com/yourusername/mysql-mcp-server.git
cd mysql-mcp-server
- 依存関係を準備してインストールします:
npm run prepare
npm install
- グローバルリンクを作成します:
npm link
これで、ターミナルのどこからでも mysql-mcp-server コマンドを使用できます:
mysql-mcp-server mysql://user:password@localhost:3306/mydb
Cursor での使用方法
Cursor での MCP の設定
-
Cursor の設定を開きます:
- Cursor の左下隅にある歯車アイコン(⚙️)をクリックします
- または、macOS で
Shift + Cmd + Jを押します
-
MCP サーバーを設定します:
- 左側のサイドバーで「MCP」をクリックします
- 「Add Global MCP Server」をクリックします
- 次の設定を追加します:
{
"mcpServers": {
"mysql": {
"command": "mysql-mcp-server",
"args": ["mysql://user:password@localhost:3306/mydb"]
}
}
}
- 設定を保存します:
- 「Save」をクリックするか、
Cmd + Sを押します - 変更を反映するため、Cursor を再起動します
- 「Save」をクリックするか、
Cursor での使い方
Cursor でエージェントチャットを開き、DB に関する質問を始めると、必要なコンテキストがすべて利用できます。
セキュリティのベストプラクティス
-
機密性の高い認証情報には環境変数を使用します:
{ "mcpServers": { "mysql": { "command": "mysql-mcp-server", "args": ["mysql://${MYSQL_USER}:${MYSQL_PASSWORD}@host:3306/mydb"] } } } -
MySQL ユーザーに必要最小限の権限(読み取り専用アクセス)を設定します
-
強力なパスワードを使用し、セキュリティのベストプラクティスに従います
-
認証情報を含む設定ファイルをバージョン管理にコミットしないでください
ライセンス
この MCP サーバーは MIT ライセンスの下でライセンスされています。MIT ライセンスの利用規約に従うことを条件に、ソフトウェアを自由に使用、変更、配布できます。詳細については、プロジェクトリポジトリの LICENSE ファイルを参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。