> ## Documentation Index
> Fetch the complete documentation index at: https://docs.glif.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Glif MCP

The Glif MCP helps you generate images, video and audio from any AI agent. Connect it to the AI apps you already use, such as Claude, ChatGPT, Cursor, Codex or VS Code, and your agent can create and iterate on the media your project needs. Everything is saved to your Glif account and uses your Glif credits.

The Glif MCP server is in beta, so details may change.

**Server URL:** `https://glif.app/api/mcp`

## What you can do with it

Describe what you want in natural language and let your agent use Glif to bring the idea to life. Use it to:

* **Create marketing assets:** hero images, landing-page graphics, blog headers, ad sets and launch materials
* **Explore visual concepts:** generate several logo, illustration or design directions
* **Adapt existing designs:** make variations, dark-mode versions and alternate formats for every placement
* **Create motion:** short animations and video concepts that explain products, features or user flows
* **Work from your existing documents:** if your agent can read your briefs, product sheets or brand docs, it can pass the details straight to Glif
* **Run your brand Skills from anywhere:** "Use our launch-ad-set skill on this product photo."

## How to get started

Using Glif MCP inside Claude or ChatGPT is included with the Pro plan and above; advanced automation via MCP/API is included with Pro L and above. See Credits and Payments.

### Option A: Agent-led setup

Give your agent these instructions:

text

```text theme={null}
Install the Glif MCP server: https://glif.app/api/mcp — full instructions: https://glif.app/llms.txt
```

### Option B: Manual setup

**1. Pick your client**

Common supported apps:

* Claude
* ChatGPT
* Cursor
* VS Code
* LM Studio
* Kiro
* Replit

Common supported CLI tools:

* Claude Code
* Codex
* Hermes
* OpenClaw

