プロトタイプ · プレビュー版:公式レジストリのすべてのサーバーを掲載し、30分ごとに同期しています。レビューとアカウント機能は今後のステップで始まります。
PopNx MCPAIを使う人のためのMCPサーバー · やさしい言葉で解説

MySQL MCP

作者:gistrecバージョン 1.1.1i★ –iパソコンで動く
レジストリ名io.github.gistrec/mcp-mysql-client

インストール

概要

作者による説明(英語の原文)

MCP server for one MySQL database: schema, read-only queries and guarded writes.

PopNx MCPの3つの柱

この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。

できること

このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。

  • 接続方法: パソコンで動く
  • トランスポート: stdio
  • カテゴリ: データベース・データセット
  • 入力が必要なもの:MYSQL_USER, MYSQL_PASS, MYSQL_DB

インストール

使っているAIアプリを選んで、設定をコピーしてください。

インストールの前に

  • 基本チェック:1項目中1項目に合格
  • あなたのパソコンで、あなたのユーザーと同じ権限(ファイル、ネットワーク、アプリ)で動きます。
  • 自分で入力するもの: MYSQL_HOST, MYSQL_PORT, MYSQL_USER, MYSQL_PASS, MYSQL_DB, MYSQL_SSL, MYSQL_SSL_CA, ALLOW_INSERT_OPERATION, ALLOW_UPDATE_OPERATION, ALLOW_DELETE_OPERATION, MYSQL_MAX_ROWS, MYSQL_TIMEOUT_MS

「秘密」と表示された値は、あなたのアカウントの鍵です。絶対に人に教えたり、チャットに貼り付けたりしないでください。

必要なもの

  • npmNode.jsのインストール(npxコマンドに必要)

どのアプリを使っていますか?

上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。

Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます

{
  "mcpServers": {
    "mysql-client": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-mysql-client"
      ],
      "env": {
        "MYSQL_HOST": "your-value",
        "MYSQL_PORT": "your-value",
        "MYSQL_USER": "your-value",
        "MYSQL_PASS": "your-value",
        "MYSQL_DB": "your-value",
        "MYSQL_SSL": "your-value",
        "MYSQL_SSL_CA": "your-value",
        "ALLOW_INSERT_OPERATION": "your-value",
        "ALLOW_UPDATE_OPERATION": "your-value",
        "ALLOW_DELETE_OPERATION": "your-value",
        "MYSQL_MAX_ROWS": "your-value",
        "MYSQL_TIMEOUT_MS": "your-value"
      }
    }
  }
}

ターミナルでこれを実行します

claude mcp add mysql-client --env MYSQL_HOST=your-value --env MYSQL_PORT=your-value --env MYSQL_USER=your-value --env MYSQL_PASS=your-value --env MYSQL_DB=your-value --env MYSQL_SSL=your-value --env MYSQL_SSL_CA=your-value --env ALLOW_INSERT_OPERATION=your-value --env ALLOW_UPDATE_OPERATION=your-value --env ALLOW_DELETE_OPERATION=your-value --env MYSQL_MAX_ROWS=your-value --env MYSQL_TIMEOUT_MS=your-value -- npx -y mcp-mysql-client

動かす前に、空欄の値を入力してください。

Cursorで開く

または、設定を自分でコピーする

プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます

{
  "mcpServers": {
    "mysql-client": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-mysql-client"
      ],
      "env": {
        "MYSQL_HOST": "your-value",
        "MYSQL_PORT": "your-value",
        "MYSQL_USER": "your-value",
        "MYSQL_PASS": "your-value",
        "MYSQL_DB": "your-value",
        "MYSQL_SSL": "your-value",
        "MYSQL_SSL_CA": "your-value",
        "ALLOW_INSERT_OPERATION": "your-value",
        "ALLOW_UPDATE_OPERATION": "your-value",
        "ALLOW_DELETE_OPERATION": "your-value",
        "MYSQL_MAX_ROWS": "your-value",
        "MYSQL_TIMEOUT_MS": "your-value"
      }
    }
  }
}

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

