Documentation

What is MCP

MCP (Model Context Protocol) is an open standard that lets AI assistants call external tools in a structured way. When you connect Gunni via MCP, your AI client (Claude Desktop, Cursor, Claude Code) gains the ability to generate images, video, audio, and more directly in conversation. No copy-pasting URLs or switching windows.

Gunni exposes its full toolset through an MCP server hosted at https://api.gunni.ai/mcp. OAuth-capable clients (Claude Desktop, Claude Code, Cursor) authenticate via browser sign-in. For other clients, create an API key at gunni.ai/keys and pass it as a Bearer token.

Claude Desktop

Claude Desktop supports adding MCP servers directly from the UI. No config files needed.

1

Click your profile in the bottom-left, then click Settings

Click your profile, then Settings
2

Click Connectors in the sidebar and scroll down

Click Connectors and scroll down
3

Click Add custom connector

Click Add custom connector
4

Enter name Gunni and paste the server URL:

https://api.gunni.ai/mcp
Enter name Gunni and the MCP URL
5

Click Add, then Approve to authorize Claude to access your Gunni account

Approve authorization

Cursor Setup

Open Cursor settings, navigate to the MCP section, and add the Gunni server. Cursor supports OAuth — it will prompt you to sign in automatically:

{
  "mcpServers": {
    "gunni": {
      "type": "http",
      "url": "https://api.gunni.ai/mcp"
    }
  }
}

If your version of Cursor doesn't support OAuth, add an API key from gunni.ai/keys instead:

{
  "mcpServers": {
    "gunni": {
      "type": "http",
      "url": "https://api.gunni.ai/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  }
}

Claude Code Setup

Two steps: add the server, then authenticate.

1

Add the MCP server:

claude mcp add --transport http gunni https://api.gunni.ai/mcp
2

Start a Claude Code session and run /mcp to authenticate. This opens your browser to sign in to your Gunni account.

/mcp

After authenticating, Gunni tools are available in all conversations within that project. You can also add it via a .mcp.json file in your project root:

{
  "mcpServers": {
    "gunni": {
      "type": "http",
      "url": "https://api.gunni.ai/mcp"
    }
  }
}

OpenClaw Setup

Gunni is available as an AgentSkill on ClawHub, the OpenClaw skill registry.

clawhub install gunni

Set your GUNNI_API_KEY in your OpenClaw environment config or .env file:

GUNNI_API_KEY=your_key_here

After installation, the agent can call Gunni skills through natural conversation. No additional per-call setup required.

Generation Tools

These tools create media and consume credits.

image

Generate, edit, upscale, describe, or remove the background from an image. Auto-routes based on the combination of parameters provided.

NameTypeDefaultDescription
promptstringText prompt for generation or editing. Optional if using upscale, remove_bg, or describe.
imagestring | string[]Input image URL(s). Triggers edit, describe, upscale, or remove_bg mode.
modelstringOverride the default model for this operation.
outputstringOutput file path (CLI) or filename hint (MCP).
widthnumberOutput width in pixels.
heightnumberOutput height in pixels.
seednumberSeed for reproducible results.
upscalebooleanUpscale the input image.
remove_bgbooleanRemove the background from the input image.
scalenumber2Upscale factor. Accepts 2 or 4.
variantsnumber1Number of variants to generate.
stylestringApply a saved visual style by name.
templatestringApply a saved template by name.

video

Generate video from a still image or text prompt.

NameTypeDefaultDescription
imagestringInput image URL for image-to-video mode.
promptstringText prompt describing the desired motion or scene.
modelstringOverride the default video model.
outputstringOutput file path or filename hint.
durationnumberVideo duration in seconds (typically 5 or 10).
stylestringApply a saved visual style by name.
templatestringApply a saved template by name.

audio

Convert text to natural-sounding speech.

NameTypeDefaultDescription
textstringThe text to synthesize into speech.
modelstringminimax-speechTTS model to use.
outputstringOutput file path or filename hint.
voicestringVoice ID or name (model-dependent).

lipsync

Lip synchronization: sync audio to a video, or animate an image to speak.

NameTypeDefaultDescription
videostringInput video URL for lip sync mode.
imagestringInput image URL for avatar mode.
audiostringAudio URL to sync.
modelstringModel to use (kling-lipsync, kling-avatar, sync-lipsync).
outputstringOutput file path or filename hint.

Knowledge Tools

These tools are free and do not consume credits.

learn

Access the creative knowledge base. Returns guides on prompting, brand design, video production, and more.

NameTypeDefaultDescription
topicstringTopic to learn about (e.g. prompting, brand, video).

models

List available models and their capabilities.

NameTypeDefaultDescription
categorystringFilter by model category (image, video, audio, etc.).
updatesbooleanShow recent model updates and additions.

history

Search your past generations.

NameTypeDefaultDescription
querystringSearch query to filter results.
limitnumber20Maximum number of results to return.

visual_research

Search for reference images and visual inspiration.

NameTypeDefaultDescription
querystringSearch query for visual research.
numnumber6Number of results to return (max 20).

Workspace & Asset Tools

These tools manage your workspaces, assets, and saved prompts. All are free and do not consume credits.

workspace

View the active workspace and its context.

workspace_create

Create a new workspace.

NameTypeDefaultDescription
namestringWorkspace name.
contextstringFreeform creative context (brand, colors, references).

workspace_switch

Switch to a workspace by name. Automatically loads the asset library.

NameTypeDefaultDescription
namestringName of the workspace to switch to.

assets

List assets in the current workspace.

NameTypeDefaultDescription
namestringName of a specific asset to retrieve.

asset_save

Save an image URL as a named asset.

NameTypeDefaultDescription
urlstringURL of the image to save.
namestringName for the asset.

asset_rename

Rename an asset and optionally pin it.

NameTypeDefaultDescription
idstringAsset ID to rename.
namestringNew name.
pinbooleanPin the asset to the workspace.

upload_asset

Upload a local image (triggers a signed URL upload flow).

NameTypeDefaultDescription
namestringName for the asset.

prompts

List saved prompts in the current workspace.

NameTypeDefaultDescription
namestringName of a specific saved prompt.

prompt_save

Save a prompt recipe for reuse.

NameTypeDefaultDescription
namestringUnique prompt identifier.
promptstringThe prompt text.
modelstringRecommended model.

prompt_delete

Delete a saved prompt.

NameTypeDefaultDescription
namestringName of the prompt to delete.

Image Tool Routing

The image tool automatically selects the right operation based on the combination of parameters you provide. No need to call separate tools for generate, edit, describe, upscale, or background removal.

InputOperationDefault Model
prompt onlyGenerate a new imagenano-banana
image + promptEdit the image using the promptnano-banana-edit
image onlyDescribe the imageflorence-2
image + upscale: trueUpscale the imagetopaz-upscale
image + remove_bg: trueRemove backgroundbria-bg-remove