mariadb-mcp について
MariaDB Foundation が保守するオープンソースの MCP サーバーです。AI エージェントに MariaDB のスキーマ確認、読み取り専用クエリ、任意のベクトル検索を提供し、独自の連携コードを書かずにデータへアクセスしたい開発者向けです。
主な機能
- 01データベースとテーブルの一覧表示
- 02テーブル定義と外部キー関係の確認
- 03読み取り専用 SQL クエリの実行
- 04データベースの作成
- 05任意のベクトルストア管理とセマンティック検索
活用シーン
- 01AI エージェントによる MariaDB スキーマの確認
- 02エージェント経由でのデータベース検索
- 03保存文書を使った RAG の試作
- 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 MCP Server — GitHub
- MariaDB MCP Server 製品ページ — mariadb.com
- MCP を使って Claude Code をツールに接続する — Claude Code ドキュメント
ここで取り上げていないトピックについては、MariaDB 公式ドキュメントの mariadb.com/docs をご覧ください。