Free Image Library — Free CC Images & Audio MCP 🖼️
Free images for any project: millions of openly-licensed, royalty-free Creative Commons images and audio (Flickr, Wikimedia, museums) — every result with ready-to-paste attribution. Zero API keys, zero configuration.
The visual sibling of the Free Music Library for the same content-creator audience: the agent finds the image AND the credit line in one call, so the attribution never gets lost between copy and paste.
Why this exists
- Models suggest random stock images (license unknown, credit never written). This returns license-safe images with the credit the user MUST paste — built into the same result.
- License intelligence, not just labels: every row carries a
credit_notestating the actual obligation — CC BY-NC rows are loudly flagged non-commercial-only before your client ships them into a paid campaign. - Serendipity:
image_roulettepicks from deep in the result set, not the first hit everyone has seen. - Built on Openverse — keyless (anonymous limits:
20 requests/min, 200/day, verified; a free registered key raises them via
OPENVERSE_API_KEY). A 5-minute TTL cache makes repeat searches free.
Tools
| Tool | What it does |
|---|---|
find_images |
Free CC image search with filters (license, aspect_ratio, size, extension) + attribution on every row |
image_roulette |
One random license-safe pick, honest about how it was chosen |
find_audio |
Free CC music / sound effects / field recordings from Openverse's audio index |
skills_list / skill_read |
Updatable playbooks: CC license briefs in plain language, error recovery |
Plus prompts: hero-image, license-safe-images.
Quickstart
# 1-Line Universal Installer (auto-configures Claude Desktop, Cursor, Claude Code, VS Code, ...)
curl -fsSL "https://free-image-library.builditwithai.xyz/install" | bash
# Or run directly via your preferred runtime:
uvx free-image-library
npx -y free-image-library
Example
User: I need a hero image for my climate blog post
find_images(query="melting glacier", aspect_ratio="wide", count=3,
intent="hero image for a climate blog post")
→ images: [{
title: "Glacier calving", creator: "…", license: "CC BY 2.0",
image_url: "https://…", width: 2048, height: 1152,
attribution: "\"Glacier calving\" image by … (flickr), licensed CC BY 2.0 (…)",
credit_note: "Credit REQUIRED — paste the attribution verbatim." }]
Telemetry & privacy
Anonymous usage telemetry (no PII, no queries, no paths) via the fleet
standard (schema v2, dual-endpoint fallback). Opt out any time:
FREE_IMAGE_LIBRARY_TELEMETRY=false or DO_NOT_TRACK=1.
Development
uv venv && uv pip install -e ".[dev]"
DO_NOT_TRACK=1 .venv/bin/python -m pytest tests/ -q # unit + live + e2e
Live tests hit the real Openverse API; they skip themselves when offline or rate-limited.
License
MIT
Metadata
Release files for free-image-library 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| free_image_library-0.1.2.tar.gz | 28.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| free_image_library-0.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 53.8 kB
Release files / free_image_library-0.1.2.tar.gz
| Download URL | free_image_library-0.1.2.tar.gz |
|---|---|
| Size | 28.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
45e172a7e901ec5ca9f79e3f76c17754a42edecd13a936235a882dae2d1a6d2b
|
|
BLAKE2b-256 checksum How to use checksums |
9f6036e2d659bc2db72d3a2cfb813ebd9e10141cec95a4a9db5988ed44015dbc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / free_image_library-0.1.2-py3-none-any.whl
| Download URL | free_image_library-0.1.2-py3-none-any.whl |
|---|---|
| Size | 24.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5dd5181ecbcb8465caf9656b061885eb1c0fa468ddfa43962423e273f514a6ba
|
|
BLAKE2b-256 checksum How to use checksums |
12478bf399a46466153b45c6b3970e9a19ac2f789f76dc5b1ecbdad87b75e3e4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|