VS Codeで開く

または、設定を自分でコピーする

プロジェクトの .vscode/mcp.json に貼り付けます

{
  "servers": {
    "mysql-client": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "mcp-mysql-client"
      ],
      "env": {
        "MYSQL_HOST": "your-value",
        "MYSQL_PORT": "your-value",
        "MYSQL_USER": "your-value",
        "MYSQL_PASS": "your-value",
        "MYSQL_DB": "your-value",
        "MYSQL_SSL": "your-value",
        "MYSQL_SSL_CA": "your-value",
        "ALLOW_INSERT_OPERATION": "your-value",
        "ALLOW_UPDATE_OPERATION": "your-value",
        "ALLOW_DELETE_OPERATION": "your-value",
        "MYSQL_MAX_ROWS": "your-value",
        "MYSQL_TIMEOUT_MS": "your-value"
      }
    }
  }
}

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。

選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。

自分で入力する値

  • MYSQL_HOST env
    Database host.
  • MYSQL_PORT env
    Database port.
  • MYSQL_USER 必須 env
    MySQL user. Use one with the least privileges the task needs, never root.
  • MYSQL_PASS 秘密 env
    Password for that user. Treat it as a secret; MYSQL_PASS_FILE reads it from a file instead.
  • MYSQL_DB 必須 env
    The one database this server is bound to. No tool can leave it.
  • MYSQL_SSL env
    Require a TLS connection to the server.
  • MYSQL_SSL_CA env
    Path to the CA bundle verifying the server certificate; implies MYSQL_SSL.
  • ALLOW_INSERT_OPERATION env
    Allow INSERT statements through the execute tool.
  • ALLOW_UPDATE_OPERATION env
    Allow UPDATE statements through the execute tool.
  • ALLOW_DELETE_OPERATION env
    Allow DELETE statements through the execute tool.
  • MYSQL_MAX_ROWS env
    Row cap for one read; the result is marked truncated when it is hit.
  • MYSQL_TIMEOUT_MS env
    Statement timeout in milliseconds; the connection is dropped on expiry.

この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。

できること

パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。

基本チェックi

誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月8日にチェック

  • ✓ 合格

    作者とリポジトリが一致

    レジストリ名は、リポジトリを所有するGitHubアカウント gistrec で確認済みです

  • … 未チェック

    今もメンテナンスされている

    このリポジトリはまだGitHubから読み取っていません

  • … 未チェック

    ライセンスがある

    このリポジトリはまだGitHubから読み取っていません

  • – 対象外

    エンドポイントが応答する

    これはパソコンで動くため、インターネット上のエンドポイントはありません

  • – 対象外

    OAuthでサインイン

    パソコンで動き、代わりにローカルの設定を使います

  • … 未チェック

    ツールの説明に隠れた指示がない

    パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです

データベース・データセットのほかのサーバーとの比較i

  • このカテゴリのほかの1141件のうち0%よりスターが多い
  • このカテゴリのほかの1141件のうち91%より最近レジストリに公開
  • 基本チェックの結果が、このカテゴリのほかの1141件のうち100%と同じかそれ以上

レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。

よくある質問

MySQL MCPは安全ですか?

当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。

どんなキーやコードが必要ですか?

入力が必要なもの:MYSQL_USER, MYSQL_PASS, MYSQL_DB

パソコンで動きますか、それともクラウドですか?

あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。

今もメンテナンスされていますか?

GitHubリポジトリの最終更新は–、最新バージョン(1.1.1)がレジストリに届いたのは3 日前です。

どのアプリで使えますか?

Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.jsも必要です。

代わりに使えるものは?

同じカテゴリには:Supabase, MongoDB MCP Server, Elasticsearch MCP Server

代わりの候補

同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。

カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i

Supabase

作者:supabase

MCP server for interacting with the Supabase platform

パソコンでもクラウドでも★ 2,993Apache-2.0昨日更新
インストール

作者のREADME

READMEを開く

作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。

MySQL MCP

MySQL MCP подключает AI-приложение к одной базе MySQL или MariaDB: посмотреть структуру, задать вопрос данным на естественном языке, разобраться в медленном запросе — и, если вы сами это разрешили, изменить данные.

Сервер привязан к одной базе: она задана конфигурацией, и ни один инструмент не может уйти в другую. По умолчанию доступно только чтение.

  • 6 инструментов. Подключение и права, список таблиц, структура таблицы, читающий запрос, план запроса, изменяющий запрос.
  • Тип запроса определяет сервер. SQL разбирается до подключения: DELETE в читающем инструменте будет отклонён, даже если права на запись включены.
  • Чтение не может писать. Читающие запросы идут внутри START TRANSACTION READ ONLY — запись отклонит сама MySQL, даже если разбор SQL кто-то обманет.
  • Ответ не переполнит контекст. Строки читаются потоком и обрываются на лимите, а не выкачиваются целиком; в ответе честный признак truncated.
  • Права только снаружи. INSERT, UPDATE и DELETE включаются переменными окружения и требуют перезапуска — из диалога их получить нельзя. DDL недоступен всегда.

Начните с запроса, который только читает данные:

Покажи структуру базы и посчитай, сколько записей появилось за последнюю неделю.


Быстрый старт

Claude Code:

claude mcp add mysql-myapp \

-e MYSQL_HOST=db.example.com \ -e MYSQL_USER=myapp_ro \ -e MYSQL_PASS='пароль' \ -e MYSQL_DB=myapp \ -e MYSQL_SSL=true \ -- npx -y mcp-mysql-client

Или в .mcp.json / claude_desktop_config.json:

{

"mcpServers": { "mysql-myapp": { "command": "npx", "args": ["-y", "mcp-mysql-client"], "env": { "MYSQL_HOST": "db.example.com", "MYSQL_PORT": "3306", "MYSQL_USER": "myapp_ro", "MYSQL_PASS": "пароль", "MYSQL_DB": "myapp", "MYSQL_SSL": "true" } } } }

Один сервер — одна база. Нужно несколько баз: добавьте несколько записей со своими учётными данными; так права остаются изолированными, и сервер, подключённый к тестовой базе, физически не видит боевую.

Что можно поручить

ЗапросЧто делает сервер
«Что вообще есть в этой базе?»list_tables — таблицы, размеры, оценки числа строк
«Как устроена таблица orders?»describe_table — столбцы, индексы, внешние ключи в обе стороны
«Сколько заказов за июль и на какую сумму?»query — SELECT с агрегацией
«Почему этот запрос медленный?»explain — план, индексы, оценка строк
«Под кем я подключён и что мне можно?»server_info — база, пользователь, GRANT, лимиты сервера
«Проставь статус отменённым заказам»execute — только при ALLOW_UPDATE_OPERATION=true

Что может измениться

По умолчанию — ничего: сервер стартует в режиме только чтения. Запись включается по одной операции:

"ALLOW_INSERT_OPERATION": "true",

"ALLOW_UPDATE_OPERATION": "true", "ALLOW_DELETE_OPERATION": "false"

Что при этом остаётся невозможным:

  • DDL — CREATE, ALTER, DROP, TRUNCATE, RENAME — ни при каких настройках.
  • Смена базы, `SET`, `CALL`, `PREPARE`, `LOAD DATA`, блокировки, `GRANT` и прочее, что меняет смысл следующего запроса или выполняет непроверенный текст.
  • `SELECT ... INTO OUTFILE` — запись файла на сервер базы.
  • `UPDATE` и `DELETE` без `WHERE` — требуют явного подтверждения allow_full_table=true в вызове.
  • Несколько инструкций в одном вызове — выполняется ровно одна.

