Connect Iconly MCP to Claude and OpenAI

Use Iconly's design tools directly from Claude or an OpenAI-powered application through one authenticated remote MCP endpoint.

Server URL — Use https://iconly.ai/mcp. Claude's hosted connector uses OAuth automatically. OpenAI API examples can use an Iconly API key as the MCP bearer credential.

What the Iconly MCP server can do

The remote server exposes the same account-aware workflows used by Iconly's agent. The assistant can inspect your available resources, generate assets, improve temporary icon results, and save approved work to your library.

  • Account and discovery: check tokens, list presets, inspect brands, and browse recent library or media assets.
  • Generation: create raster icons, centered SVG vectors, social creatives, and responsive email templates.
  • Icon finishing: recolor, change line thickness, smooth edges, crop and recenter, or remove backgrounds.
  • Reusable systems: create prompt templates and save generated icons or vectors to your Iconly library.
Token usage — Generation tools consume tokens from the connected Iconly account. Several post-processing operations are free. Social and email generation require an eligible plan.

Connect Iconly to Claude

Claude's custom connector runs from Anthropic's hosted infrastructure, so use Iconly's public HTTPS MCP URL rather than a local address.

Claude Pro or Max

1

Open connectors

In Claude, go to Customize → Connectors.

2

Add a custom connector

Select +, choose Add custom connector, and enter https://iconly.ai/mcp.

3

Connect with Iconly

Click Add and then Connect. Sign in to Iconly in the browser window and review the requested permission.

4

Allow and enable

Select Allow access. In a Claude conversation, use the + menu, open Connectors, and enable Iconly.

You do not need to enter an OAuth client ID or secret. Iconly supports dynamic client registration, PKCE, refresh-token rotation, and revocation for the hosted flow.

Claude Team or Enterprise

An Owner or Primary Owner first adds the URL under Organization settings → Connectors → Add → Custom → Web. Each member then opens Customize → Connectors and connects their own Iconly account.

For the latest Claude interface and plan-specific steps, see Anthropic's custom connector guide.

Connect Iconly to the OpenAI Responses API

OpenAI's Responses API accepts remote MCP servers through the built-in mcp tool. For a private backend integration, create an Iconly API key under Iconly Settings → API Key and keep it in a server-side environment variable.

OPENAI_API_KEY=your_openai_api_key ICONLY_API_KEY=ik_your_iconly_api_key

Python: verify the connection safely

This first request imports only the read-only check_tokens tool. It is a useful connection test before enabling generation.

import os from openai import OpenAI client = OpenAI() response = client.responses.create( model=os.environ.get("OPENAI_MODEL", "gpt-5.6"), input="Check my Iconly token balance.", tools=[{ "type": "mcp", "server_label": "iconly", "server_description": "Generate and manage design assets with Iconly.", "server_url": "https://iconly.ai/mcp", "authorization": os.environ["ICONLY_API_KEY"], "allowed_tools": ["check_tokens"], "require_approval": "never", }], ) print(response.output_text)

Python: require approval before generation

Generation consumes Iconly tokens, so this example asks your application to approve the tool call before anything is sent to Iconly.

import os from openai import OpenAI client = OpenAI() model = os.environ.get("OPENAI_MODEL", "gpt-5.6") iconly_tool = { "type": "mcp", "server_label": "iconly", "server_description": "Generate and manage design assets with Iconly.", "server_url": "https://iconly.ai/mcp", "authorization": os.environ["ICONLY_API_KEY"], "allowed_tools": ["list_presets", "generate_icon", "save_to_library"], "require_approval": "always", } first = client.responses.create( model=model, input="Create a centered blue line icon of a shopping cart. Do not save it yet.", tools=[iconly_tool], ) approval = next( item for item in first.output if item.type == "mcp_approval_request" ) # Show approval.name and approval.arguments to your user before continuing. second = client.responses.create( model=model, previous_response_id=first.id, tools=[iconly_tool], input=[{ "type": "mcp_approval_response", "approval_request_id": approval.id, "approve": True, }], ) print(second.output_text)
Do not expose either key in frontend code. The OpenAI API key authenticates your application to OpenAI. The Iconly API key authenticates the remote MCP request to your Iconly account. Store both in a backend secret manager or environment variables.

OpenAI documents the current MCP request fields, approval objects, tool filtering, and safety guidance in its MCP and Connectors guide.

Prompts to test the integration

Begin with discovery, then generate a single temporary asset before asking the assistant to save anything.

Check my Iconly token balance and list the available icon presets.
Create a centered black line icon of a package with a small checkmark. Show me the result, but do not save it yet.
Use my saved brand to create a square product-launch social graphic. Keep the headline short and use the brand fonts.
Create a promotional email for the same launch and reuse the brand colors and media assets.

Raster icons and vectors initially receive a temporary image_id. Ask the assistant to call save_to_library only after you approve the visual.

Authentication and safety

  • Claude UI: use Iconly OAuth. Claude never needs your Iconly password, and each user connects their own account.
  • OpenAI backend: pass an Iconly API key in the MCP authorization field. Rotate it from Iconly Settings if it is exposed.
  • Restrict tools: use allowed_tools to expose only the tools required by your workflow.
  • Approve writes: require approval for generation, saving, post-processing, social creative, and email tools.
  • Review inputs: an MCP tool receives the arguments the model assembled. Inspect them before approving costly or sensitive operations.

Troubleshooting

Claude does not open the Iconly login

Remove the custom connector and add https://iconly.ai/mcp again. Do not enter a manual client ID or secret. Make sure pop-ups are allowed for the OAuth window.

The server returns 401 Unauthorized

Reconnect Claude, or generate a new Iconly API key for an OpenAI backend. Pass the raw ik_ value in authorization; do not add the word Bearer yourself.

OpenAI returns an approval request instead of an asset

This is expected when require_approval is enabled. Display the tool name and arguments, then send an mcp_approval_response using the previous response ID.

A generation tool reports insufficient access or tokens

Ask the assistant to run check_tokens. Confirm that your Iconly balance and plan support the requested tool.

The assistant generated an icon but it is missing from the library

Generated raster icons and vectors are temporary until save_to_library runs successfully.

More detail — Follow the dedicated Claude connector guide or the OpenAI Responses API guide for platform-specific setup, examples, and troubleshooting.