Glif enables AI agents to create images, videos, and audio using multiple generative AI models through a single creative workspace. Compose multi-step media projects from natural-language prompts, edit existing assets, generate variations, create custom reusable tools, and manage projects and generation jobs.
DeepSeek Harness (DSH) is DeepSeek's agent harness. Each MCP server is one plugin entry in your project config.
This guide connects Glif MCP to DeepSeek Harness through MewCP, so DeepSeek Harness can use Glif MCP's 12 tools, like get_project, select_project_images and list_projects, without your Glif MCP credentials ever reaching the app.
Glif MCP signs in through managed OAuth. MewCP stores the token encrypted, refreshes it before it expires and injects it only at call time. Your agent never holds it, so it can never leak it.
More apps
TypeSafe's Jev model for typed decisions — ask yes/no, multiple-choice or rubric-score questions about a block of state and get calibrated probabilities back instead of prose. Built for classification, routing and scoring steps inside a workflow
Turn your AI agent into a creative studio The world's best image, video, audio and 3D models, inside the AI assistant you already use.
Access Google's Gemini models for text generation, reasoning, coding, multimodal analysis and AI-powered workflows. Process text, images and structured data through advanced AI capabilities.
Give AI coding agents access to a curated library of real-world website designs, screenshots, design systems, and reusable UI components. Search visual references, find similar designs, analyze layouts, extract colors and typography, compare websites, and retrieve copy-ready JSX components for building better interfaces
Other clients
Glif MCP works the same way in every client below. Pick yours for its own guide.
Free to start.
Scope access to the exact Glif MCP tools and accounts you allow, work and personal side by side. Anything outside that scope is refused at call time, even when the model asks for it.
Each call is logged: what ran, on which account, and whether it worked. Failures come back structured, so the agent knows whether to retry instead of guessing.
Every app sits behind one secure MCP URL, and there is no server for you to deploy or keep running. Add an integration in the dashboard and it is live on the next call, with no config to change and no new credentials to wire up. Tools load only when a task needs them, so your agent stays fast and focused however many apps you connect.
In your DSH project, or the patch file you mount plugins from.
One plugin instance is one MCP server. Add this to your plugin list.
Tools register as mcp__mewcp__<tool_name>. Sign in when the browser window opens.
Start a new chat and ask: "List the tools you can use from MewCP." You should see your connected apps.
Read project state, active job, recent messages, and generated media for a Glif project.
Select existing images from an owned Glif project using a thumbnail form. Returns authorized image asset IDs, not a generation job. Selection never spends credits. Unsupported hosts receive an image list instead. A later reviewed compose_project request is separate.
Browse recent Glif projects owned by the authenticated user without generating media.
Lists the authenticated user's personal Glif skills as names and descriptions. Does not expose global Glif skills. To run one, name it in a `compose_project` prompt rather than fetching and copying its instructions.
Reads one of the authenticated user's personal Glif skills, including its instructions. Does not expose global Glif skills. To run a skill, name it in a `compose_project` prompt, e.g. "use my `alien-vistas` skill". Activation loads the instructions automatically, so copying them into the prompt is redundant.
Render existing Glif media in the interactive project viewer when the user asks to see, revisit, or pull up media that was already generated (e.g. "show me that capybara again", "open my last image"). It applies to completed or saved output, not to `working` polls, and generates nothing (`compose_project` does that). Don't call it right after a job finishes: the `compose_project` card already shows that media. Pass `project_id` to show a project's media, optionally narrowed to specific `asset_ids`. Clients that render media inline show it in the viewer panel, making pasted URLs redundant there; in clients that don't (e.g. CLI hosts), sharing the URLs is how the user gets the media (a sandboxed agent may need its CSP / allowed-domains settings adjusted to load them).
Create or continue a durable Glif project from natural language. Glif's server-side agent chooses models, tools, and multi-step media workflows. Optional `intelligence` picks the agent: lite, smart, or genius. Without a tier, new projects use your preferred model and existing ones keep theirs. Use `asset_ids` to reuse owned image, video or audio assets from media results or uploads; use `attachments` for external URLs or signed upload URLs. A request that iterates on, refines, animates, or otherwise references anything Glif previously made in this conversation needs the `project_id` from that earlier result — omitting it starts a blank project with no memory of prior media, so omitting `project_id` suits genuinely new, unrelated work. Glif handles batches itself: a series (multiple characters, scenes, variations) works best as one call describing the whole series, kept in one project. Returns immediately with a `jobId`. Generation often finishes within a minute but can take longer. Share the project link. Follow `get_job_status` until completion and report the result or failure. Saved public text and media are available while working. Media URLs work as plain links; Markdown image embeds of them show as broken placeholders in some hosts. Pass each returned `progressCursor` unchanged as `progress_cursor` on the next poll. End early only if the user explicitly requested background work. If polling cannot continue, say so and share the project link; do not promise an automatic chat update. `get_job_status` waits up to 15 seconds by default; `wait_seconds: 0` returns at once. Results include media URLs and `structuredContent`. Never automatically start another paid job: each `compose_project` call costs credits.
Check a Glif project job started by `compose_project`, using its `job_id`. Wait up to 15 seconds for new saved public text, generated media or a status change. Pass the previous `progressCursor` as `progress_cursor` to wait for a change instead of receiving the same output immediately. Without a cursor, already available text or media returns promptly. The optional `wait_seconds` value (0 to 30) overrides the wait; 0 returns at once. Working responses include saved public messages and media links, not token streaming. When nothing changed since the passed `progress_cursor`, the text says so and repeats no output. Finished responses return the full result. Keep checking while working, then report the completed result or failure. For input_required, ask for the required input instead. End early only for an explicit background request. Do not assume this chat will receive automatic updates. Job status records expire ~30 minutes after the job finishes. Saved results remain available through `get_project` when a client cannot keep polling. Do not call `compose_project` again while this job is working. The same project refuses it, and a new project starts a separate billable job that does not speed up this one.
Return the authenticated identity, the credential label (API key name or connected OAuth app name), current subscription/plan, available credit balance, credits spent over the last 24h / 7d / 30d, the typical credit cost of one image, video or audio output, and the agent tier `compose_project` uses when no `intelligence` is given. Cheap — no agent loop, no generation.
Default intelligence for new projects when no intelligence is supplied. This is your existing Glif account preference, shared with the Glif website. Existing projects keep their chosen model unless explicitly changed. Changing this setting does not start generation or spend credits.
Update only submitted settings. Default intelligence for new projects when no intelligence is supplied. This is your existing Glif account preference, shared with the Glif website. Existing projects keep their chosen model unless explicitly changed. Changing this setting does not start generation or spend credits.
Upload an image, video, or audio file for `compose_project`. Inline uploads return an `assetId` for `compose_project.asset_ids`; signed uploads return a file URL for `compose_project.attachments`. Documents use the signed local-file mode. Supported inputs: - `file` accepts an image, video, or audio attachment resolved by the host app. Supported hosts, including ChatGPT, can populate this field with a short-lived download URL. - `url` accepts a public image, video, or audio URL. Remote documents are not yet supported. - `filename` and/or `kind`, without `url` or `base64`, returns a signed curl PUT command as `command` in the result, with a `<YOUR_FILE_PATH>` placeholder, and an upfront stable file URL for a local file, including a document. This mode needs local shell and network access; Glif verifies the uploaded bytes and creates the owned asset server-side. - `base64` with `filename` accepts a small local image, video, or audio file when no shell is available. Glif rejects decoded files above 1 MiB, and host tool-call limits may be lower.