mcpField
M
MySQL MCP Server

MySQL MCP Server

ローカル
github.com/kaulvimalデータベース428 週間前に更新

MySQL MCP Server について

MySQL MCP Serverは、MCPクライアントにMySQLとPostgreSQLのスキーマ確認およびクエリへの読み取り専用アクセスを提供します。メタデータ、スキーマの関係、クエリプラン、スキーマ図を扱うツールを備えています。

主な機能

  1. 01スキーマ、インデックス、制約の確認
  2. 02スキーマ比較と関係の検出
  3. 03読み取り専用SQLクエリの実行
  4. 04パラメーター付きステートメントの準備
  5. 05クエリ実行計画の確認
  6. 06JSON、DOT、Mermaid形式でのスキーマ図出力

活用シーン

  1. 01クエリ前のデータベース構造の確認
  2. 02テーブル間の関係の調査
  3. 03読み取り専用クエリ計画の確認
  4. 04スキーマ図の生成

MCP 対応

MCPクライアントに、MySQLとPostgreSQLの読み取り専用データベース確認・クエリツールを提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

MySQL & PostgreSQL MCP サーバー

概要

このプロジェクトは、MySQL および PostgreSQL データベースと連携するための読み取り専用 Model Context Protocol(MCP)サーバーを提供します。MCP に対応したクライアントを使用して、定義済みのツールを通じてデータベーススキーマを調査し、メタデータを取得し、読み取り専用 SQL クエリを実行できます。このサーバーは拡張性を考慮して構築されており、安全性のために読み取り専用操作を強制します。

機能と実装済みツール

このサーバーは、データベースとの連携に使用する複数のツールを MCP 経由で公開します。すべてのツールは読み取り専用操作向けに設計されています。

スキーマとメタデータのツール
  • get_table_columns:指定したテーブルの列定義を取得します。
  • get_schema:詳細レベルに応じて、テーブル、列、インデックス、制約を含む詳細なスキーマ情報を取得します。
  • get_indexes:指定したテーブルまたはすべてのテーブルのインデックス情報を取得します。
  • get_constraints:指定したテーブルまたはすべてのテーブルの制約情報(主キー、外部キー、一意制約、チェック制約)を取得します。
  • compare_schemas:2つの異なるデータベーススキーマの構造(テーブルと列)を比較します。
  • explain_schema:データベーススキーマのテキスト形式または構造化形式(JSON)の説明を生成します。
  • detect_schema_changes:現在のスキーマのスナップショットを返します。(注:特定の過去の時点との比較は行いません)。
  • find_relationships:明示的な外部キーの関係を検出します。必要に応じて、命名規則に基づく暗黙的な関係の検出も試みます(使用には注意してください)。
  • find_navigation_paths:明示的な外部キーの関係を使用して、2つのテーブル間のパスを検出します(BFS アルゴリズム)。
クエリ実行ツール
  • execute_query:指定した読み取り専用 SQL クエリ(SELECT、SHOW、DESCRIBE、EXPLAIN)を実行します。
  • execute_batch:複数の読み取り専用 SQL クエリを順番に実行します。最初のエラーで停止することも、すべてのクエリの実行を試みることもできます。
  • prepare_statement:パラメーターを指定して、読み取り専用 SQL ステートメントを準備・実行します。
  • explain_query:指定した SQL ステートメントに対して EXPLAIN を実行し、クエリ実行計画を表示します(TEXT または JSON 形式)。
  • get_query_history:プレースホルダーツールです。サーバー側のクエリ履歴は現在実装されていません。
可視化ツール
  • visualize_schema:ER 図の作成に適した、スキーマの表現(テーブル、列、関係)を JSON、DOT(Graphviz)、または Mermaid 構文で生成します。
パフォーマンスツール
  • get_performance_metrics:MySQL の選択したグローバルステータス変数(例:稼働時間、スレッド数、クエリ数)を取得します。クエリ固有の履歴は提供しません。

セットアップとインストール

  1. 前提条件:

    • Node.js
    • npm
    • MySQL または PostgreSQL データベースへのアクセス
  2. リポジトリをクローンする:

    git clone https://github.com/kaulvimal/mysql-mcp
    cd mysql-mcp
    
  3. 依存関係をインストールする:

    npm install
    
  4. プロジェクトをビルドする:

    npm run build
    

    これにより、コンパイル済みコードを含む build ディレクトリが作成されます。

  5. サーバーを使用する

  • プロジェクトのルート、または使いやすい場所にシェルスクリプト(例:mysql-mcp.sh)を作成します。

    #!/bin/bash
    # 環境変数を設定(.envを使用しない場合、または上書きする場合)
    export MYSQL_HOST=""
    export MYSQL_USER=""
    export MYSQL_PASSWORD=""
    export MYSQL_PORT=""
    
    export PG_HOST=""
    export PG_USER=""
    export PG_PASSWORD=""
    export PG_PORT=""
    export PG_DATABASE=""
    node $(dirname "$0")/build/index.js
    
  • スクリプトを実行可能にします:

    chmod +x mysql-mcp.sh
    
  • 統合例(Cursor)

    このサーバーを Cursor と統合するには、サーバーの実行スクリプトを起動するようにクライアントを設定します。

    {
    "mcpServers": {
    	"mysql-mcp": {
    	"command": "/path/to/your/mysql-mcp.sh" // スクリプトの実際のパスに置き換えてください
    	}
    }
    }
    

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。