← 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.
Category
Other #174 of 230
Stars
★ 496 Popular
Transport
stdio (local process)
Runtime
Python 3.10+
Credentials
No credential needed
License
MIT
Last commit
Tools
1
46FMRS · D

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.

Strongest · Documentation 12/20 Weakest · Reliability 4/20

Reliability
4/20
Security and permissions
9/20
Maintenance
11/20
Documentation
12/20
Setup experience
10/20
Why each score
Reliability 4/20
The server manifest is not cached and the supplied material contains no source files, tests, or CI workflows, so the MCP init handshake, the tool list, and whether declared tools match real behavior cannot be verified. The README shows a plausible happy path (deep-image-search-mcp --index-path ... --model ...) and a Claude Desktop config snippet, but names no tools or parameters and documents no error handling. Heavy runtime dependencies (torch, FAISS, open_clip) make a clean start uncertain. Static calibration caps reliability at 12 without execution evidence; with no test/CI evidence at all, the score stays far below that.
Security and permissions 9/20
No red-line issues are present in the supplied material: no malware, credential theft, covert exfiltration, irreversible destructive defaults, or real tokens in install examples. The MCP server appears scoped to read-only search over a local index, which aligns with least privilege; however, the README does not document tool-level permissions, data-flow boundaries, or any confirmation flows, and the LLM captioner expects an api_key passed as a constructor argument with no env-var or MCP-specific guidance. Main risks are visible but scoping and disclosure are incomplete; anchored at 9.
Maintenance 11/20
The repository is not archived, has an MIT license, and the README indicates ongoing v3 development with modern pyproject/uv packaging and maintained optional extras; ownership is clearly stated (Nilesh Verma). However, the supplied material shows no release history, commit cadence, issue-response evidence, dependency-update policy, or security-response channel (e.g., SECURITY.md). Stars are treated only as a discovery signal and add no points. This matches "active but governance/versioning gaps", with a slight bump to 11.
Documentation 12/20
The README is layered and unusually complete for the library itself: feature list, multiple install paths, quick start, result JSON schema, vector stores, metadata backends, an embedding presets table disclosing limitations (text-search support), agentic integration, a full architecture tree, and a 10-demo table. Deductions: the MCP-server section is thin (no tool parameter reference, no limits/cost, no troubleshooting), "Read Full Documents" is only a GitHub Markdown file, and no manifest or source substantiates that the docs match real MCP behavior — hence 12.
Setup experience 10/20
The install path is clear: pip with the [mcp] extra (or git install), plus a Claude Desktop JSON config example with command and args. Deductions: the prerequisite of building a vector index (torch/FAISS-heavy) is implicit and burdensome; there are no steps to verify a working MCP connection, no transport (stdio/SSE) or environment variable notes, no platform compatibility caveats, and no troubleshooting. Static calibration caps setup at 15 without execution evidence; the flow looks plausible but manual and fragile, so 10.

Static review · not runListed 2026-08-07

Read the FMRS scoring method →

Fit and risk

What it can accessReads local files

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.

Setup

Before you start

Runtime:Python 3.10+

  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.

Check that it works

Install the [mcp] extra, index a folder, then add "deep-image-search-mcp" with --index-path to the Claude Desktop mcpServers config; the "search" tool should appear in the client's tool list, and a text query like "a sunset over mountains" returning scored image results confirms the connection.

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.

Things to try

Once connected, you can ask your AI assistant things like:

  • Search my image index for: a sunset over mountains
  • Find photos of a red car in my indexed images
  • Find images visually similar to query.jpg
  • Search for outdoor scene and show the top matches with scores

Tools 1

search read-only
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.

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 Desktop

Listed from the project's documentation, not tested by this site.

Overview

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.

Similar servers

BioMCP 75 · B

One binary. One grammar. Evidence from the biomedical sources you already trust.

★ 653 · Tools 11 Compare with this →

Source revision 471e0595c271 Data synced 2026-10-11 Read the FMRS scoring method