← Back to directory
D

DeepImageSearch

Community
DeepImageSearch is a Python library for fast and accurate image search, supporting text-to-image, image-to-image, and hybrid search.
GitHub source repository ↗
★ 489 Stars Category · Other Popular Source revision 471e0595c271
46FMRS · D
Reliability
4/20
Security and permissions
9/20
Maintenance
11/20
Documentation
12/20
Setup experience
10/20

DeepImageSearch is a feature-rich image search library with built-in MCP server support, making it easy for AI agents to use. It supports multiple search modes, vector stores, and LLM captioning, but users should be mindful of privacy and resource usage.

Read the FMRS scoring method →

DeepImageSearch is a Python library for building AI-powered image search systems. It leverages multimodal embeddings like CLIP, SigLIP, and EVA-CLIP, combined with vector indexing via FAISS, ChromaDB, or Qdrant, to enable text-to-image, image-to-image, hybrid search, and LLM-powered captioning. Built for the agentic RAG era, it includes an MCP server, LangChain tool, and PostgreSQL metadata storage out of the box, making it easy to integrate into AI agent workflows like Claude.

Tools

search
Performs image search using a text query (e.g., "a red car parked near a lake"), an image query, or a hybrid query, with optional filters and metadata-rich results.

Setup

  1. Install DeepImageSearch: pip install DeepImageSearch --upgrade. Optionally install extras: pip install "DeepImageSearch[all]" for all features. 2. Start the MCP server via CLI: deep-image-search-mcp --index-path ./my_index --model clip-vit-l-14. 3. Configure Claude Desktop by adding the MCP server to its config with the command and arguments.

Fit and risk

Best for

  • AI agent developers needing fast and accurate image search capabilities.
  • Vision applications that require text, image, and hybrid search in one library.
  • Production environments needing scalable vector search (FAISS, ChromaDB, Qdrant) and metadata management.

Not for

  • Users needing real-time video search or object detection.
  • End-users without Python or machine learning background.
  • Specific features requiring non-OpenAI-compatible LLM providers (though most OpenAI SDK endpoints work).

Required permissions

  • Filesystem access: for indexing image folders or files.
  • Network access: for downloading model weights (e.g., CLIP) and calling LLM APIs (e.g., OpenAI).
  • Local resources: GPU (CUDA/MPS) acceleration if available.

Risks and side effects

  • Privacy: image data may be sent to third-party LLM services when generating captions.
  • Performance: large-scale indexing can consume significant CPU/GPU and memory resources.
  • Dependency: relies on external models and vector databases, which may fail due to network or version changes.

Troubleshooting

  1. Ensure Python version >= 3.10.
  2. If using a GPU, uninstall `faiss-cpu` and install `faiss-gpu`.
  3. Check network connectivity for model downloads, or pre-download models manually.
  4. If LLM captioning fails, verify API key and base URL.

Use cases

Natural language search over large image collections, e.g., find photos of "a sunset over mountains".
Finding visually similar images from a query image, useful for duplicate detection or content-based recommendations.
Providing image search capabilities to AI agents for vision-based QA or automated visual analysis.

Supported clients

Claude DesktopFull support