MySQL Query MCP Server

by devakone
MIT License
40
1

Integrations

  • Enables read-only MySQL database queries for AI assistants, with support for SELECT, SHOW and DESCRIBE operations across multiple environments

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 など) を実行する
  • ❌ カスタム環境名をサポート(ローカル、開発、ステージング、本番環境に限定)
  • ❌ データベース設計またはスキーマ生成機能を提供する
  • ❌ 完全なデータベース管理ツールとして機能する

このツールは、読み取り専用クエリによるデータの調査と探索を目的として特別に設計されています。データベース管理、スキーマ管理、データ変更を目的としたものではありません。

クイックインストール

# Install globally with npm npm install -g mysql-query-mcp-server # Or run directly with npx npx mysql-query-mcp-server

セットアップ手順

MCP サーバーを使用するように AI ツールを構成する

MCP 構成ファイル (例: Cursor IDE の場合は.cursor/mcp.json ) を作成または編集します。

基本構成:

{ "mysql": { "name": "MySQL Query MCP", "description": "MySQL read-only query access through MCP", "type": "bin", "enabled": true, "bin": "mysql-query-mcp" } }

データベース資格情報を使用した包括的な構成:

{ "mysql": { "command": "npx", "args": ["mysql-query-mcp-server@latest"], "env": { "LOCAL_DB_HOST": "localhost", "LOCAL_DB_USER": "root", "LOCAL_DB_PASS": "<YOUR_LOCAL_DB_PASSWORD>", "LOCAL_DB_NAME": "your_database", "LOCAL_DB_PORT": "3306", "DEVELOPMENT_DB_HOST": "dev.example.com", "DEVELOPMENT_DB_USER": "<DEV_USER>", "DEVELOPMENT_DB_PASS": "<DEV_PASSWORD>", "DEVELOPMENT_DB_NAME": "your_database", "DEVELOPMENT_DB_PORT": "3306", "STAGING_DB_HOST": "staging.example.com", "STAGING_DB_USER": "<STAGING_USER>", "STAGING_DB_PASS": "<STAGING_PASSWORD>", "STAGING_DB_NAME": "your_database", "STAGING_DB_PORT": "3306", "PRODUCTION_DB_HOST": "prod.example.com", "PRODUCTION_DB_USER": "<PRODUCTION_USER>", "PRODUCTION_DB_PASS": "<PRODUCTION_PASSWORD>", "PRODUCTION_DB_NAME": "your_database", "PRODUCTION_DB_PORT": "3306", "DEBUG": "false", "MCP_MYSQL_SSL": "true", "MCP_MYSQL_REJECT_UNAUTHORIZED": "false" } } }

適切な構成アプローチの選択

