mcpField
M
MCP Server for MySQL based on NodeJS

MCP Server for MySQL based on NodeJS

ローカル
github.com/benborlaデータベース2.2k13 週間前に更新

MCP Server for MySQL based on NodeJS について

MCP Server for MySQL は Node.js で実装された MCP サーバーで、Claude などの LLM に MySQL データベースへの読み取り専用アクセスを提供し、スキーマの確認やクエリの実行を可能にします。書き込み操作はデフォルトで無効であり、環境変数で明示的に有効化する必要があります。

主な機能

  1. 01デフォルトで読み取り専用
  2. 02INSERT、UPDATE、DELETE を個別に有効化
  3. 03リモートデータベース向けの SSH トンネル対応
  4. 04再接続なしで複数データベースを扱うモード
  5. 05データベースごとの読み書き権限設定
  6. 06クエリ結果における PII の自動マスキング

活用シーン

  1. 01読み取り専用モードで LLM から業務データを照会する
  2. 02Claude Code からテーブル構造を確認する
  3. 03SSH トンネル経由でリモートの MySQL インスタンスに接続する

MCP 対応

MCP サーバーとして、SQL の実行とテーブルメタデータの一覧取得のために mysql_query ツールと mysql://tables リソースを MCP クライアントに公開します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"mysql": {
"command": "npx",
"args": [
"-y",
"@benborla29/mcp-server-mysql"
],
"env": {
"MYSQL_HOST": "<MYSQL_HOST>",
"MYSQL_PORT": "<MYSQL_PORT>",
"MYSQL_USER": "<MYSQL_USER>",
"MYSQL_PASS": "<MYSQL_PASS>",
"MYSQL_DB": "<MYSQL_DB>",
"ALLOW_INSERT_OPERATION": "<ALLOW_INSERT_OPERATION>",
"ALLOW_UPDATE_OPERATION": "<ALLOW_UPDATE_OPERATION>",
"ALLOW_DELETE_OPERATION": "<ALLOW_DELETE_OPERATION>"
}
}
}
}
起動コマンドnpx -y @benborla29/mcp-server-mysql
設定が必要な環境変数
MYSQL_HOST
MYSQL_PORT
MYSQL_USER
MYSQL_PASS
MYSQL_DB
ALLOW_INSERT_OPERATION
ALLOW_UPDATE_OPERATION
ALLOW_DELETE_OPERATION

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@benborla29/mcp-server-mysql

ツール

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

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

詳細

MySQL 用 MCP サーバー

MCP Toplist

Trust Score

スポンサー — Bloome

Bloome

mcp-server-mysql を使って AI に MySQL のクエリを実行させていますか?Bloome を使えば、チーム全体で利用できます。AI エージェントがチャットメンバーとなる、AI エージェント向けの IM プラットフォームです。MCP ツールを接続すれば、エージェントがスキーマを確認し、クエリを実行し、データに関する質問にスレッド内で全員に回答できます。ローカルでのセットアップは不要で、クラウド上で動作し、ウェブとモバイルから利用できます。


Claude やその他の LLM が MySQL にアクセスできるようにする MCP サーバーです。Model Context Protocol を通じて、スキーマの確認、クエリの実行、必要に応じたデータの書き込みができます。

主な機能

  • デフォルトで読み取り専用 — 書き込み操作は環境変数フラグで明示的に有効化
  • Claude Code との連携 — Anthropic の Claude Code CLI に最適化
  • SSH トンネルのサポート — リモートデータベースに標準対応
  • マルチ DB モード — 再接続せずに複数のデータベースにまたがってクエリを実行
  • スキーマごとの権限 — データベース単位で読み取り/書き込みを制御
  • PII のマスキング — 結果内の機密データを自動的にマスキング
  • リモートモード — ベアラートークン認証による HTTP トランスポート
  • SSL/TLS のサポート — mTLS オプション付きの暗号化接続

要件

  • Node.js v20+
  • MySQL 5.7+(8.0+ を推奨)
  • 適切な権限を持つ MySQL ユーザー

クイックインストール

Claude Code(最も簡単):

claude mcp add mcp_server_mysql \
  -e MYSQL_HOST="127.0.0.1" \
  -e MYSQL_PORT="3306" \
  -e MYSQL_USER="root" \
  -e MYSQL_PASS="your_password" \
  -e MYSQL_DB="your_database" \
  -- npx @benborla29/mcp-server-mysql

Claude Desktop/その他のクライアント:

{
  "mcpServers": {
    "mcp_server_mysql": {
      "command": "npx",
      "args": ["-y", "@benborla29/mcp-server-mysql"],
      "env": {
        "MYSQL_HOST": "127.0.0.1",
        "MYSQL_PORT": "3306",
        "MYSQL_USER": "root",
        "MYSQL_PASS": "your_password",
        "MYSQL_DB": "your_database"
      }
    }
  }
}

すべての書き込み操作はデフォルトで無効です。ALLOW_INSERT_OPERATION=true、ALLOW_UPDATE_OPERATION=true、ALLOW_DELETE_OPERATION=true を指定すると有効になります。

ドキュメント

ツールとリソース

ツール:mysql_query SQL クエリを実行します。デフォルトでは読み取り専用です。フラグごとに書き込み操作を有効にできます。

リソース:mysql://tables 接続中のデータベースにあるすべてのテーブルと列のメタデータを一覧表示します。

コントリビューション

github.com/benborla/mcp-server-mysql への PR を歓迎します。

git clone https://github.com/benborla/mcp-server-mysql.git
pnpm install
pnpm run build
pnpm test

Contributors

ライセンス

MIT — 詳細は LICENSE をご覧ください。

コメント

MCP は初めてですか?

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

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