mcpField
M
mariadb-mcp

mariadb-mcp

github.com/mariadbデータ・データベース17157 回インストール2 週間前に更新
リポジトリ

mariadb-mcp について

MariaDB Foundation が保守するオープンソースの MCP サーバーです。AI エージェントに MariaDB のスキーマ確認、読み取り専用クエリ、任意のベクトル検索を提供し、独自の連携コードを書かずにデータへアクセスしたい開発者向けです。

主な機能

  1. 01データベースとテーブルの一覧表示
  2. 02テーブル定義と外部キー関係の確認
  3. 03読み取り専用 SQL クエリの実行
  4. 04データベースの作成
  5. 05任意のベクトルストア管理とセマンティック検索

活用シーン

  1. 01AI エージェントによる MariaDB スキーマの確認
  2. 02エージェント経由でのデータベース検索
  3. 03保存文書を使った RAG の試作
  4. 04エージェントによるベクトルストア管理

MCP 対応

MCP サーバーとして、データベースの参照、読み取り専用 SQL、データベース作成、任意のベクトル検索ツールを MCP クライアントに公開します。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/mariadb/skills --skill mariadb-mcp

インストール後、Claude Code で/mariadb-mcpを入力して読み込まれたか確認します。

詳細

MariaDB MCP サーバー

最終更新日:2026-05-25

Model Context Protocol(MCP)を使用すると、AI エージェントを外部ツールやデータソースに接続できます。MariaDB MCP サーバーを使えば、開発者が連携コードを書くことなく、エージェントが MariaDB データベースに直接かつ制御された形でアクセスし、スキーマの読み取り、クエリの実行、必要に応じてベクトル/セマンティック検索を行えます。

このサーバーはオープンソース(MIT)で、MariaDB Foundation が github.com/MariaDB/mcp で保守しています。

必要条件: Python 3.11 以降、uv パッケージマネージャー、MariaDB サーバー。

エージェントでできること

MariaDB MCP サーバーに接続すると、エージェントは次の操作を行えます。

  • データベースとテーブルを一覧表示する
  • 外部キーの関係を含むテーブルスキーマを読み取る
  • 読み取り専用の SQL クエリ(SELECT、SHOW、DESCRIBE)を実行する
  • データベースを作成する
  • 保存されたドキュメントに対してセマンティック/ベクトル検索を行う(埋め込みプロバイダーが設定されている場合)

書き込み操作(INSERT、UPDATE、DELETE)はデフォルトで無効です。

インストール

git clone https://github.com/MariaDB/mcp
cd mcp
cp .env.example .env
# Edit .env with your database credentials

最低限必要な .env の設定:

DB_HOST=127.0.0.1
DB_PORT=3306
DB_USER=myuser
DB_PASSWORD=mypassword
DB_NAME=mydatabase
MCP_READ_ONLY=true

サーバーを起動する:

uv run server.py

Claude Code、Cursor、Windsurf の接続

ローカルクローンから公式サーバーを使用します(「インストール」を参照)。MCP 設定で uv run server.py と、データベース認証情報を含む .env ファイルを指定します。

Claude Code(リポジトリのルートにあるプロジェクト単位の .mcp.json):

{
  "mcpServers": {
    "mariadb": {
      "command": "uv",
      "args": [
        "--directory",
        "/absolute/path/to/mcp",
        "run",
        "server.py"
      ],
      "envFile": "/absolute/path/to/mcp/.env"
    }
  }
}

または CLI で追加します(パスを置き換えてください)。

claude mcp add mariadb -- uv --directory /absolute/path/to/mcp run server.py

Cursor/VS Code — MCP 設定で同じ mcpServers ブロックを使用し、絶対パスを指定します。

SSE または HTTP — uv run server.py --transport sse(または http)を実行し、URL に接続します。詳しくは MariaDB/mcp README — Integration を参照してください。

公式ではありません: PyPI パッケージ mcp-server-mariadb(uvx mcp-server-mariadb)はサードパーティのプロジェクトであり、MariaDB Foundation が保守しているものではありません。PyPI パッケージを使用する特別な理由がない限り、github.com/MariaDB/mcp を使用してください。

利用可能なツール

ツール機能
list_databasesユーザーがアクセスできるすべてのデータベースを一覧表示します
list_tablesデータベース内のテーブルを一覧表示します
get_table_schema列の定義と型を返します
get_table_schema_with_relations外部キーの関係を含めます
execute_sql読み取り専用の SQL クエリを実行します
create_database新しいデータベースを作成します

ベクトル検索とセマンティック検索(任意)

埋め込みプロバイダーが設定されている場合、MCP インターフェースから直接 RAG パイプラインを構築するための追加ツールを利用できます。

ツール機能
create_vector_storeベクトルストアのテーブルを作成します
insert_docs_vector_storeドキュメントを埋め込み、保存します
search_vector_storeセマンティック類似検索を行います
list_vector_stores利用可能なベクトルストアを一覧表示します
delete_vector_storeベクトルストアを削除します

.env で埋め込みプロバイダーを設定します:

EMBEDDING_PROVIDER=openai   # or gemini or huggingface
OPENAI_API_KEY=sk-...

ベクトル検索のみを行うアプリケーションを構築する場合は、MariaDB のネイティブな VECTOR 型と VEC_DISTANCE_* 関数を直接使用するほうが効率的です。MCP のベクトルツールは、迅速なプロトタイピングや、AI エージェント自身がベクトルストアを管理する必要がある場合に便利です。ネイティブなベクトル SQL については、mariadb-vector スキルを参照してください。

セキュリティ:読み取り専用アクセス

MCP_READ_ONLY=true の設定は、クエリをフィルタリングすることでアプリケーションレベルの読み取り専用を強制します。本番環境や共有環境では、データベースレベルでも制限してください。

CREATE USER 'mcp_agent'@'localhost' IDENTIFIED BY 'password';
GRANT SELECT, SHOW DATABASES ON *.* TO 'mcp_agent'@'localhost';
-- Do NOT grant INSERT, UPDATE, DELETE, DROP

アプリケーションレベルの読み取り専用設定だけでは不十分です。確実な保証となるのは、データベースレベルの権限設定です。

主な注意点

  • uv が必要です:MCP サーバーでは、依存関係の管理に pip ではなく uv を使用します。インストール方法:pip install uv または brew install uv。
  • 読み取り専用はソフトウェアで完全には強制されません:MCP_READ_ONLY=true だけに頼らず、データベースレベルの権限を設定してください。
  • ベクトルツールは無効になっています:.env で EMBEDDING_PROVIDER を設定するまで使用できません。
  • コネクションプーリングのデフォルトは10接続です。エージェントでの並行利用に合わせて MCP_MAX_POOL_SIZE を調整してください。
  • SSL/TLS:リモートデータベースまたは本番データベースでは、.env で DB_SSL_CA、DB_SSL_CERT、DB_SSL_KEY を設定してください。
  • エンタープライズ版:MariaDB は、アクセス制御とマルチエージェント機能を追加した MariaDB Enterprise MCP Server も提供しています。mariadb.com/products/mcp-server をご覧ください。

参考資料

ここで取り上げていないトピックについては、MariaDB 公式ドキュメントの mariadb.com/docs をご覧ください。

コメント