image_studio_mcp
by ross-sec
README.md
# image_studio_mcp
[](https://www.npmjs.com/package/@ross_technologies/image_studio_mcp)
[](./LICENSE)
[](https://nodejs.org)
A [Model Context Protocol](https://modelcontextprotocol.io) server that lets any MCP client β
Claude Code, opencode, Claude Desktop, or your own β **generate and edit images in-loop** with
[Image Studio](https://studio.ross-developers.com). Results come back **inline** (the
model sees the image) and each PNG is saved to disk.
You need nothing but Node β₯20 and an API key: point your client at `npx @ross_technologies/image_studio_mcp`,
drop in your key, and go. No clone, no build, no local model β all rendering runs on the hosted Image
Studio API.
- π¦ **npm:** [`@ross_technologies/image_studio_mcp`](https://www.npmjs.com/package/@ross_technologies/image_studio_mcp) Β· **v1.0.1**
- π **Get an API key:** https://studio.ross-developers.com
- π **Full docs:** https://studio.ross-developers.com/agents/mcp/docs
## Quick start
Add this to your MCP client config (e.g. `.mcp.json`), put in your key, and restart the client:
```jsonc
{
"mcpServers": {
"image-studio": {
"command": "npx",
"args": ["-y", "@ross_technologies/image_studio_mcp"],
"env": { "IMAGE_STUDIO_API_KEY": "isk_your_key_here" }
}
}
}
```
Don't have a key yet? Use the watermarked, no-GPU sandbox key `isk_test_onelove` to try it out.
Then just ask your agent to make an image β e.g. *"generate a sunset over Kingston harbour"* β and
it will call `generate_image`, show you the result inline, and save the PNG.
## Tools
| tool | description |
|------|-------------|
| `list_models` | list the image models (generation + editing) with their tasks and parameters |
| `generate_image` | textβimage (`irie`, `vibes`, `roots`, `sunsplash`, `criss`, `kaya`, `wagwan`) β blocks, returns inline + saves |
| `edit_image` | image edit (`remix`, `bashment`, `patchie`[mask], `bredda`, `rocksteady`, `biggup`[upscale]) β `input_image` = path / data URI / base64 |
| `get_job` | poll a job by id |
| `cancel_job` | cancel a job |
`generate_image` / `edit_image` submit the job, poll to completion (up to `MCP_MAX_WAIT_S`), return
every image as an inline base64 block **and** write it to `IMAGE_OUTPUT_DIR/<job_id>/<n>.png`. Call
`list_models` first to see every model, its task, and its tunable parameters.
## Configuration
Set via your MCP client's `env` block (above) or a `.env` file. See [.env.example](./.env.example).
| var | required | default | notes |
|-----|:---:|---------|-------|
| `IMAGE_STUDIO_API_KEY` | β
| β | Your key from https://studio.ross-developers.com. Server refuses to start without it. |
| `IMAGE_OUTPUT_DIR` | | `<package>/outputs` | where PNGs are saved |
| `MCP_MAX_WAIT_S` | | `900` | max seconds a tool blocks before returning a job handle |
## Install (optional)
`npx` needs no install. To pin it globally instead:
```bash
npm install -g @ross_technologies/image_studio_mcp
# then use "command": "image_studio_mcp" (no npx) in your MCP config β the bin is unscoped
```
### From GitHub Packages
Also mirrored to GitHub Packages under the `@ross-sec` scope. Point that scope at GitHub's registry, then install:
```bash
echo "@ross-sec:registry=https://npm.pkg.github.com" >> .npmrc
npm install @ross-sec/image_studio_mcp
```
## Releases
- **Latest: [v1.0.1](https://github.com/ross-sec/image_studio_mcp/releases/tag/v1.0.1)** β see [CHANGELOG.md](./CHANGELOG.md).
- npm: https://www.npmjs.com/package/@ross_technologies/image_studio_mcp
- GitHub Packages: https://github.com/ross-sec/image_studio_mcp/packages
## How it works
`generate_image` / `edit_image` call your Image Studio backend, poll the job to completion, and return
the finished PNG both **inline** (so the model sees it) and on disk. Nothing runs locally β the server
is a thin, typed client over the hosted `/v1` API. It talks to your MCP client over **stdio**, and logs
only to stderr (stdout is the JSON-RPC stream). Your `IMAGE_STUDIO_API_KEY` is read from the client
`env` / a local `.env` and is never written to disk or logged. See [SECURITY.md](./SECURITY.md).
## Contributing & conduct
Contributions welcome β see [CONTRIBUTING.md](./CONTRIBUTING.md). This project follows the
[Contributor Covenant](./CODE_OF_CONDUCT.md).
## License
[MIT](./LICENSE) Β© Andre Ross
This server cannot be deployed
Maintenance
ActivitySlowing
ResponsivenessNo issues