Files
klarbild-oss/mcp/README.md
T
tillandClaude Opus 5 e2481139a1
CI / check (push) Has been cancelled
Klarbild 1.0.0 — first public release
A self-hosted print studio: images at exact physical sizes, sheet layout with
crop marks, tiling, 1:1 PDF. Everything else — image generation, delivery,
share links, mail, Telegram — is an optional module that is off by default.

This is the neutral public twin of a private tool. Compared to that original:

- optional modules behind KLARBILD_MODULES; the default install is print-only
- English interface with German as a full second language (1,038 strings);
  the English sentence is the translation key
- no built-in accounts — first boot creates one admin from ADMIN_USERNAME /
  ADMIN_PASSWORD, or generates a password and logs it once
- delivery and backup targets are generic SFTP/FTPS endpoints, off by default
- English routes, English identifiers, English comments throughout
- two compose files: print-only by default, everything in the full one
- AGPL-3.0, CI (build, tests, type check, secret scan), CONTRIBUTING, SECURITY

124 tests green, type check clean, verified end to end against a live instance.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Nh4A79bbqT9dcd2inzYUdg
2026-09-15 14:52:41 +00:00

53 lines
2.0 KiB
Markdown

# Klarbild MCP server
Lets an AI assistant (e.g. Claude) hand images to Klarbild and have it process
them — things like "take the images from folder XY" or "process the photos
someone sent me over iMessage". The assistant fetches the image files (with its
own tools) and then calls the Klarbild tools.
## Setup
1. Generate a token in Klarbild: **Admin → "Automation / MCP access" → Generate token**.
2. Install the dependency: `npm i @modelcontextprotocol/sdk`
3. Start the server (or register it in your MCP client):
```json
{
"mcpServers": {
"klarbild": {
"command": "node",
"args": ["/path/to/mcp/klarbild-mcp.mjs"],
"env": {
"KLARBILD_URL": "https://klarbild.example.com",
"KLARBILD_TOKEN": "klb_…"
}
}
}
}
```
## Tools
- **list_recipes** — list the presets/recipes available.
- **process_images** — upload and process images (local paths or `data:` URLs).
Give either `recipeId` (a preset) or `mode` (`each`/`compose`/`generate`) + options:
`tasks` (`clean`/`cutout`/`format`/`contour`), `prompt_text`, `output_format`
(fixed, like `30x40`/`theframe`, **or custom**, `25x35` / `sticker5`), `output_ext`
(`png`/`jpg`, omit = global default), `orientation`, `crop_mode`, `contour_mm`,
`delivery_folder`, `delivery`. Returns the job ID.
- **job_status** — query the status of a job (including finish time and error messages).
## Modules
Klarbild has optional modules, switched on with the `KLARBILD_MODULES` environment
variable (see `src/lib/modules.ts`). A tool that belongs to a disabled module
(for example `process_images` when the `ai` module is off, since it can start an
AI generation) returns a 404 from the Klarbild API — the MCP server surfaces that
as a tool error, it does not hide or special-case it.
## Security
The token grants full programmatic access to upload/processing (not to the admin
area). Treat it like a password; if you suspect it has leaked, generate a new one
(which invalidates the old one).