# Uselamina Lamina MCP server

Source: https://glimind.com/server/mcp-registry%2Fai.uselamina%2Flamina
Registry id: `mcp-registry/ai.uselamina/lamina`
Status: auth-required (checked 2026-10-26T23:41:36.103Z)

## Verdict

Uselamina Lamina MCP server answered 100% of Glimind's liveness checks over 30 days, better than 42% of MCP servers, with 294 ms median handshake and 0 outages in 90 days. Its agent-readiness grade is A (93/100) across 30 tools, costing an agent about 13,269 tokens to load. Checked every few minutes; no tool is ever called.

## Measurements (30 days)

| Metric | Value | Better than |
|---|---|---|
| Uptime, 30 days | 100% | 42% of MCP servers |
| Median handshake latency | 294 ms | 62% of MCP servers |
| p95 handshake latency | 592 ms | — |
| Checks in 30 days | 213 | — |
| Outages, 90 days | 0 | — |
| Median recovery | — | — |
| Agent-readiness score | 93/100 (A) | 76% of MCP servers |
| Tools | 30 | — |
| Tool-list size for an agent | ~13,269 tokens | 15% of MCP servers |
| Days observed | 29 | — |

## Install

```json
{
  "mcpServers": {
    "uselamina-lamina-mcp-server": {
      "type": "http",
      "url": "https://app.uselamina.ai/mcp/agent"
    }
  }
}
```

Claude Code:

```sh
claude mcp add --transport http uselamina-lamina-mcp-server https://app.uselamina.ai/mcp/agent
```

## Tools (30)

- `lamina_app_versions`: List a generated app's saved graph versions, or restore it to one. Every `lamina_generate_workflow` edit snapshots the app's prior graph first, so a bad edit is
- `lamina_brand`: Load the brand context the user has configured for this workspace — voice, visual identity, guardrails, prompt directives, performance patterns. Call this when 
- `lamina_brand_compliance`: Read the Brand Guard result a run recorded — the per-node on/off-brand status and score against the workspace brand. Use it to drive the approve/reject turn: af
- `lamina_brand_feedback`: Give an on/off-brand verdict on a completed run, closing the loop so the next generation respects it. A `reject` with a `note` turns the reason into a brand gua
- `lamina_brand_kit`: Load the workspace's reusable BRAND KIT for a brand — the identity assets that get reused across reels: voices, avatars, characters, and motion graphics. Call t
- `lamina_brand_score`: Score how on-brand a completed run's image output is, and get back the specific deviations — before you show it to the user or decide whether to regenerate. Wor
- `lamina_cancel`: Cancel a queued or running execution by `runId`. Idempotent — if the run already reached a terminal state (completed / failed / cancelled), the server returns i
- `lamina_compose_formats`: List the video FORMATS `lamina_compose_video` can render — e.g. animated slideshow, cinematic b-roll, motion-graphics explainer, talking head, picture-in-pictur
- `lamina_compose_plan`: PREVIEW what `lamina_compose_video` will do for a script — the format it routes to, the estimated cost, and the per-beat storyboard — WITHOUT generating anythin
- `lamina_compose_video`: Compose a NARRATED, MULTI-SHOT video from a script — NOT a single ~5s clip. Use this when you need a coherent minute-ish demo / explainer with voiceover: it syn
- `lamina_create`: Plan a creative run from a free-text brief. The router agent searches the catalog, picks the best-fit app by CAPABILITY ENVELOPE (an app whose `outputs[]` can d
- `lamina_credits`: Check the workspace's credit balance and the credit packages available to buy — so you can tell the user what they have and what a top-up would cost before runn
- `lamina_describe`: Get the full input/output specification for a single Lamina app. Use it in the MANUAL flow (after `lamina_discover` and before `lamina_run`) when the calling LL
- `lamina_discover`: Discover Lamina apps (creative workflows) that can produce what the user wants. ALWAYS start here when the user asks to create new content — discover the right 
- `lamina_generate_hook`: Generate a short (~4s) HOOK opener clip that plays BEFORE the product appears in a Meta ad. WHAT IT DOES: product category (+ optional vertical/theme) → LLM hoo
- `lamina_generate_image`: Dispatch a single atomic image generation. Sibling of `lamina_create` (the agentic router) — use this when you already know which model fits, or when no app fit
- `lamina_generate_video`: Dispatch a single atomic video generation. Sibling of `lamina_generate_image` — same shape, but outputs a video URL. WORKFLOW: (1) `lamina_models_list({ modalit
- `lamina_generate_workflow`: Generate a BRAND-NEW Lamina app from a plain-language instruction, OR EDIT an existing generated app in place. Use this when NO existing app fits the goal (chec
- `lamina_models_describe`: Get the input contract for one atomic-generate model (image OR video). Returns `id`, `displayName`, `modality`, and a flat `paramSchema` (every accepted field, 
- `lamina_models_list`: List Lamina's curated atomic generation models. Each entry has `id`, `displayName`, `modality`, and — to help you pick deliberately rather than guess — `bestFor
- `lamina_plv_background`: Generate a category-matched background plate for a Meta PLV (Product-Led-Video) ad. WHAT IT DOES: product attributes → LLM background brief (category-level, not
- `lamina_refine_to_brand`: Automatically improve a completed run until it's on-brand — without letting it run away on cost. Repeats score → refine (re-rolling with the specific deviations
- `lamina_run`: Dispatch a run for an app the user has authorized. Pure trigger — no LLM, no brief analysis, no app picking. Takes an `appId` you already know (from `lamina_cre
- `lamina_save_to_brand_kit`: Save a GENERATED output into the brand kit as a reusable asset — the "I like this, keep it" loop. Pass a completed run (`runId`) or an `outputUrl`; the output i
- `lamina_set_brand`: Create or update this workspace's brand and ground it with a starter Brand DNA, so generated apps and `applyBrand` runs produce on-brand output. Use it to make 
- `lamina_set_brand_kit_element`: Register (or supersede, by name) one reusable brand asset in the brand kit — a voice, avatar, character, or motion graphic that points at an existing primitive.
- `lamina_set_visibility`: Change an app's reach: `private` (creator/workspace-owner only), `shared` (any workspace member — discoverable via `lamina_discover`), or `public`. Only the app
- `lamina_status`: Check the status of any Lamina run — polymorphic across atomic image-gen (`lamina_generate_image`), atomic video-gen (`lamina_generate_video`), app workflow run
- `lamina_topup`: Start a credit top-up and get back a Stripe-hosted checkout link to give the user. Use this when the balance is too low to run what they asked for — no need to 
- `lamina_upload_asset`: Get a pre-signed upload URL for one user-supplied asset (image, video, or audio). Use this when the user provides a local file you need to feed into `lamina_run

Measured by Glimind (https://glimind.com): MCP handshake + tool list only, no tool is ever called. CC BY 4.0.
