mcpField
M
MariaDB / MySQL Database Access MCP Server

MariaDB / MySQL Database Access MCP Server

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

MariaDB / MySQL Database Access MCP Server について

MariaDB と MySQL のデータベースに MCP クライアントからアクセスするための MCP サーバーです。データベースやテーブルの確認、スキーマ参照、SQL 実行に対応し、既定では読み取り専用で、書き込み権限も設定できます。

主な機能

  1. 01データベースとテーブルの一覧
  2. 02テーブルスキーマの確認
  3. 03SQL クエリの実行
  4. 04既定で読み取り専用
  5. 05書き込みとクエリ制限の設定

活用シーン

  1. 01アクセス可能なデータベースの確認
  2. 02照会前のテーブル構造の確認
  3. 03MariaDB または MySQL での制限付き照会
  4. 04特定の書き込み操作の有効化

MCP 対応

MariaDB と MySQL のデータベース一覧、テーブル一覧、スキーマ確認、SQL 実行を MCP ツールとして公開します。既定では読み取り専用で、書き込み権限を設定できます。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"mariadb": {
"command": "npx",
"args": [
"-y",
"mariadb-mcp-server"
],
"env": {
"MARIADB_HOST": "<MARIADB_HOST>",
"MARIADB_PORT": "<MARIADB_PORT>",
"MARIADB_USER": "<MARIADB_USER>",
"MARIADB_PASSWORD": "<MARIADB_PASSWORD>",
"MARIADB_DATABASE": "<MARIADB_DATABASE>",
"MARIADB_ALLOW_INSERT": "<MARIADB_ALLOW_INSERT>",
"MARIADB_ALLOW_UPDATE": "<MARIADB_ALLOW_UPDATE>",
"MARIADB_ALLOW_DELETE": "<MARIADB_ALLOW_DELETE>",
"MARIADB_TIMEOUT_MS": "<MARIADB_TIMEOUT_MS>",
"MARIADB_ROW_LIMIT": "<MARIADB_ROW_LIMIT>"
}
}
}
}
起動コマンドnpx -y mariadb-mcp-server
設定が必要な環境変数
MARIADB_HOST
MARIADB_PORT
MARIADB_USER
MARIADB_PASSWORDシークレット
MARIADB_DATABASE
MARIADB_ALLOW_INSERT
MARIADB_ALLOW_UPDATE
MARIADB_ALLOW_DELETE
MARIADB_TIMEOUT_MS
MARIADB_ROW_LIMIT

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

パッケージ
npmmariadb-mcp-server

ツール

4

掲載時のツール一覧 · 3 週間前に更新

このツールにパラメーターはありません。

詳細

MariaDB / MySQL MCP サーバー

この MCP サーバーは、Claude Desktop、VS Code、その他の互換性のあるツールなどの MCP クライアントから、MariaDB および MySQL のデータベースを利用できるようにします。

次のツールを提供します:

  • 利用可能なデータベースの一覧表示
  • データベース内のテーブルの一覧表示
  • テーブルスキーマの確認
  • SQL クエリの実行

特長

  • デフォルトで安全な動作:読み取り専用アクセスがデフォルトで有効です
  • 許可されていないステートメントをブロックし、インジェクションのリスクを低減するクエリ検証
  • 環境変数による書き込み権限の設定
  • タイムアウトと行数制限による保護
  • MariaDB ドライバーから返される挿入 ID と BIGINT 値の数値安全性

インストール

オプション 1:npm からインストール
npm install -g mariadb-mcp-server
オプション 2:ローカルにインストール
npm install mariadb-mcp-server
オプション 3:ソースからビルド
git clone https://github.com/rjsalgado/mariadb-mcp-server.git
cd mariadb-mcp-server
npm install
npm run build

設定