Права MySQL — отдельное ограничение поверх этого. Разрешение ALLOW_UPDATE_OPERATION ничего не добавляет пользователю, у которого нет GRANT UPDATE. Рабочая практика: отдельный пользователь с минимальными правами, а не root.

Переменные окружения

ПеременнаяПо умолчаниюНазначение
MYSQL_HOST127.0.0.1Хост сервера
MYSQL_PORT3306Порт
MYSQL_SOCKET_PATH—Unix-сокет вместо host/port
MYSQL_USER—Пользователь (обязательно)
MYSQL_PASS—Пароль (синоним MYSQL_PASSWORD)
MYSQL_PASS_FILE—Прочитать пароль из файла вместо переменной
MYSQL_DB—База данных (обязательно, синоним MYSQL_DATABASE)
MYSQL_SSLfalseТребовать TLS
MYSQL_SSL_CA—Путь к корневому сертификату; сам по себе включает TLS
MYSQL_SSL_REJECT_UNAUTHORIZEDtrueПроверять сертификат сервера
ALLOW_INSERT_OPERATIONfalseРазрешить INSERT
ALLOW_UPDATE_OPERATIONfalseРазрешить UPDATE
ALLOW_DELETE_OPERATIONfalseРазрешить DELETE
MYSQL_MAX_ROWS1000Потолок строк в одном ответе
MYSQL_TIMEOUT_MS30000Таймаут запроса
MYSQL_CONNECT_TIMEOUT_MS10000Таймаут подключения
MYSQL_POOL_SIZE3Соединений в пуле
MYSQL_MAX_RETRIES2Повторы при обрыве связи и взаимных блокировках
MYSQL_READ_ONLY_TXtrueВыполнять чтение в read-only транзакции
ASKADS_TELEMETRY—0 отключает анонимную статистику запусков и вызовов инструментов (имя инструмента и исход: успех или категория ошибки с кодом ошибки MySQL, без текста ошибки)

Пароль в конфигурации MCP-клиента лежит открытым текстом. MYSQL_PASS_FILE позволяет держать его в файле с нужными правами.

Переход с @benborla29/mcp-server-mysql

Имена переменных совпадают, поэтому достаточно заменить пакет в команде запуска:

-  "args": ["-y", "@benborla29/mcp-server-mysql"]
  • "args": ["-y", "mcp-mysql-client"]

Что изменится в поведении:

  • MYSQL_DB обязателен — сервер всегда привязан к одной базе;
  • ответы ограничены MYSQL_MAX_ROWS и помечаются truncated;
  • DDL недоступен даже при включённых правах на запись;
  • UPDATE/DELETE без WHERE требуют подтверждения в вызове;
  • набор инструментов другой: query, execute, explain, list_tables, describe_table, server_info.

Диагностика

Первым делом — server_info: он покажет, к чему подключён сервер, какие права у пользователя MySQL и какие ограничения включены.

СимптомПричина
errno 1045Неверные MYSQL_USER / MYSQL_PASS
errno 1044Пользователь есть, прав на базу нет
errno 1142Не хватает GRANT на операцию или таблицу — ALLOW_* тут не поможет
errno 3159Сервер требует TLS: MYSQL_SSL=true
ECONNREFUSED / ETIMEDOUTХост, порт, файрвол или неподнятый VPN
ER_NOT_SUPPORTED_AUTH_MODEНужен TLS для caching_sha2_password
Сервер не подключаетсяОшибка конфигурации видна прямо в диалоге: сервер стартует даже без учётных данных и объясняет, чего не хватает

Техническая документация

  • Инструменты — параметры и ответы
  • Разработка — сборка, тесты, живая проверка
  • Публикация — релиз в npm и MCP-реестр
  • CLAUDE.md — устройство репозитория для AI-агентов

Лицензия

MIT

PopNxに聞く