MySQLクエリMCPサーバー
AIアシスタント向けに読み取り専用のMySQLデータベースクエリを提供するモデルコンテキストプロトコル(MCP)サーバー。AI搭載ツールから直接クエリを実行し、データベース構造を探索し、データを調査できます。
サポートされているAIツール
この MCP サーバーは、次のようなモデル コンテキスト プロトコルをサポートする任意のツールで動作します。
- カーソルIDE :
.cursor/mcp.json
で設定 - アントロピック・クロード:互換性のあるMCPクライアントで使用
- その他のMCP対応AIアシスタント: ツールのMCP設定手順に従ってください
機能と制限
何をするのか
- ✅読み取り専用の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 リポジトリで問題を報告してください。
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
AI アシスタントに読み取り専用の MySQL データベース クエリを提供するモデル コンテキスト プロトコル サーバー。これにより、AI アシスタントはクエリを実行し、データベース構造を探索し、AI 搭載ツールから直接データを調査できるようになります。
- サポートされているAIツール
- 機能と制限
- クイックインストール
- セットアップ手順
- 設定オプション
- AIアシスタントとの統合
- 利用可能なツール
- セキュリティに関する考慮事項
- トラブルシューティング
- 貢献
- CI/CDとリリースプロセス
- ライセンス
- 著者
Related Resources
Related MCP Servers
- -securityAlicense-qualityA Model Context Protocol (MCP) server that enables AI assistants to interact with MySQL databases by executing SQL queries and checking database connectivity.Last updated -TypeScriptMIT License
- -security-license-qualityA Model Context Protocol server that enables AI models to interact with MySQL databases, providing tools for querying, executing statements, listing tables, and describing table structures.Last updated -MIT License
- -security-license-qualityA Model Context Protocol server that enables AI models to interact with MySQL databases through a standardized interface, providing tools for querying, executing commands, and managing database schemas.Last updated -JavaScript
- -securityFlicense-qualityA Model Context Protocol server that enables AI models to interact with MySQL databases through natural language, supporting SQL queries, table creation, and schema exploration.Last updated -2Python