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.mdsnippet for real-photo frontend work - an
AGENTS.mdsnippet 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
- tteg.kushalsm.com — landing page
- PyPI —
pip install tteg - Free: 50 queries/day. No account needed.
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)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| tteg-0.4.2.tar.gz | 21.1 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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.