Skip to content
FIGGSHIELD

MCP server & tools

Add Figgshield as an MCP connector in Claude or the Claude Code CLI, the six tools (generate_image, generate_video, get_generation, list_library, get_usage, get_model_pricing), example prompts, config JSON and OAuth discovery.

View as Markdown

Figgshield is a remote MCP server — a single Streamable HTTP endpoint that Claude and the Claude Code CLI call to generate video and images. It implements the MCP spec 2025-11-25 (with 2025-06-18 compatibility).

ItemValue
MCP endpointhttps://api.figgshield.ai/mcp
TransportStreamable HTTP (POST / GET / DELETE)
AuthOAuth 2.1 (browser sign-in) or Authorization: Bearer figg_... API key
ModelsNano Banana 2 (image); Kling 3, Kling 3 Turbo, Seedance 2 (video) — see Models

Add Figgshield to Claude

Claude Desktop or claude.ai

  1. Open Settings → Connectors.
  2. Choose Add custom connector.
  3. Paste the endpoint https://api.figgshield.ai/mcp and save.
  4. Claude opens a browser sign-in. Sign in with Google, Apple or GitHub and approve the scopes figgshield:read and figgshield:write.

The connector is registered automatically (Dynamic Client Registration), so there is nothing to configure by hand. Tokens refresh on their own; you will not be asked to sign in again unless you revoke access.

Claude Code CLI

claude mcp add --transport http figgshield https://api.figgshield.ai/mcp
claude mcp login figgshield

claude mcp login runs a browser sign-in (loopback PKCE) and stores the token. Full details, and the API-key alternative, are in Claude Code CLI.

Config JSON

Clients that read an MCP config file (for example claude_desktop_config.json) can declare Figgshield directly:

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

On first use the client runs the OAuth flow above. To use an API key instead of the browser flow, add a header:

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

Tools

Figgshield exposes six tools. The two generate tools spend credits (with auto top-up if enabled) and state the model they used; the other four are read-only. Credit costs are per option and are not fixed constants — check them live with get_model_pricing, on the pricing page, or in GET /api/models/.

generate_image

Runs Nano Banana 2. The credit cost depends on the resolution — quote it first with get_model_pricing.

ParamTypeNotes
promptstringWhat to generate. Required.
resolutionstringOptional. "1K", "2K" or "4K" (default "1K"). Higher resolutions cost more.

Returns { generation_uuid, model, status, output_url?, credits_charged }.

generate_video

Runs a video modelKling 3 by default, with Kling 3 Turbo and Seedance 2 also available. The credit cost depends on the model, resolution, duration and audio, so it scales with the clip: a longer clip and audio cost more. Quote it first with get_model_pricing.

ParamTypeNotes
promptstringWhat to generate. Required.
durationintegerOptional. 5 or 10 seconds (default 5).
resolutionstringOptional. Allowed values depend on the model (e.g. Kling 3: "720p", "1080p", "4k"; Seedance 2: "480p", "720p", "1080p").
audiobooleanOptional. Default false; where the model supports audio, enabling it increases the cost.

Returns { generation_uuid, model, status, output_url?, credits_charged }.

get_generation

Polls a job to completion. Read-only.

ParamTypeNotes
generation_uuidstringThe id returned by a generate tool. Required.

Returns { status, output_url?, error? }. status is queued, running, succeeded or failed.

list_library

Recent generations, newest first. Read-only.

ParamTypeNotes
limitintegerOptional. How many to return.
kindstringOptional. "video" or "image" to filter.

Returns [{ uuid, model, kind, prompt, status, output_url, created_at }].

Output links expire. The output_url returned by get_generation and list_library points to media Figgshield hosts on a content-delivery link (cdn.figgshield.ai) for up to 7 days after a job finishes, then permanently deletes; once deleted, it can’t be retrieved. Each link is an unguessable, unlisted address — anyone you share it with can open the media until it expires. Your MCP client receives the file and is responsible for keeping it long-term, so save outputs you want. list_library lists your recent generation records; the media behind entries older than 7 days is gone. Figgshield keeps no durable media library — the generation history stores only metadata (prompt, model, status, timestamps).

get_usage

Current plan and credit balance. Read-only. Returns { plan, credits: { balance, granted_this_period, used_this_period }, jobs }.

get_model_pricing

Live per-generation credit costs for every model. Read-only; spends nothing. Use it to quote a job before you run it, or to show a price list.

ParamTypeNotes
modelstringOptional. A model slug (e.g. "kling-3") to price just that model; omit for the whole catalogue.

Returns a list of models, each with an availability status"available" or "coming_soon" — and a pricing array: one { params, credits } row per billing-relevant option combination (images per resolution; video per resolution, duration and audio). This is the same per-option pricing the GET /api/models/ endpoint carries and the live pricing page renders.

Example prompts

Once connected, ask Claude in plain language — it picks the tool and the model:

Generate a 5-second video of a quiet harbour at dawn, mist lifting off the water.
Make a 10-second clip with audio of rain on a city street at night.
Create a 2K image of a paper boat on a still pond, top-down.
What does a 1080p 10-second video with audio cost?
Show my last five generations.
How many credits do I have left this month?

Credit checks and errors

Each generate tool runs a pre-flight credit check. If your balance cannot cover the job it surfaces as a tool error: insufficient_credits (top up or enable auto top-up) or subscription_required (no active plan). With auto top-up enabled, the top-up is attempted first. Failed generations are refunded automatically.

OAuth discovery

Figgshield is an OAuth 2.1 resource server with a co-hosted authorization server; PKCE (S256) is required and Google/Apple/GitHub are the upstream identity providers. An unauthenticated /mcp request returns 401 with a WWW-Authenticate: Bearer resource_metadata="..." header pointing at the protected-resource metadata. Clients discover the rest from these documents:

DocumentURL
Protected resource metadata (RFC 9728)https://api.figgshield.ai/.well-known/oauth-protected-resource
Authorization server metadata (RFC 8414)https://api.figgshield.ai/.well-known/oauth-authorization-server
OpenID configurationhttps://api.figgshield.ai/.well-known/openid-configuration
JWKShttps://api.figgshield.ai/jwks.json

Claude performs this discovery for you. See Authentication for the token flow and the API-key alternative.