mcpField
M
mcp-server-mariadb-vector

mcp-server-mariadb-vector

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

mcp-server-mariadb-vector について

mcp-server-mariadb-vectorは、MariaDBのベクトルストアやドキュメント操作をMCPクライアントに公開します。ベクトル機能を備えたMariaDBで文書管理やセマンティック検索を行うアプリやエージェント向けです。

主な機能

  1. 01ベクトルストアの作成、一覧、削除
  2. 02任意のメタデータ付き文書の登録
  3. 03セマンティック検索
  4. 04OpenAIモデルによる埋め込み生成
  5. 05uvまたはDockerでの実行

活用シーン

  1. 01エージェントとの会話にナレッジベースの情報を提供
  2. 02エージェントとの会話の保存と検索
  3. 03意味的な類似度による文書検索

MCP 対応

ベクトルストア管理、文書登録、セマンティック検索のツールを提供するMCPサーバーです。ベクトル機能を備えたMariaDBデータベースにMCPクライアントを接続します。

設定

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

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

注意:

MariaDB チームがこのハッカソンプロジェクトを引き継ぎ、大幅に改良しました。詳しくは https://github.com/MariaDB/mcp をご覧ください。

私の作業を紹介するため、このリポジトリは公開したままにしています。MariaDB チームがこのプロジェクトについて書いたブログ記事はこちらです:https://mariadb.org/model-context-protocol-mcp-hackathon-integration-track-winner/

mcp-server-mariadb-vector

MariaDB Vector MCP サーバーは、LLM エージェントがベクトルをサポートする MariaDB データベースとやり取りするためのツールを提供し、ユーザーが自然言語のインターフェースを使ってデータを保存し、操作できるようにします。Model Context Protocol(MCP)のおかげで、このサーバーは、Claude Desktop や Cursor/Windsurf などのアプリケーションが提供するものを含むあらゆる MCP クライアントに加え、LangGraph や PydanticAI などの LLM エージェントフレームワークとも互換性があります。

MariaDB Vector MCP サーバーを使用すると、たとえば次のことができます。

  • ナレッジベースのコンテキストを LLM エージェントとの会話に提供する
  • LLM エージェントとの会話を保存して検索する

機能

  • ベクトルストアの管理

    • MariaDB データベース内にベクトルストアを作成、削除する
    • MariaDB データベース内のすべてのベクトルストアを一覧表示する
  • ドキュメントの管理

    • 任意のメタデータを付けて、ベクトルストアにドキュメントを追加する
    • セマンティック検索を使ってベクトルストアを検索する
  • 埋め込みプロバイダー

    • OpenAI の埋め込みモデルを使ってドキュメントを埋め込む

MCP ツール

  • mariadb_create_vector_store:MariaDB データベース内にベクトルストアを作成する
  • mariadb_delete_vector_store:MariaDB データベース内のベクトルストアを削除する
  • mariadb_list_vector_stores:MariaDB データベース内のすべてのベクトルストアを一覧表示する
  • mariadb_insert_documents:任意のメタデータを付けて、ベクトルストアにドキュメントを追加する
  • mariadb_search_vector_store:セマンティック検索を使ってベクトルストアを検索する

セットアップ

注意: 以降の説明では、ベクトルをサポートする MariaDB インスタンス(バージョン 11.7 以上)が稼働していることを前提とします。インスタンスをお持ちでない場合は、Docker を使ってすばやく起動できます。

docker run -p 3306:3306 --name mariadb-instance -e MARIADB_ROOT_PASSWORD=password -e MARIADB_DATABASE=database_name mariadb:11.7

まず、リポジトリをクローンします。

git clone https://github.com/DavidRamosSal/mcp-server-mariadb-vector.git

MariaDB Vector MCP サーバーの実行方法は、uv を使って Python パッケージとして実行する方法と、付属の Dockerfile からビルドした Docker コンテナとして実行する方法の 2 つです。

uv を使ってサーバーを実行するための要件
Docker コンテナとしてサーバーを実行するための要件
設定

サーバーには、次の環境変数を設定する必要があります。

名前説明デフォルト値
MARIADB_HOST稼働中の MariaDB データベースのホスト127.0.0.1
MARIADB_PORT稼働中の MariaDB データベースのポート3306
MARIADB_USER稼働中の MariaDB データベースのユーザーNone
MARIADB_PASSWORD稼働中の MariaDB データベースのパスワードNone
MARIADB_DATABASE稼働中の MariaDB データベースの名前None
EMBEDDING_PROVIDER埋め込みモデルのプロバイダーopenai
EMBEDDING_MODEL埋め込みプロバイダーのモデルtext-embedding-3-small
OPENAI_API_KEYOpenAI プラットフォームの API キーNone
uv を使用したサーバーの実行

uv を使用すると、クローンしたリポジトリのルートに環境変数を記述した .env ファイルを追加し、次のコマンドでサーバーを実行できます。

uv run --dir path/to/mcp-server-mariadb-vector/ --env-file path/to/mcp-server-mariadb-vector/.env mcp_server_mariadb_vector

依存関係は自動的にインストールされます。使用するトランスポートプロトコルを指定するには、オプションの --transport 引数を追加できます。デフォルト値は stdio です。

Docker コンテナとしてのサーバーの実行

次のコマンドを実行して、クローンしたリポジトリのルートディレクトリから Docker コンテナをビルドします。

docker build -t mcp-server-mariadb-vector .

次に、コンテナを実行します(ご自身の設定に置き換えてください)。

docker run -p 8000:8000 \
  --add-host host.docker.internal:host-gateway \
  -e MARIADB_HOST="host.docker.internal" \
  -e MARIADB_PORT="port" \
  -e MARIADB_USER="user" \
  -e MARIADB_PASSWORD="password" \
  -e MARIADB_DATABASE="database" \
  -e EMBEDDING_PROVIDER="openai" \
  -e EMBEDDING_MODEL="embedding-model" \
  -e OPENAI_API_KEY="your-openai-api-key" \
  mcp-server-mariadb-vector

サーバーは SSE トランスポートプロトコルを使用して http://localhost:8000/sse で利用できます。ホストマシン上で MariaDB データベースを Docker コンテナとして実行している場合は、MARIADB_HOST を host.docker.internal に設定したままにしてください。

Claude Desktop | Cursor | Windsurf との統合

Claude Desktop、Cursor、Windsurf は、stdio トランスポートを使用してサーバーを自動的に実行し、接続できます。そのためには、設定ファイル(Claude Desktop の場合は claude_desktop_config.json、Cursor の場合は mcp.json、Windsurf の場合は mcp_config.json)に次の内容を追加します。

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

または、Cursor と Windsurf は SSE トランスポートを使用して、ホストマシン上ですでに実行中のサーバー(たとえば、サーバーを Docker コンテナとして実行している場合)に接続できます。そのためには、対応する設定ファイルに次の内容を追加します。

  "mcpServers": {
    "mariadb-vector": {
      "url": "http://localhost:8000/sse"
    }
  }
}

コメント

MCP は初めてですか?

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

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