MCP server (AI agents)
Let an AI agent — Claude Desktop, Claude Code, Cursor, or any Model Context Protocol client — render images and PDFs from your templates, and screenshot live URLs, as tool calls. It’s the same REST API you’d call yourself, exposed as agent tools.
There’s one Mostly Tiny MCP server (mostlytiny-mcp). You can run it two ways — scoped
to just MostlyRender, or signed in to your whole Mostly Tiny account. Both expose the same
MostlyRender tools; pick by how much of the toolkit you want.
# Recommended — just MostlyRender (one API key)
Run the server with a single MostlyRender key and it exposes only the render tools — a
small, focused tool surface, which is what agents pick from most reliably. Create a key in
Settings → API keys (mr_live_… or mr_test_…), then:
Claude Code:
claude mcp add mostly-tiny --env MOSTLYRENDER_API_KEY=mr_live_xxx -- npx -y mostlytiny-mcp
Claude Desktop / Cursor (claude_desktop_config.json · .cursor/mcp.json):
{
"mcpServers": {
"mostly-tiny": {
"command": "npx",
"args": ["-y", "mostlytiny-mcp"],
"env": { "MOSTLYRENDER_API_KEY": "mr_live_xxx" }
}
}
}
Use an mr_test_… key while wiring up — test renders don’t touch your live usage.
# The whole toolkit — hosted, sign-in (no key)
Using more than one product? Add the hosted server by URL and sign in with your Mostly Tiny account in the browser (OAuth 2.1 — no API key to manage). You get every live product’s tools at once: render an image and make a QR code, generate a privacy policy, add a map — from one install.
claude mcp add --transport http mostly-tiny https://mcp.mostlytiny.io
Either way, the always-on mostlytiny_catalog tool lets an agent discover the rest of the
portfolio (and how to switch a product on) — so you can start with MostlyRender and grow
into the toolkit without reinstalling anything.
# MostlyRender tools
| Tool | What it does |
|---|---|
mostlyrender_list_templates |
List your templates (id, name, size, engine). Call this first — each layer name is a render parameter. |
mostlyrender_render |
Render a template to PNG / JPEG / WebP / PDF → public asset URL. Overrides layers by name. |
mostlyrender_render_batch |
Render many variations of one template in a single call. |
mostlyrender_screenshot |
Capture any public URL as an image or PDF. |
mostlyrender_render_by_url |
Render-on-the-fly via a signed URL (OG images, <img> tags). |
mostlyrender_get_render |
Check an async render’s status and get its result URL. |
mostlyrender_get_account |
Return the connected account’s plan, usage and email. |
# A typical agent flow
The agent discovers a template, sees its layers are named title, subtitle and badge,
then renders it — no human in the loop:
You: Make a launch image titled "We raised our Series A".
Agent: → mostlyrender_list_templates → tpl_launch (layers: title, subtitle, badge)
→ mostlyrender_render { template: "tpl_launch",
modifications: { title: "We raised our Series A",
badge: "News" } }
← https://img.mostlyrender.com/r/rnd_9f3a.png
Because the layer name is the parameter, an agent can introspect a template and fill it correctly with nothing wired up. See Templates as parameters.
# Authentication
The scoped server authenticates with your API key — the same key the REST API and SDKs use; the hosted server uses your signed-in Mostly Tiny account instead. Renders made by an agent are billed exactly like any other render: by usage, never blocked.
| Variable | Required | Default |
|---|---|---|
MOSTLYRENDER_API_KEY |
yes (scoped mode) | — |
MOSTLYRENDER_BASE_URL |
no | https://api.mostlyrender.com |