Anjin Design
Docs navigation

Docs

MCP & AI agents

A hosted MCP server that lets agents produce images from templates a designer approved — and structurally cannot produce off-brand output, because layout, type and colour are never exposed to it.

The endpoint#

Value
URLhttphttps://api.anjin.design/mcp
Transportstreamable httpAny MCP client that can send a request header.
AuthheaderAuthorization: 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#

ToolKindWhat it does
list_projectsreadThe project your key can use. Agents call it first.
list_templatesreadPublished templates with their addressing keys.
get_template_schemareadA template's slot contract — names and types. Always called before rendering.
browse_folderreadWalk the asset folder tree; list the assets inside a folder.
search_assetsreadFind approved assets by tag or metadata, ranked, with URLs ready for a render.
upload_assetwriteAdd an image to the asset library from a URL, with tags.
render_imagerenderRender one image and return its URL directly — no polling. Costs 1 credit (× scale²).
render_batchrenderRender many rows from one template; one URL per row, per-row failures isolated.

The loop agents follow#

  • Discoverlist_templates for what exists and its addressing keys.
  • Inspectget_template_schema for what a template accepts.
  • Sourcesearch_assets for an approved image, rather than reaching for one off the internet.
  • Renderrender_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 loudly422 naming 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.