サーバーを起動する前に、次の環境変数を設定してください:

  • MARIADB_HOST:データベースのホスト
  • MARIADB_PORT:データベースのポート(デフォルト:3306)
  • MARIADB_USER:データベースのユーザー名
  • MARIADB_PASSWORD:データベースのパスワード
  • MARIADB_DATABASE:デフォルトのデータベース名(任意)
  • MARIADB_ALLOW_INSERT:INSERT ステートメントを有効にします(true/false)
  • MARIADB_ALLOW_UPDATE:UPDATE ステートメントを有効にします(true/false)
  • MARIADB_ALLOW_DELETE:DELETE ステートメントを有効にします(true/false)
  • MARIADB_TIMEOUT_MS:クエリのタイムアウト時間(ミリ秒、デフォルト:10000)
  • MARIADB_ROW_LIMIT:返される行の最大数(デフォルト:1000)

例:

export MARIADB_HOST=localhost
export MARIADB_PORT=3306
export MARIADB_USER=myuser
export MARIADB_PASSWORD=mypassword
export MARIADB_DATABASE=mydb
export MARIADB_ALLOW_INSERT=false
export MARIADB_ALLOW_UPDATE=false
export MARIADB_ALLOW_DELETE=false
export MARIADB_TIMEOUT_MS=10000
export MARIADB_ROW_LIMIT=1000

MCP の設定

npm パッケージを使用
{
  "mcpServers": {
    "mariadb": {
      "command": "npx",
      "args": ["mariadb-mcp-server"],
      "env": {
        "MARIADB_HOST": "your-host",
        "MARIADB_PORT": "3306",
        "MARIADB_USER": "your-user",
        "MARIADB_PASSWORD": "your-password",
        "MARIADB_DATABASE": "your-database",
        "MARIADB_ALLOW_INSERT": "false",
        "MARIADB_ALLOW_UPDATE": "false",
        "MARIADB_ALLOW_DELETE": "false",
        "MARIADB_TIMEOUT_MS": "10000",
        "MARIADB_ROW_LIMIT": "1000"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}
ビルド済みのローカルサーバーを使用
{
  "mcpServers": {
    "mariadb": {
      "command": "node",
      "args": ["/absolute/path/to/mariadb-mcp-server/dist/index.js"],
      "env": {
        "MARIADB_HOST": "your-host",
        "MARIADB_PORT": "3306",
        "MARIADB_USER": "your-user",
        "MARIADB_PASSWORD": "your-password",
        "MARIADB_DATABASE": "your-database",
        "MARIADB_ALLOW_INSERT": "false",
        "MARIADB_ALLOW_UPDATE": "false",
        "MARIADB_ALLOW_DELETE": "false",
        "MARIADB_TIMEOUT_MS": "10000",
        "MARIADB_ROW_LIMIT": "1000"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}

利用可能なツール

サーバーは次の MCP ツールを登録します:

list_databases

設定されたユーザーがアクセスできるすべてのデータベースを一覧表示します。

list_tables

指定したデータベースのテーブルを一覧表示します。

パラメーター:

  • database(任意):確認するデータベース名
describe_table

指定したテーブルのスキーマを返します。

パラメーター:

  • database(任意):データベース名
  • table(必須):テーブル名
execute_query

SQL クエリを実行します。

パラメーター:

  • database(任意):データベース名
  • query(必須):実行する SQL ステートメント

テスト

このリポジトリには、MariaDB または MySQL のインスタンスに対してサーバーを検証するスクリプトが含まれています。

npm run test:setup
npm run test:tools

または、すべてをまとめて実行します:

npm test

注意事項

  • このサーバーはデフォルトで安全に動作し、書き込みフラグを明示的に有効にしない限り、読み取り専用の操作のみを許可します。
  • 書き込み操作にも、クエリ検証と実行時の制限が適用されます。

トラブルシューティング

問題が発生した場合:

  1. サーバーログでエラーメッセージを確認します
  2. MariaDB/MySQL の認証情報と接続の詳細を確認します
  3. MariaDB/MySQL のユーザーに適切な権限があることを確認します
  4. クエリが読み取り専用で、正しく書式設定されていることを確認します

着想元 https://github.com/dpflucas/mysql-mcp-server

ライセンス

このプロジェクトは MIT License の下でライセンスされています。詳細は LICENSE ファイルを参照してください。

コメント

MCP は初めてですか?

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

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