Developer platform

Give your AI agent a logo studio.

Connect once, then generate editable SVG wordmarks from Codex, Kilo, Zcode, Claude Code, or any compatible MCP client.

01

Create your API key

Open your Wordmarks account, create a personal API key, and copy it once. Never use the PesatRouter key here.

02

Connect MCP

Use Streamable HTTP directly, or mcp-remote when your agent only supports local stdio.

03

Describe the logo

Ask naturally. The agent calls generate_wordmark_logo and receives an editable SVG.

Remote MCP

For MCP-native agents

MCP URL: https://wordmarks.net/mcp
Transport: Streamable HTTP
Header: Authorization: Bearer YOUR_WORDMARKS_TOKEN

Local bridge

For stdio-only agents

{
  "type": "local",
  "command": [
    "npx.cmd", "-y", "mcp-remote",
    "https://wordmarks.net/mcp",
    "--header", "Authorization: Bearer ${WORDMARKS_TOKEN}"
  ],
  "environment": { "WORDMARKS_TOKEN": "YOUR_TOKEN" },
  "timeout": 120000
}

Natural-language workflow

No JSON on every request.

Once connected, users simply describe the brand. The agent chooses the Wordmarks tool automatically.

Use generate_wordmark_logo to create a modern horizontal wordmark for
"Kopi Nusantara", a premium Indonesian coffee brand. Use dark brown and gold.
Save the result as kopi-nusantara.svg.

Client setup

One endpoint, your preferred agent.

Codex CLI

Add a Streamable HTTP MCP server, use the URL above, then set the Authorization header.

Kilo Code

Settings → Agent Behaviour → MCP Servers → add a remote server with URL and Bearer header.

Zcode

Open MCP settings and add the remote endpoint. If remote HTTP is unavailable, use the local bridge config.

Claude Code

Run: claude mcp add --transport http wordmarks <URL> --header "Authorization: Bearer <TOKEN>"

Cursor

Add the local mcp-remote bridge to .cursor/mcp.json, then restart Cursor.

Generic client

Use Streamable HTTP POST, MCP protocol 2025-06-18, and Authorization: Bearer wm_live_...

Usage: one successful logo costs one credit. Failed generation attempts are refunded. Rate-limit headers are returned with every HTTP response; if limited, wait for Retry-After before retrying.