The endpoint#
| Value | ||
|---|---|---|
URL | http | https://api.anjin.design/mcp |
Transport | streamable http | Any MCP client that can send a request header. |
Auth | header | Authorization: Bearer ik_live_… — the same API key as the REST API, same project scope, same metering. |
Connecting a client#
Claude Code — one command:
shell
claude mcp add --transport http anjin-design \ https://api.anjin.design/mcp \ --header "Authorization: Bearer YOUR_ANJIN_API_KEY"
Any other MCP client works the same way: point it at the URL with the authorization header. There is also a published anjin-design agent skill that teaches shell-capable agents the discover → inspect → render workflow via the CLI.
The tools#
| Tool | Kind | What it does |
|---|---|---|
list_projects | read | The project your key can use. Agents call it first. |
list_templates | read | Published templates with their addressing keys. |
get_template_schema | read | A template's slot contract — names and types. Always called before rendering. |
browse_folder | read | Walk the asset folder tree; list the assets inside a folder. |
search_assets | read | Find approved assets by tag or metadata, ranked, with URLs ready for a render. |
upload_asset | write | Add an image to the asset library from a URL, with tags. |
render_image | render | Render one image and return its URL directly — no polling. Costs 1 credit (× scale²). |
render_batch | render | Render many rows from one template; one URL per row, per-row failures isolated. |
The loop agents follow#
- Discover —
list_templatesfor what exists and its addressing keys. - Inspect —
get_template_schemafor what a template accepts. - Source —
search_assetsfor an approved image, rather than reaching for one off the internet. - Render —
render_image, get a permanent URL back.
Guardrails#
These are structural, not prompt instructions an agent could ignore:
- Unmarked design isn’t editable. Only slots change.
- Image slots can be folder-bound — a bound slot rejects anything outside its approved folder (
image_out_of_folder). - Unknown slot names fail loudly —
422naming the offender, no credit charged. A correctable error instead of a plausible wrong image. - Only published templates render. Drafts are unreachable.
- Every render is attributable — logged against the key that made it.
