一个用于在图像数据库上进行检索的MCP(模型上下文协议)服务器,使用ColPali和Elasticsearch。
git clone https://github.com/camillebrl/colpali_server
cd colpali_server
make install
在你的MCP客户端的mcp.json中添加以下内容:
{
"mcpServers": {
"colpali-server": {
"command": "colpali_server/start_server.sh 的路径",
"env": {
"ES_HOST": "localhost:9200", // 根据你的Elasticsearch主机名调整
"ES_USER": "elastic", // 根据你的Elasticsearch用户名调整
"ES_PASSWORD": "elasticsearch 密码" // 根据你的Elasticsearch密码调整
}
}
}
}
该服务器提供了以下工具:
search_images在数据库中搜索相关的图像。
{
"tool": "search_images",
"arguments": {
"query": "网络架构图",
"top_k": 5
}
}
index_image将新图像索引到数据库中。 请注意,文件夹中的图像会逐个索引(批量大小为1)。如果你有更强大的GPU,可以尝试更大的批量大小。
{
"tool": "index_image",
"arguments": {
"image_path": "/图像路径/image.png",
"source_file": "architecture.pdf",
"page_number": 3,
"metadata": {
"author": "John Doe",
"category": "网络"
}
}
}
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中的最大top_k值,以适应你的资源情况。因为这是search_screenshots工具的最大输入图像数量。
</中文翻译>