# Imagegrain Muse connector

Deterministic, non-generative film finishing for still photos.

Muse should call the hosted MCP server. Do not drive the website UI. Do not
generate a new photograph. Preserve composition.

## Connection

| Item | Value |
| --- | --- |
| Product | imagegrain |
| Company | Imagegrain — Maximilian Braun |
| Website | https://imagegrain.com |
| MCP endpoint | https://imagegrain.com/mcp |
| Transport | Streamable HTTP JSON-RPC |
| Docs | https://imagegrain.com/connectors/muse |
| Privacy | https://imagegrain.com/privacy |
| Terms | https://imagegrain.com/terms |
| Support | https://github.com/mxbraun4/Imagegrain/issues |
| Auth | None by default |
| Payments | None |

Copy-paste initialize:

```bash
curl -sS --http1.1 -m 20 -X POST 'https://imagegrain.com/mcp' \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json, text/event-stream' \
  -H 'MCP-Protocol-Version: 2025-06-18' \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"muse","version":"1.0.0"}}}'
```

## Tool: add_grain

Pass the attached still photo as `image_base64`. Do not fetch URLs. Do not
use filesystem paths.

| Parameter | Type | Default | Notes |
| --- | --- | --- | --- |
| image_base64 | string | required | jpeg, png, or webp |
| intensity | number 0-100 | 40 | Grain strength |
| type | fine \| medium \| coarse | medium | Grain size |
| fade | number 0-100 | 0 | Lift blacks |
| warmth | number -100..100 | 0 | Warm / cool |
| vignette | number 0-100 | 0 | Darken edges |
| mono | boolean | false | Black and white |
| format | jpeg \| png \| webp | png | Output encoding |
| quality | integer 1-100 | 90 | jpeg/webp quality |

Returns the grained image as an MCP image content block.

## Example prompts

- Add medium film grain at intensity 40 to this photo.
- Give this portrait subtle fine grain and a light fade, without changing the composition.
- Make this photo black and white with coarse grain and a soft vignette.
- Apply a warm, faded film look to this image.

## Rules

1. This is finishing, not generation. Keep the original photograph.
2. Prefer jpeg output for photographs to keep the reply small.
3. Inputs above 8 MB decoded or 20 million pixels are rejected.
4. Photos are processed in memory and discarded after the response.
5. Conversation retention is Muse/Meta's, not imagegrain's.
