MariaDB MCP Server

by bretoreta

Integrations

  • Provides access to MariaDB databases, allowing users to list databases, explore table schemas, and execute read-only SQL queries with security features like query validation and resource limits.

  • Enables interaction with MySQL databases through capabilities to list available databases, browse tables, describe table structures, and run SQL queries with built-in security controls.

MariaDB / MySQL データベースアクセス MCP サーバー

この MCP サーバーは、MariaDB / MySQL データベースへのアクセスを提供します。

これにより、次のことが可能になります。

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

セキュリティ機能

  • 読み取り専用アクセス デフォルト: SELECT、SHOW、DESCRIBE、EXPLAIN
  • クエリ検証: SQLインジェクションを防ぎ、データ変更の試みをブロックします
  • クエリタイムアウト: 長時間実行されるクエリがリソースを消費するのを防ぎます
  • 行制限: 過剰なデータ返送を防止

インストール

オプション1: ソースからビルドする

# Clone the repository git clone https://github.com/bretoreta/mariadb-mcp-server.git cd mariadb-mcp-server # Install dependencies and build pnpm install pnpm run build

2. 環境変数を設定する

サーバーには次の環境変数が必要です。

  • MARIADB_HOST: データベースサーバーのホスト名
  • MARIADB_PORT: データベースサーバポート(デフォルト: 3306)
  • MARIADB_USER: データベースのユーザー名
  • MARIADB_PASSWORD: データベースパスワード
  • MARIADB_DATABASE: デフォルトのデータベース名(オプション)
  • MARIADB_ALLOW_INSERT: 偽
  • MARIADB_ALLOW_UPDATE: 偽
  • MARIADB_ALLOW_DELETE: 偽
  • MARIADB_TIMEOUT_MS: 10000
  • MARIADB_ROW_LIMIT: 1000

3. MCP設定に追加

MCP 設定ファイルに次の構成を追加します。

ソースからビルドした場合:

{ "mcpServers": { "mariadb": { "command": "node", "args": ["/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-default-database", "MARIADB_ALLOW_INSERT": "false", "MARIADB_ALLOW_UPDATE": "false", "MARIADB_ALLOW_DELETE": "false", "MARIADB_TIMEOUT_MS": "10000", "MARIADB_ROW_LIMIT": "1000", }, "disabled": false, "autoApprove": [] } } }

利用可能なツール

データベース一覧

MariaDB / MySQLサーバー上のアクセス可能なすべてのデータベースを一覧表示します。パラメータ: なし

{ "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "sessionId": "session_id from /sse call", "name": "list_databases" } }

リストテーブル

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

パラメータ:

  • database (オプション): データベース名(指定されていない場合はデフォルトを使用)

{ "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "sessionId": "session_id from /sse call", "name": "list_tables", "database": "my_database_name" } }

テーブルの説明

特定のテーブルのスキーマを表示します。

パラメータ:

  • database (オプション): データベース名(指定されていない場合はデフォルトを使用)
  • table (必須): テーブル名

{ "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "sessionId": "session_id from /sse call", "name": "describe_table", "database": "my_database_name" } }

クエリ実行

SQL クエリを実行します。

パラメータ:

  • query (必須): SQLクエリ
  • database (オプション): データベース名(指定されていない場合はデフォルトを使用)

{ "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "sessionId": "session_id from /sse call", "name": "execute_query", "query": "SELECT * FROM my_table LIMIT 10" } }

テスト

サーバーは MariaDB を自動的にテストし、MariaDB セットアップの機能性を検証します。

トラブルシューティング

問題が発生した場合:

  1. サーバーログでエラーメッセージを確認してください
  2. MariaDBの資格情報と接続の詳細を確認する
  3. MariaDBユーザーに適切な権限があることを確認する
  4. クエリが読み取り専用であり、適切にフォーマットされていることを確認してください

インスピレーション https://github.com/rjsalgado/mariadb-mcp-server

ライセンス

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

-
security - not tested
F
license - not found
-
quality - not tested

MariaDB/MySQL データベースへの安全な読み取り専用アクセスを提供し、ユーザーがデータベースを一覧表示したり、テーブル スキーマを調べたり、組み込みのセキュリティ対策を使用して SQL クエリを実行したりできるようにします。

  1. セキュリティ機能
    1. インストール
      1. オプション1: ソースからビルドする
      2. 2. 環境変数を設定する
      3. 3. MCP設定に追加
    2. 利用可能なツール
      1. データベース一覧
      2. リストテーブル
      3. テーブルの説明
      4. クエリ実行
    3. テスト
      1. トラブルシューティング
        1. ライセンス

          Related MCP Servers

          • A
            security
            A
            license
            A
            quality
            Enables interaction with a MySQL database via JSON commands, supporting read-only queries, test execution of write queries, and table information retrieval through Docker.
            Last updated -
            4
            5
            5
            JavaScript
            MIT License
          • -
            security
            A
            license
            -
            quality
            A Model Context Protocol server that provides read-only access to MySQL databases, enabling LLMs to inspect database schemas and execute read-only queries.
            Last updated -
            1,363
            350
            TypeScript
            MIT License
            • Linux
            • Apple
          • -
            security
            A
            license
            -
            quality
            A Model Context Protocol server that provides read-only access to MySQL databases, enabling LLMs to inspect database schemas and execute read-only queries.
            Last updated -
            1,363
            MIT License
          • -
            security
            A
            license
            -
            quality
            An MCP server implementation that enables Claude to execute read-only queries against MariaDB databases and explore database schemas through natural language.
            Last updated -
            5
            Python
            MIT License
            • Apple

          View all related MCP servers

          ID: 9tru29x6wk