Splitting generation from download is the design decision worth knowing: the model gets back a link it can iterate on cheaply, and only a deliberate second call writes bytes to your filesystem. Prompts do better in English, and short concrete phrasing beats long descriptions.
A TypeScript server that calls the Pollinations.ai image and text endpoints over stdio. Images come back as a URL first, and a separate call writes the file locally, so nothing large travels through the conversation unless you ask for it.
- `generate_image` takes a prompt and returns an image URL — `width` and `height` default to 1024, and `nologo` defaults to true so the watermark is off
- `seed` reproduces the same picture; `model` selects flux, variation, dreamshaper, anything or pixart
- `enhance`, `safe` and `private` toggle the quality filter, the content filter and whether the image shows in the public feed
- `download_image` saves a generated URL to `output_path`, defaulting to image.jpg
- `generate_text` runs a prompt through openai, mistral or gemini, with optional `system` prompt and JSON output
The package `pollinations-mcp`, version 1.0.0. There is no published binary — clone the repository, run `npm install` and `npm run build`, then point your client at `dist/index.js` with `node`. The author reports that the Cursor path may not work and recommends Cline. No API key is mentioned.
