MySQLクエリMCPサーバー
AIアシスタント向けに読み取り専用のMySQLデータベースクエリを提供するモデルコンテキストプロトコル(MCP)サーバー。AI搭載ツールから直接クエリを実行し、データベース構造を探索し、データを調査できます。
サポートされているAIツール
この MCP サーバーは、次のようなモデル コンテキスト プロトコルをサポートする任意のツールで動作します。
カーソルIDE :
.cursor/mcp.jsonで設定アントロピック・クロード:互換性のあるMCPクライアントで使用
その他のMCP対応AIアシスタント: ツールのMCP設定手順に従ってください
Related MCP server: MCP MySQL Server
機能と制限
何をするのか
✅読み取り専用のMySQL クエリを実行する (SELECT、SHOW、DESCRIBE のみ)
✅ 定義済みの環境(ローカル、開発、ステージング、本番)で作業する
✅ データベース情報とメタデータを提供する
✅ 利用可能なデータベース環境を一覧表示する
✅ 安全なデータベースアクセスのための SSL 接続をサポート
✅ 長時間実行される操作を防ぐためにクエリタイムアウトを実装する
できないこと
❌ 書き込み操作 (INSERT、UPDATE、DELETE、CREATE、ALTER など) を実行する
❌ カスタム環境名をサポート(ローカル、開発、ステージング、本番環境に限定)
❌ データベース設計またはスキーマ生成機能を提供する
❌ 完全なデータベース管理ツールとして機能する
このツールは、読み取り専用クエリによるデータの調査と探索を目的として特別に設計されています。データベース管理、スキーマ管理、データ変更を目的としたものではありません。