Setup steps for each are on the tabs at [glif.app/mcp](https://glif.app/mcp).

**2. Connect**

In Claude (web and desktop):

1. Go to [Customize → Connectors → + → Add custom connector](https://support.anthropic.com/en/articles/11175166-getting-started-with-custom-connectors-using-remote-mcp).
2. Paste this URL:

text

```text theme={null}
   https://glif.app/api/mcp
```

3. Approve the Glif sign-in when Claude opens the OAuth flow.

Custom connectors need a paid Claude plan.

In other apps, add a remote MCP server with the URL `https://glif.app/api/mcp` in your app's MCP settings, then complete the Glif sign-in. If your app can't do the browser sign-in, use an API key instead (see Glif API).

## Example prompts

Here are a few ideas to get you started:

* "Make a hero banner image for my landing page — hand-drawn, on brand"
* "Generate header art for my blog post about our API launch"
* "Generate 4 logo concepts for my MCP server launch"
* "Make dark-mode variants of these graphics"
* "Make a quick animation about users going through this app"
* "Use Glif to make 3 static ad concepts for this product in 4:5 and 9:16, using our brand kit"
* "Continue the Glif project from earlier and add two more headline variations"

Your agent shares a link to the project on glif.app, where you can watch it run and find everything later.

## Costs

Work started from another app uses your Glif credits, the same as on glif.app. Your AI app should check with you before starting a job; there's no approval step once a job is running. For big batches, ask for drafts first.

## Manage access

Review or revoke connected apps at [glif.app/settings/api-tokens](https://glif.app/settings/api-tokens).

## More on glif.app

* [MCP setup](https://glif.app/mcp)
* [API overview](https://glif.app/api)
* [API tokens and connected apps](https://glif.app/settings/api-tokens)
* [Glif MCP capabilities (llms.txt)](https://glif.app/llms.txt)
* [Security](https://glif.app/security)

***

## Agent Reference

### Connection

| Item | Value |
| :- | :- |
| Endpoint | `https://glif.app/api/mcp` |
| Transport | Streamable HTTP, stateless; JSON-RPC 2.0; responses may stream as SSE |
| Methods | `initialize`, `tools/list`, `tools/call` |
| Auth (MCP clients) | OAuth 2.1 with PKCE. A 401 response includes protected-resource metadata to start authorization. |
| Auth (plain HTTP) | `Authorization: Bearer glif_v1_...` |
| Capabilities resource | `glif://capabilities` |
| Schemas | `tools/list` is the source of truth |

### Tools

| Tool | Spends credits | Purpose |
| :- | :- | :- |
| `compose_project` | Yes | Start or continue a project from a natural-language `prompt`. Optional: `project_id`, `intelligence` (`lite`/`smart`/`genius`), `asset_ids` (≤20), `attachments` (≤20 URLs), `rationale`. Returns `jobId`, `projectId`, `projectUrl` immediately. |
| `get_job_status` | No | Wait for progress on `job_id`. Optional `progress_cursor`, `wait_seconds` (0–30, default 15). |
| `get_project` | No | Read project state, active job, media; `include_messages` optional (off by default). |
| `list_projects` | No | Page through recent projects (`limit`, `cursor`). |
| `select_project_images` | No | Thumbnail picker for a project's images; returns asset IDs to reuse. |
| `view_media` | No | Re-open saved media in the Glif card on supporting hosts. |
| `upload_file` | No | Upload by URL, host attachment, base64 (≤1 MiB) or signed direct upload. See Supported Media. |
| `list_user_skills` / `get_user_skill` | No | Read the user's personal skills (find brand and production skills). |
| `whoami` | No | Identity, credential label, plan, balance, recent spend, typical per-output cost, default tier. |
| `read_settings` / `update_settings` | No | Read or change the default tier for new projects. |

### Standard run for a campaign request

1. Gather the brief: product, audience, channels and formats, quantity, copy, video length.
2. Call `list_user_skills` to find a brand or production skill; plan to name it in the prompt.
3. Upload product photos, logos or guidelines with `upload_file` if they aren't already Glif assets.
4. For large jobs, call `whoami` and estimate cost from typical per-output figures.
5. Confirm the plan and estimate with the user. `compose_project` charges credits and has no approval step.
6. Call `compose_project` with the whole set in one prompt. Share `projectUrl` right away.
7. Poll `get_job_status` with `job_id`, passing each `progressCursor` back as `progress_cursor`. Share new assets once each as they arrive.
8. Report the final result or failure. On `input_required`, ask the user rather than guessing.
9. For revisions, resizes and cutdowns, call `compose_project` with the same `project_id`.

### Rules

* Don't call `compose_project` while a job is working. In the same project it errors; without `project_id` it starts a separate billable job.
* Never start another paid job automatically, including retries.
* Put a campaign set (concepts × formats × variations) in one prompt to keep it in one project.
* Reusing earlier media requires `project_id` or `asset_ids`.
* Prefer resizing an approved asset over regenerating it per placement.
* Don't end with only a "started" message unless the user asked for background work. If polling can't continue, say so and share the project link.
* Job records expire about 30 minutes after a job finishes. Saved media remains available via `get_project`.
* Share media URLs as plain links; some hosts show Markdown image embeds as broken.
* `https://glif.app/brand.md` is Glif's own brand guide. Use it only for Glif-branded work, not for the user's brand.

### Example

json

```json theme={null}
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "compose_project",
    "arguments": {
      "prompt": "Use my `launch-ad-set` skill. Product: Cha Cha Club iced matcha. Audience: NYC commuters 25–40. Key message: 'Hand-whisked. Never powdered. Always iced.'",
      "asset_ids": ["img_PRODUCTXXXXXXXXXXXXXX", "img_LOGOXXXXXXXXXXXXXXXXX"],
      "intelligence": "smart"
    }
  }
}
```

### Support

Bugs and feedback: `#api-mcp` on the Glif Discord, or [contact@glif.xyz](mailto:contact@glif.xyz).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.