mcpField
M
MySQL MCP Server

MySQL MCP Server

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

MySQL MCP Server について

MySQL MCP Serverは、エージェント経由でMySQLを操作したい開発者向けのデータベース接続手段です。クエリ結果をJSONで返し、読み書き操作とトランザクションログに対応します。

主な機能

  1. 01SELECTクエリの実行
  2. 02データベーステーブルの作成
  3. 03データの挿入・更新・削除
  4. 04クエリ結果のJSON出力
  5. 05一意ID付きトランザクションログ

活用シーン

  1. 01エージェント経由でMySQLデータを検索
  2. 02データベーステーブルの作成と管理
  3. 03MySQLレコードの書き込みや変更
  4. 04データベース操作ログの監査

MCP 対応

MCPサーバーは、SQLクエリ、テーブル作成、データの挿入・更新・削除など、MySQL操作のツールをクライアントに提供します。

設定

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

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

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

リポジトリ

ツール

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

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

詳細

MySQL MCP サーバー

これは、MySQL データベースへのアクセスを提供する Model Context Protocol(MCP)サーバーです。エージェントは MySQL データベースに対して SQL クエリを実行できます。

機能

  • MySQL データベースに対して SQL クエリを実行します:
    • データの読み取り(SELECT 文)
    • テーブルの作成(CREATE TABLE 文)
    • データの挿入(INSERT INTO 文)
    • データの更新(UPDATE 文)
    • データの削除(DELETE FROM 文)
  • クエリ結果を JSON 形式で返します
  • データベース接続設定を構成できます
  • 一意の ID を使用してトランザクションをログに記録します

前提条件

  • Node.js(v14 以降)
  • MySQL サーバー
  • MCP SDK

インストール

  1. このリポジトリをクローンまたはダウンロードします
  2. 依存関係をインストールします:
cd mysql-mcp-server
npm install
  1. サーバーをビルドします:
npm run build

設定

MySQL MCP サーバーでは、以下の環境変数を使用して設定します:

  • MYSQL_HOST:MySQL サーバーのホスト名(デフォルト:'localhost')
  • MYSQL_PORT:MySQL サーバーのポート(デフォルト:3306)
  • MYSQL_USER:MySQL のユーザー名(デフォルト:'mcp101')
  • MYSQL_PASSWORD:MySQL のパスワード(デフォルト:'123qwe')
  • MYSQL_DATABASE:MySQL のデータベース名(デフォルト:'mcpdb')

データベースのセットアップ

  1. MySQL データベースを作成します:
CREATE DATABASE mcpdb;
  1. データベースへのアクセス権を持つ MySQL ユーザーを作成します:
CREATE USER 'mcp101'@'localhost' IDENTIFIED BY '123qwe';
GRANT ALL PRIVILEGES ON mcpdb.* TO 'mcp101'@'localhost';
FLUSH PRIVILEGES;
  1. サンプルデータを含むテストテーブルを作成します:
USE mcpdb;
CREATE TABLE test_users (
  id INT AUTO_INCREMENT PRIMARY KEY,
  name VARCHAR(100),
  email VARCHAR(100),
  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

INSERT INTO test_users (name, email) VALUES
  ('John Doe', '[email protected]'),
  ('Jane Smith', '[email protected]'),
  ('Bob Johnson', '[email protected]');

MCP の設定

MCP 設定ファイルに MySQL MCP サーバーを追加します:

VSCode(Claude Extension)

ファイル:~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json

MySQL の設定に合わせて args を変更してください

{
  "mcpServers": {
    "mysql-mcp-server": {
      "autoApprove": [],
      "disabled": false,
      "timeout": 60,
      "command": "node",
      "args": [
        "/path/to/mysql-mcp-server/build/index.js"
      ],
      "env": {
        "MYSQL_HOST": "localhost",
        "MYSQL_PORT": "3306",
        "MYSQL_USER": "mcp101",
        "MYSQL_PASSWORD": "123qwe",
        "MYSQL_DATABASE": "mcpdb"
      },
      "transportType": "stdio"
    }
  }
}
Claude Desktop App

ファイル:~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "mysql-mcp-server": {
      "autoApprove": [],
      "disabled": false,
      "timeout": 60,
      "command": "node",
      "args": [
        "/path/to/mysql-mcp-server/build/index.js"
      ],
      "env": {
        "MYSQL_HOST": "localhost",
        "MYSQL_PORT": "3306",
        "MYSQL_USER": "mcp101",
        "MYSQL_PASSWORD": "123qwe",
        "MYSQL_DATABASE": "mcpdb"
      },
      "transportType": "stdio"
    }
  }
}

使い方

設定が完了すると、Claude との会話で MySQL MCP サーバーを使用できます。たとえば、次のように質問できます:

「test_users テーブルにあるすべてのユーザーを表示してもらえますか?」

Claude は run_sql_query ツールを使用して、次のクエリを実行します:

SELECT * FROM test_users

利用可能なツール

run_sql_query

MySQL データベースに対して読み取り専用の SQL クエリ(SELECT 文のみ)を実行します。

パラメーター:

  • query:実行する SQL SELECT クエリ。

例:

{
  "query": "SELECT * FROM test_users"
}
create_table

MySQL データベースに新しいテーブルを作成します。

パラメーター:

  • query:実行する SQL CREATE TABLE クエリ。

例:

{
  "query": "CREATE TABLE products (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100), price DECIMAL(10,2))"
}
insert_data

MySQL データベースのテーブルにデータを挿入します。

パラメーター:

  • query:実行する SQL INSERT INTO クエリ。

例:

{
  "query": "INSERT INTO products (name, price) VALUES ('Laptop', 999.99), ('Smartphone', 499.99)"
}
update_data

MySQL データベースのテーブルのデータを更新します。

パラメーター:

  • query:実行する SQL UPDATE クエリ。

例:

{
  "query": "UPDATE products SET price = 899.99 WHERE name = 'Laptop'"
}
delete_data

MySQL データベースのテーブルからデータを削除します。

パラメーター:

  • query:実行する SQL DELETE FROM クエリ。

例:

{
  "query": "DELETE FROM products WHERE name = 'Smartphone'"
}

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

  • MCP サーバーには、適切な権限を持つ専用の MySQL ユーザーを使用してください
  • データのクエリのみが必要な場合は、読み取り専用権限の使用を検討してください
  • データベースの認証情報などの機密情報は安全に保管してください
  • 監査のため、すべての操作を一意のトランザクション ID とともにログに記録します

コメント

MCP は初めてですか?

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

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