Skip to main content
Glama
gerimate

vectorai-mcp-server

by gerimate

vectorai-mcp-server

Actian VectorAI DBをMCPサーバーとして公開し、Claude(DesktopまたはCode)やCursorが、プレーンな自然言語のツール呼び出しだけでコレクションの作成、ドキュメントの取り込み、セマンティック検索を実行できるようにします。手動のベクトル計算も、クライアントサイドの埋め込みコードも不要です。

すべての埋め込みはサーバーサイドで sentence-transformers(all-MiniLM-L6-v2、384次元)を使用して行われます。各ツールはプレーンな文字列/JSONを受け取り、返します。生のベクトルがMCPの境界を越えることはありません。

これはハッカソン向けトーク用のデモプロジェクトで、認証やマルチテナンシーを省いた意図的にシンプルな構成です。

前提条件

  • Docker(VectorAI DBを実行するため)

  • Python 3.10+

Related MCP server: Qdrant MCP Server

1. VectorAI DBを起動する

プロジェクトのルートから:

docker-compose up -d

これにより actian/vectorai:latest が起動し、以下が公開されます:

  • 6573 - REST API

  • 6574 - gRPC API(Pythonクライアントが使用)

  • 6575 - ローカルUI

データは再起動後も ./local_data に保持されます。実行中であることを確認するには:

docker ps
docker logs vectorai

2. 依存関係をインストールする

python -m venv .venv
source .venv/bin/activate      # Windows: .venv\Scripts\activate
pip install -r requirements.txt

デフォルトのVectorAI DB URLを上書きしたい場合は、必要に応じて .env.example を .env にコピーします:

cp .env.example .env

3. デモスクリプトで接続を確認する

いずれかのMCPクライアントを接続する前に、VectorAI DBと埋め込みモデルの両方が動作することを確認します:

python examples/demo.py

これにより hackathon_demo コレクションが作成され、6つのサンプルFAQドキュメントが埋め込まれて取り込まれ、クエリ "when do we submit our project" が実行され、最も一致した結果が出力されます。初回実行時には all-MiniLM-L6-v2 モデル(約90MB)をダウンロードするため、時間がかかる場合があります。

Windowsに関する注意: sentence-transformers は torch を引き込み、これには深くネストされたライセンスファイルが含まれています。pip install が WinError 206("filename or extension is too long")で失敗する場合は、長いパスを有効にするか(Settings → System → About → Advanced system settings、または HKLM\SYSTEM\CurrentControlSet\Control\FileSystem の下の LongPathsEnabled を 1 に設定して再起動)、またはパスを短くするためにプロジェクトをドライブのルートに近い場所(例: C:\dev\vectorai-mcp-server)にクローンしてください。

4. MCPサーバーを登録する

Claude Desktop

claude_desktop_config.json を編集し(場所はOSによって異なります)、mcpServers の下に vectorai-db エントリを追加します。Python実行ファイルと server.py への絶対パスを使用してください:

{
  "mcpServers": {
    "vectorai-db": {
      "command": "/absolute/path/to/.venv/bin/python",
      "args": ["/absolute/path/to/vectorai-mcp-server/server.py"],
      "env": {
        "VECTORAI_URL": "localhost:6574"
      }
    }
  }
}

Windowsでは、command は C:\\absolute\\path\\to\\vectorai-mcp-server\\.venv\\Scripts\\python.exe のようになります。

保存後、Claude Desktopを再起動します。vectorai-db が接続されたMCPサーバーとして一覧表示されるはずです(🔌/ツールアイコンを探してください)。

Cursor

プロジェクト内の .cursor/mcp.json を作成または編集し(グローバル設定の場合は ~/.cursor/mcp.json)、同じサーバーエントリを追加します:

{
  "mcpServers": {
    "vectorai-db": {
      "command": "/absolute/path/to/.venv/bin/python",
      "args": ["/absolute/path/to/vectorai-mcp-server/server.py"],
      "env": {
        "VECTORAI_URL": "localhost:6574"
      }
    }
  }
}

変更を反映するには、Cursorをリロードします(または Settings → MCP でMCPサーバーをオフ/オンに切り替えます)。vectorai-db とその6つのツール(create_collection、ingest_documents、search、list_collections、get_collection_info、delete_collection)が利用可能として一覧表示されるはずです。

5. 試してみる

VectorAI DBが実行され、MCPサーバーが接続された状態で、ClaudeまたはCursorに次のようなプロンプトを入力します:

  • 「notes というコレクションを作成して。」

  • 「notes に私たちのハッカソンに関する次の3つの事実を追加して:ハッカソンは土曜日の午前9時に始まり、提出は日曜日の午前9時に締め切られ、一等賞は2,000ドルです。」

  • 「賞の締め切りはいつですか?」

  • 「notes を審査基準について検索して。」

  • 「データベース内のすべてのコレクションを一覧表示して。」

  • 「notes にはいくつのドキュメントがありますか?」

  • 「notes コレクションを削除して。」

アシスタントは、あなたの代わりに create_collection、ingest_documents、search、list_collections、get_collection_info、delete_collection を呼び出し、バックグラウンドで all-MiniLM-L6-v2 を使用してすべてを埋め込みます。

プロジェクト構造

vectorai-mcp-server/
├── server.py            # The MCP server (FastMCP, stdio transport)
├── requirements.txt
├── docker-compose.yml    # Runs actian/vectorai:latest
├── .env.example
├── examples/
│   └── demo.py           # Standalone connection check, no MCP client needed
└── README.md

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables natural language database operations and semantic document search through SQLite and vector database integration. Converts plain English instructions into SQL queries and provides RAG capabilities for uploaded documents.
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables semantic search and document management using a local Qdrant vector database with OpenAI embeddings. Supports natural language queries, metadata filtering, and collection management for AI-powered document retrieval.
    103 npm
    36
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables interaction with KDB.AI through natural language for vector database operations, similarity searches, hybrid search, and advanced data analysis.
    2
    Apache 2.0