mcpField
C
Colpali MCP Server - Python

Colpali MCP Server - Python

本地服务
github.com/camillebrl搜索与检索173 周前更新

关于 Colpali MCP Server - Python

这是一个基于 ColPali 和 Elasticsearch 对图像及 PDF 内容进行索引与检索的 Python MCP 服务,适用于需要通过自然语言查找视觉文档的团队,并提供图像索引管理工具。

主要功能

  1. 01通过自然语言语义搜索图像
  2. 02索引图像和 PDF 页面
  3. 03生成 ColPali 多模态嵌入
  4. 04使用 Elasticsearch 存储与检索
  5. 05查看索引统计并清空索引

适用场景

  1. 01按文字描述查找图表或图像
  2. 02索引从 PDF 文档提取的图像
  3. 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

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。