Skip to main content
Images MCP gives your agent tools to search the Lightdrift image library, find similar images, and retrieve image details. This is the same connection available under Learn → Connect Images MCP in the dashboard.
Want your agent to look up API usage and documentation? Connect Docs MCP. You can install both servers in the same client.

Before you connect

Use a client that supports remote MCP over Streamable HTTP. For browser sign-in, it also needs OAuth support. Have your Lightdrift account ready, or create one when prompted. New users must agree to the Terms of Service and Privacy Policy during signup. Searches use your account’s available credit. Check your balance in the dashboard.
If sign-in opens in an embedded browser and Google or passkey sign-in fails, open the sign-in link in your normal browser and complete authentication there.

Tools

Every search result carries the same rights object as the REST API. See Rights answers. Searches default to excluding AI-generated records (non-AI artwork can still appear), commercial-use licences, files at least 1000 px wide, and nsfw_max:0.2; pass one of these defaulted filters as null to opt out (see Defaults).

Search architecture and options

Images MCP uses the same Voyage index as the REST API: 1,852,370 captioned images at launch. The broader collection contains about 2 million images and icons; icon packs are outside this search index. Joint image-and-caption embeddings feed semantic and keyword retrieval, then rerank-3 ranks candidate captions. mode:auto is the default: text queries use caption reranking, image-only queries use image similarity, and image-plus-text queries blend joint-embedding similarity with caption text reranking. text forces caption reranking and requires text; none skips reranking while still using Voyage embeddings. search_images accepts optional query plus image_base64 (upload as base64 or a data URL) or image_url (public HTTPS). Supply text, one image, or both; never both image fields. JPEG, PNG and WebP still images up to 5 MiB and 20 megapixels are supported. Images are resized to a maximum 1024-pixel edge before embedding. Use search examples for JSON payloads. find_similar_images continues to accept an indexed asset ID. Similarity excludes the seed and does not use text reranking. A seed outside the index returns an error; no old-index fallback is used. Search responses include backend, ranking and timing fields. Reranker failure may return an explicit degraded result in retrieval order; this successful response is billed. Failed searches are not charged. Repeated MCP calls can charge again, because each is a new search. get_image is free and may resolve a saved legacy asset even when that asset cannot be used as a current-index similarity seed. File URLs redirect to signed downloads. If a client still shows the old tool schema, reconnect or refresh its tool list. Respect Retry-After for availability and rate-limit errors; do not wait for a legacy GPU to warm up.

Choose your client

Complete sign-in in the browser, then return to Codex.With an API key instead, in ~/.codex/config.toml:

Use an API key instead of sign-in

Create a key in API keys, then use the header configuration shown for your client above. In other clients with custom header support, set X-API-Key to your key. Use either OAuth or an API key for a connection, not both. Keep keys out of shared project files and source control. Use your client’s private configuration or secret storage when available. API-key requests use the credit of the account that owns the key.

Check the connection

Open your client’s MCP tools list and look for search_images, find_similar_images, and get_image under lightdrift. If they are missing, reload the connection or restart the client after saving its configuration. Listing tools does not run a paid image search. The example below does: a successful search costs $0.02. Once connected, ask for an image the way you would ask a person:
Find me a photo of a coastal lighthouse at dusk with room for a headline on the left, and tell me the attribution I need to include.
The agent calls search_images, reads rights.attribution from the top result, and hands you both.

Troubleshooting

Next steps