关于 Colpali MCP Server - Python
这是一个基于 ColPali 和 Elasticsearch 对图像及 PDF 内容进行索引与检索的 Python MCP 服务,适用于需要通过自然语言查找视觉文档的团队,并提供图像索引管理工具。
主要功能
- 01通过自然语言语义搜索图像
- 02索引图像和 PDF 页面
- 03生成 ColPali 多模态嵌入
- 04使用 Elasticsearch 存储与检索
- 05查看索引统计并清空索引
适用场景
- 01按文字描述查找图表或图像
- 02索引从 PDF 文档提取的图像
- 03检查或清空现有图像索引
MCP 相关
向 MCP 客户端提供图像搜索、图像索引、索引统计和清空索引工具,并以 Elasticsearch 作为存储后端。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Colpali MCP Server - Python
一个 MCP(Model Context Protocol)服务,用于使用 ColPali 和 Elasticsearch 在图像数据库中执行检索。
🚀 功能
- 图像语义搜索:使用自然语言查询查找相关图像
- 图像和 PDF 编入索引:自动为单张图像或完整 PDF 编入索引
- 多模态嵌入:使用 ColPali 生成结合视觉和语言的丰富嵌入
- 可扩展存储:使用 Elasticsearch 进行高效存储和搜索
- 标准 MCP API:兼容任何 MCP 客户端
📋 前置条件
- Python 3.10+
- Elasticsearch 8.0+
- 建议使用 GPU 运行 ColPali(也可在 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)。如果你有性能更好的 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 中根据可用资源调高 image_rag_server.py 里 search_screenshots 工具的最大 top_k 值。因为这实际上是 VLM MCP 服务的 search 工具接收的图像数量上限。
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。