Skip to main content

tteg

Free stock image search CLI and MCP server for AI coding agents. No API keys, no setup.

uv tool install tteg && tteg "mountain sunset"

Returns image URLs from Unsplash — ready to drop into any LLM workflow.

Install

uv tool install tteg
# or: pip install tteg

Usage

tteg "mountain sunset"
tteg "hero banner" -n 8 --orientation landscape
tteg "office workspace" --width 1920 --height 1080
tteg save "saas team working" ./public/hero
tteg batch examples/landing-page-images.json

Output

{
  "query": "mountain sunset",
  "results": [
    {
      "id": 1,
      "title": "A colorful sunrise over Jamnik village",
      "image_url": "https://images.unsplash.com/photo-...",
      "thumb_url": "https://images.unsplash.com/photo-...&w=200"
    },
    {
      "id": 2,
      "title": "Brown mountains under orange sky",
      "image_url": "https://images.unsplash.com/photo-...",
      "thumb_url": "https://images.unsplash.com/photo-...&w=200"
    }
  ]
}

Options

Flag Default Description
-n, --count 5 Number of results (1–10)
--orientation any landscape, portrait, square, or any
--width — Target width in pixels
--height — Target height in pixels

Save Locally

tteg save "saas team working" ./public/hero
tteg save "workspace desk" ./public/images/hero.jpg --orientation landscape

tteg save searches, picks one result, downloads it locally, and prints JSON with the saved path.

Batch A Page

tteg batch examples/landing-page-images.json

Manifest format:

{
  "images": [
    {
      "query": "saas dashboard hero",
      "output": "./public/images/hero",
      "orientation": "landscape"
    },
    {
      "query": "startup team meeting in office",
      "output": "./public/images/team",
      "orientation": "landscape"
    }
  ]
}

Use this when the page needs a hero, team shot, founder photo, testimonial portrait, or menu shot in one pass.

Starter Kit Drop-In

If you maintain a Claude Code, Codex, or Cursor starter kit, use the copy-paste blocks in STARTER_KIT.md.

It includes:

  • a CLAUDE.md snippet for real-photo frontend work
  • an AGENTS.md snippet for Codex projects
  • an MCP config block for tool access inside agent hosts

Why

Agents frequently need real images — hero banners, product shots, blog headers. The normal path (register for Unsplash, get an API key, handle rate limits) is too much friction for a mid-task agent call.

tteg abstracts all of that. One install, one command, clean JSON out.

MCP server

Use tteg directly from Claude Code, Cursor, or any MCP-compatible host from this repo:

{
  "mcpServers": {
    "tteg": {
      "command": "uvx",
      "args": ["--from", "git+https://github.com/kiluazen/tteg", "tteg-mcp"]
    }
  }
}

You can also install the package once and run tteg-mcp locally.

Exposes:

  • search_images(query, count, orientation, width, height)
  • save_image(url, output_path)
  • search_and_save_image(query, output_path, index, orientation, width, height)
  • batch_save_images(images)

No API key needed.

Links

Metadata

Release files for tteg 0.4.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for tteg 0.4.2
File Size Uploaded Provenance
tteg-0.4.2.tar.gz 21.1 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for tteg 0.4.2
File Interpreter ABI Platform
tteg-0.4.2-py3-none-any.whl Python 3 none any Details

Total release size: 47.7 kB

Release files / tteg-0.4.2.tar.gz

Download URL tteg-0.4.2.tar.gz
Size 21.1 kB
Tags Source
SHA-256 checksum
How to use checksums
0595fb69c035af986e577e917d2ed75da54aa1acfba07fb233713aedf83364a9
BLAKE2b-256 checksum
How to use checksums
fc4c5dfc5257cb66d7cf2180d56d9f02b9a8fab478393909e9609b4919f9d542
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.12

Release files / tteg-0.4.2-py3-none-any.whl

Download URL tteg-0.4.2-py3-none-any.whl
Size 26.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
33932a0bd62b65c41c1486c19faf2598fdb35e1d645fd6c3ff144f3282802e44
BLAKE2b-256 checksum
How to use checksums
6d14d64fb09fdf8aee84c252f1f40f51f636bcc69c25b7e27a1d0332a03d7c23
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.12

Security for tteg 0.4.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page