クイックインストール
セットアップ手順
MCP サーバーを使用するように AI ツールを構成する
MCP 構成ファイル (例: Cursor IDE の場合は.cursor/mcp.json ) を作成または編集します。
基本構成:
データベース資格情報を使用した包括的な構成:
適切な構成アプローチの選択
MySQL MCP サーバーを構成するには、次の 2 つの方法があります。
バイナリ設定(
type: "bin"、bin: "mysql-query-mcp")使用する場合: パッケージをグローバルにインストールした場合 (
npm install -g mysql-query-mcp-server)利点: よりシンプルな構成
短所: グローバルインストールが必要
コマンド設定(
command: "npx"、args: ["mysql-query-mcp-server@latest"])使用する場合: グローバルにインストールせずに最新バージョンを使用したい場合
利点: グローバルインストールは不要、すべての構成が 1 つのファイルにまとめられる
短所: より複雑な構成
ワークフローに最適なアプローチを選択してください。どちらの方法も、MCPをサポートするAIアシスタントであれば正常に動作します。
重要な設定に関する注意事項
完全な環境名を使用する必要があります: LOCAL_、DEVELOPMENT_、STAGING_、PRODUCTION_
DEV_やPROD_のような略語は機能しません
DEBUG、MCP_MYSQL_SSLなどのグローバル設定はすべての環境に適用されます。
少なくとも1つの環境(通常は「ローカル」)を構成する必要があります
使用する予定の環境を設定するだけで済みます
セキュリティ上の理由から、本番環境の認証情報には環境変数または安全な認証情報ストレージの使用を検討してください。
設定オプション
環境変数 | 説明 | デフォルト |
デバッグ | デバッグログを有効にする | 間違い |
[ENV]_DB_HOST | 環境のデータベースホスト | - |
[ENV]_DB_USER | データベースユーザー名 | - |
[ENV]_DB_PASS | データベースパスワード | - |
[ENV]_DB_NAME | データベース名 | - |
[ENV]_DB_ポート | データベースポート | 3306 |
[ENV]_DB_SSL | SSL接続を有効にする | 間違い |
MCP_MYSQL_SSL | すべての接続でSSLを有効にする | 間違い |
MCP_MYSQL_REJECT_UNAUTHORIZED | SSL証明書を検証する | 真実 |
AIアシスタントとの統合
AIアシスタントはMCPサーバーを介してMySQLデータベースと連携できます。以下に例をいくつか示します。
クエリの例:
MySQL MCPツールの使用
MySQL Query MCP サーバーは、AI アシスタントが使用できる 3 つの主要なツールを提供します。
1. クエリ
特定の環境に対して読み取り専用の SQL クエリを実行します。
2. 情報
データベースに関する詳細情報を取得します。
3. 環境
構成から構成されたすべての環境を一覧表示します。
利用可能なツール
MySQL Query MCP サーバーは、次の 3 つの主要なツールを提供します。
1. クエリ
読み取り専用 SQL クエリを実行します。
サポートされているクエリタイプ(厳密に限定) :
SELECT文
SHOWコマンド
DESCRIBE/DESC テーブル
2. 情報
データベースに関する詳細情報を取得します。
サーバーバージョン
接続ステータス
データベース変数
プロセスリスト
利用可能なデータベース
3. 環境
構成から構成されたすべての環境を一覧表示します。
セキュリティに関する考慮事項
✅ 読み取り専用クエリのみが許可されます (SELECT、SHOW、DESCRIBE)
✅ 各環境には独自の分離された接続プールがあります
✅ SSL接続は本番環境でサポートされています
✅ クエリタイムアウトにより暴走操作を防止
⚠️ データベースの資格情報には安全な資格情報管理の使用を検討してください
トラブルシューティング
接続の問題
接続に問題がある場合:
MCP構成でデータベースの資格情報を確認します
MySQLサーバーが稼働しておりアクセス可能であることを確認する
接続をブロックするファイアウォールルールを確認する
設定でDEBUG=trueを設定してデバッグモードを有効にします。
よくあるエラー
エラー: 環境で利用できる接続プールがありません
その環境に必要な環境変数がすべて定義されていることを確認してください
サポートされている環境名(ローカル、開発、ステージング、本番)のいずれかを使用していることを確認してください。
エラー: クエリの実行に失敗しました
SQL構文を確認する
サポートされているクエリタイプ(SELECT、SHOW、DESCRIBE)のみを使用していることを確認してください
クエリが本当に読み取り専用であることを確認する
より包括的なトラブルシューティングについては、 「トラブルシューティング ガイド」を参照してください。
AI アシスタントとの統合方法の例については、「統合例」を参照してください。
MCP プロトコルの実装の詳細については、 MCP README を参照してください。
貢献
貢献を歓迎します!お気軽にプルリクエストを送信してください。
CI/CDとリリースプロセス
このプロジェクトでは、継続的インテグレーションと自動リリースに GitHub Actions を使用します。
CI/CDワークフロー
CI/CD パイプラインは次の要素で構成されます。
ビルドとテスト:
mainとdevelopブランチへのプッシュごとに、またこれらのブランチへのプルリクエストごとに実行されます。Node.js 16.x および 18.x でコードベースをテストします
パッケージが正しくビルドされることを保証する
すべてのテストが合格したことを検証する
リリース: 変更が
mainブランチにプッシュされ、ビルド/テストジョブが成功したときに実行されます。バージョンアップや変更ログの更新を管理するには
release-pleaseを使用します従来のコミットに基づいてバージョン変更を含むリリース PR を作成します。
リリース PR がマージされると自動的に npm に公開されます
リリースプロセス
このプロジェクトはセマンティック バージョニングに従います。
メジャーバージョン: 重大な変更 (下位互換性なし)
マイナーバージョン: 新機能 (下位互換性あり)
パッチバージョン: バグ修正とマイナーな改善
コミットはConventional Commits形式に従う必要があります。
feat: add new feature- マイナーバージョンアップfix: resolve bug- パッチバージョンのアップグレードdocs: update documentation- バージョンアップなしchore: update dependencies- バージョンアップなしBREAKING CHANGE: change API- メジャーバージョンのアップグレード
mainにプッシュすると、 release-pleaseコミットを分析し、適切なバージョンのバンプと変更ログエントリを含むリリース PR を自動的に作成または更新します。
ライセンス
このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細についてはLICENSEファイルを参照してください。
著者
Abou Koné - エンジニアリングリーダー兼CTO
詳細情報やサポートが必要な場合は、GitHub リポジトリで問題を報告してください。