Colpali MCP Server - Python について
ColPali と Elasticsearch を使い、画像や PDF の内容をインデックス化して検索する Python 製 MCP サーバーです。視覚資料を自然文で探したいチーム向けに、画像インデックスの管理機能も提供します。
主な機能
- 01自然文による画像の意味検索
- 02画像と PDF ページのインデックス化
- 03ColPali によるマルチモーダル埋め込み
- 04Elasticsearch による保存と検索
- 05インデックス統計の確認と消去
活用シーン
- 01説明文から図や画像を検索
- 02PDF 文書から抽出した画像を登録
- 03既存の画像インデックスを確認または消去
MCP 対応
画像検索、画像登録、インデックス統計の取得、インデックス消去のツールを MCP クライアントに公開します。保存先には Elasticsearch を使用します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Colpali MCP Server - Python
ColPali と Elasticsearch を使用して、画像データベースを検索(リトリーバル)する MCP(Model Context Protocol)サーバーです。
🚀 機能
- 画像のセマンティック検索:自然言語のクエリを使用して、関連する画像を検索できます
- 画像と PDF のインデックス作成:個々の画像または PDF 全体を自動的にインデックス化できます
- マルチモーダル埋め込み:ColPali を使用して、視覚と言語を組み合わせた豊富な埋め込みを生成します
- スケーラブルなストレージ:効率的な保存と検索に Elasticsearch を使用します
- 標準 MCP API:あらゆる MCP クライアントと互換性があります
📋 前提条件
- Python 3.10+
- Elasticsearch 8.0+
- ColPali には GPU を推奨します(CPU でも動作します)
🔧 インストール
git clone https://github.com/camillebrl/colpali_server
cd colpali_server
make install
🎯 使用方法
MCP クライアントの mcp.json に追加します:
{
"mcpServers": {
"colpali-server": {
"command": "path to colpali_server/start_server.sh"
"env": {
"ES_HOST": "localhost:9200", # adapt to your elasticsearch hostname
"ES_USER": "elastic", # adapt to your elasticsearch username
"ES_PASSWORD": "mot_de_passe_elasticsearch" # adapt to your elasticsearch password
}
}
}
}
MCP クライアントで使用する
サーバーは次のツールを公開します:
🔍 search_images
データベース内の関連画像を検索します。
{
"tool": "search_images",
"arguments": {
"query": "schéma d'architecture réseau",
"top_k": 5
}
}
📥 index_image
新しい画像をデータベースにインデックス化します。 フォルダー内の画像は 1 枚ずつインデックス化されます(バッチサイズは 1)。より高性能な GPU を利用できる場合は、より大きな batch_size を試してください。
{
"tool": "index_image",
"arguments": {
"image_path": "/path/to/image.png",
"source_file": "architecture.pdf",
"page_number": 3,
"metadata": {
"author": "John Doe",
"category": "network"
}
}
}
📊 get_index_stats
インデックスの統計情報を取得します。
{
"tool": "get_index_stats",
"arguments": {}
}
🗑️ clear_index
インデックスを完全に消去します(注意:元に戻せません)。
{
"tool": "clear_index",
"arguments": {
"confirm": true
}
}
デバッグ
サーバーのログを表示するには:
tail -n 1000 /tmp/colpali_mcp_startup.log
📚 リソース
注意
GPU の処理能力に余裕がある場合は、image_rag_server.py の search_screenshots ツールにおける最大 top_k を、リソースに応じて大きくしてください。これは、vlm mcp server の search ツールが入力として受け取る画像の最大枚数です。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。