MySQL MCP サーバーを構成するには、次の 2 つの方法があります。

  1. バイナリ設定( type: "bin"bin: "mysql-query-mcp" )
    • 使用する場合: パッケージをグローバルにインストールした場合 ( npm install -g mysql-query-mcp-server )
    • 利点: よりシンプルな構成
    • 短所: グローバルインストールが必要
  2. コマンド設定( 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_SSLSSL接続を有効にする間違い
MCP_MYSQL_SSLすべての接続でSSLを有効にする間違い
MCP_MYSQL_REJECT_UNAUTHORIZEDSSL証明書を検証する真実

AIアシスタントとの統合

AIアシスタントはMCPサーバーを介してMySQLデータベースと連携できます。以下に例をいくつか示します。

クエリの例:

Can you use the query tool to show me the first 10 users from the database? Use the local environment.
I need to analyze our sales data. Can you run a SQL query to get the total sales per region for last month from the development database?
Can you use the info tool to check what tables are available in the staging database?
Can you list all the available database environments we have configured?

MySQL MCPツールの使用

MySQL Query MCP サーバーは、AI アシスタントが使用できる 3 つの主要なツールを提供します。

1. クエリ

特定の環境に対して読み取り専用の SQL クエリを実行します。

Use the query tool to run: SELECT * FROM customers WHERE signup_date > '2023-01-01' LIMIT 10; on the development environment
2. 情報

データベースに関する詳細情報を取得します。

Use the info tool to check the status of our production database.
3. 環境

構成から構成されたすべての環境を一覧表示します。

Use the environments tool to show me which database environments are available.

利用可能なツール

MySQL Query MCP サーバーは、次の 3 つの主要なツールを提供します。

1. クエリ

読み取り専用 SQL クエリを実行します。

-- Example query to run with the query tool SELECT * FROM users LIMIT 10;

サポートされているクエリタイプ(厳密に限定)

  • SELECT文
  • SHOWコマンド
  • DESCRIBE/DESC テーブル

2. 情報

データベースに関する詳細情報を取得します。

  • サーバーバージョン
  • 接続ステータス
  • データベース変数
  • プロセスリスト
  • 利用可能なデータベース

3. 環境

構成から構成されたすべての環境を一覧表示します。

Use the environments tool to show me which database environments are available.

セキュリティに関する考慮事項

  • ✅ 読み取り専用クエリのみが許可されます (SELECT、SHOW、DESCRIBE)
  • ✅ 各環境には独自の分離された接続プールがあります
  • ✅ SSL接続は本番環境でサポートされています
  • ✅ クエリタイムアウトにより暴走操作を防止
  • ⚠️ データベースの資格情報には安全な資格情報管理の使用を検討してください

トラブルシューティング

接続の問題

接続に問題がある場合:

  1. MCP構成でデータベースの資格情報を確認します
  2. MySQLサーバーが稼働しておりアクセス可能であることを確認する
  3. 接続をブロックするファイアウォールルールを確認する
  4. 設定でDEBUG=trueを設定してデバッグモードを有効にします。

よくあるエラー

エラー: 環境で利用できる接続プールがありません

  • その環境に必要な環境変数がすべて定義されていることを確認してください
  • サポートされている環境名(ローカル、開発、ステージング、本番)のいずれかを使用していることを確認してください。

エラー: クエリの実行に失敗しました

  • SQL構文を確認する
  • サポートされているクエリタイプ(SELECT、SHOW、DESCRIBE)のみを使用していることを確認してください
  • クエリが本当に読み取り専用であることを確認する

より包括的なトラブルシューティングについては、 「トラブルシューティング ガイド」を参照してください。

AI アシスタントとの統合方法の例については、「統合例」を参照してください。

MCP プロトコルの実装の詳細については、 MCP README を参照してください。

貢献

貢献を歓迎します!お気軽にプルリクエストを送信してください。

CI/CDとリリースプロセス

このプロジェクトでは、継続的インテグレーションと自動リリースに GitHub Actions を使用します。

CI/CDワークフロー

CI/CD パイプラインは次の要素で構成されます。

  1. ビルドとテスト: maindevelopブランチへのプッシュごとに、またこれらのブランチへのプルリクエストごとに実行されます。
    • Node.js 16.x および 18.x でコードベースをテストします
    • パッケージが正しくビルドされることを保証する
    • すべてのテストが合格したことを検証する
  2. リリース: 変更が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 リポジトリで問題を報告してください。

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

AI アシスタントに読み取り専用の MySQL データベース クエリを提供するモデル コンテキスト プロトコル サーバー。これにより、AI アシスタントはクエリを実行し、データベース構造を探索し、AI 搭載ツールから直接データを調査できるようになります。

  1. Supported AI Tools
    1. Features & Limitations
      1. What It Does
      2. What It Doesn't Do
    2. Quick Install
      1. Setup Instructions
        1. Configure Your AI Tool to Use the MCP Server
        2. Choosing the Right Configuration Approach
        3. Important Configuration Notes
      2. Configuration Options
        1. Integration with AI Assistants
          1. Using MySQL MCP Tools
        2. Available Tools
          1. 1. query
          2. 2. info
          3. 3. environments
        3. Security Considerations
          1. Troubleshooting
            1. Connection Issues
            2. Common Errors
          2. Contributing
            1. CI/CD and Release Process
              1. CI/CD Workflow
              2. Release Process
            2. License
              1. Author

                Related MCP Servers

                • -
                  security
                  A
                  license
                  -
                  quality
                  A Model Context Protocol (MCP) server that enables AI assistants to interact with MySQL databases by executing SQL queries and checking database connectivity.
                  Last updated -
                  TypeScript
                  MIT License
                  • Apple
                  • Linux
                • -
                  security
                  -
                  license
                  -
                  quality
                  A 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
                  -
                  quality
                  A 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
                • -
                  security
                  F
                  license
                  -
                  quality
                  A 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 -
                  1
                  Python
                  • Linux
                  • Apple

                View all related MCP servers

                ID: 4kr6r7qj4s