mcpField
V
visant-mcp-connect

visant-mcp-connect

github.com/pedrojaques99Other7911 installsUpdated 1d ago
Repository

About visant-mcp-connect

A Visant Labs MCP integration for teams using its branding, mockup, creative, and brand-guideline services. It provides a broad set of account-backed tools through a remote endpoint and requires a Visant Labs account.

Key features

  1. 01Manage brand guidelines and versions
  2. 02Generate branding and mockups
  3. 03Create and render creative layouts
  4. 04Work with canvases and budgets
  5. 05Extract content from URLs and PDFs

Use cases

  1. 01Auditing brand-guideline compliance
  2. 02Generating mockups with brand context
  3. 03Extracting brand tokens from PDFs
  4. 04Managing creative projects and budgets

MCP support

Connects MCP clients to Visant Labs at its Streamable HTTP endpoint. It exposes tools for brand guidelines, generation, mockups, creative projects, canvases, budgets, and extraction; an account and credentials are required.

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/pedrojaques99/visant-skills-public --skill visant-mcp-connect

After installing, type/visant-mcp-connectin Claude Code to confirm it loaded.

Details

From the project README

Visant Labs MCP

Requires a Visant Labs account (visantlabs.com). Without one, none of these tools work: there is no anonymous mode. Generation tools also spend the account's credits.

API: https://api.visantlabs.com MCP: https://api.visantlabs.com/api/mcp Auth: OAuth 2.1 + PKCE (dynamic client registration) or API key (visant_sk_...)


Connect (Claude-first flow)

Step 1: check for existing credentials
cat ~/.visant/credentials.json

If it exists and has apiKey, skip to Step 3.

Step 2: authenticate

Ask the user for their Visant Labs email and password, then run:

npx visantlabs login -e EMAIL -p PASSWORD

This saves ~/.visant/credentials.json with the permanent apiKey (visant_sk_...).

Step 3: configure the MCP (global, any directory)
claude mcp add --transport http \
  --header "Authorization: Bearer <apiKey>" \
  --scope user \
  visant https://api.visantlabs.com/api/mcp

Do not use mcpServers in settings.json or mcp-remote: the server speaks Streamable HTTP directly.

Step 4: verify
claude mcp list
# should show: visant: https://api.visantlabs.com/api/mcp (HTTP) - ✓ Connected

The tools show up with the mcp__visant__ prefix in the next session.


Available tools (~50)

Account & Auth
ToolWhat it does
account-profileUser profile (name, email, plan)
account-usageRemaining credits, limits, billing cycle
auth-loginEmail/password login → JWT
auth-registerCreate account → JWT
api-key-createGenerate a visant_sk_xxx API key
api-key-listList existing API keys
Brand Guidelines (16 tools)
ToolWhat it does
brand-guidelines-listList all brand guidelines
brand-guidelines-getFull data (JSON, or format:"prompt" for LLM-ready text)
brand-guidelines-createCreate a new guideline
brand-guidelines-updatePartial patch (colors, typography, strategy, tokens)
brand-guidelines-deleteDelete (requires confirm: true)
brand-guidelines-duplicateDuplicate a guideline
brand-guidelines-shareCreate/revoke a public link
brand-guidelines-publicAccess by slug (no auth)
brand-guidelines-ingestExtract from URL/text and merge into the guideline
brand-guidelines-compliance-checkAI audit (contrast, typography, voice, completeness)
brand-guidelines-versionsVersion history
brand-guidelines-restore-versionRestore a previous version
brand-guidelines-upload-logoUpload logo (base64/URL, variants: primary/dark/light/icon)
brand-guidelines-upload-mediaUpload media kit (image/PDF)
brand-guidelines-delete-logoDelete logo by ID
brand-guidelines-delete-mediaDelete media by ID
Branding Machine (5 tools)
ToolWhat it does
branding-generateGenerate a visual identity from a prompt (steps: full/market-research/swot/persona/archetype/concept-ideas/color-palettes/moodboard). Follows visant-methodology
branding-listList branding projects
branding-getProject details
branding-saveSave/update a project
branding-deleteDelete a project
Mockup Machine (5 tools)
ToolWhat it does
mockup-generateGenerate an AI mockup. Models: gpt-image-2 (best), gemini-3.1-flash-image-preview, seedream-3-0. Resolutions: 1K/2K/4K. Aspect ratios: 1:1/16:9/9:16/4:5. Auto-injects brand context via brandGuidelineId.
mockup-listList mockups
mockup-getMockup details
mockup-updateUpdate metadata
mockup-deleteDelete
mockup-presetsPresets by category (business-card, social-media, packaging, apparel, etc.)
Creative Studio (8 tools)
ToolWhat it does
creative-fullFull pipeline: plan → background → render PNG → save. One shot.
creative-generateGenerate a structured layout (layers, overlay, background prompt)
creative-renderRender a plan to PNG server-side
creative-projects-createSave a creative project
creative-projects-listList projects
creative-projects-getProject details
creative-projects-updateUpdate a project
creative-projects-deleteDelete a project
Canvas / Whiteboard (8 tools)
ToolWhat it does
canvas-createCreate a whiteboard
canvas-listList projects
canvas-list-projectsList with a summary of node types
canvas-getDetails (nodes, edges, drawings)
canvas-updateUpdate nodes/edges/linkedGuideline
canvas-deleteDelete
canvas-shareShare (canEdit/canView by email)
canvas-parse-csvPreview CSV → DataNode rows
canvas-resolve-variablesResolve {{placeholders}} in a prompt
Budget (6 tools)
ToolWhat it does
budget-createCreate a budget (clientName, projectDescription)
budget-listList budgets
budget-getDetails with line items
budget-updateUpdate fields
budget-deleteDelete
budget-duplicateDuplicate
AI Utilities (free)
ToolWhat it does
ai-describe-imageDescribe an image (URL or base64). 0 credits.
ai-improve-promptImprove prompt text. 0 credits.

House rule: a generated prompt is a saved prompt. Every call to ai-generate-image / creative-generate / mockup-generate / video-generate goes to the project's prompts.jsonl ledger: one line per call, with model/params, refs with each one's role, sha256 of the output, status (approved/discarded), cost, and a note on what went wrong for discarded ones. Record it on the spot: it cannot be recovered later. If visant-mockup-creator is installed, the contract is in its references/prompt-ledger.md.

Document & Image Extraction
ToolWhat it does
document-extractDual mode, see "Document Extract" below. URL mode pulls HD images from any public page; PDF mode turns a PDF into markdown + brand tokens.
Moodboard (3 tools)
ToolWhat it does
moodboard-detect-gridDetect bounding boxes in a moodboard grid
moodboard-suggestSuggest animations/video for each cell
moodboard-upscaleUpscale an image to 1K/2K/4K. ⚠ Unstable: returned INTERNAL_ERROR on 3/3 calls in Aug 2026. See "When a tool goes down".
Community (2 tools)
ToolWhat it does
community-presetsBrowse public mockup presets
community-profilesBrowse community profiles

When a tool goes down

MCP tools break, and the right response is never to insist or to pretend the result came out:

  1. Two attempts, no more. Repeated INTERNAL_ERROR is the server, not the payload; a third try only burns time.
  2. Use the alternative and say which one. Never swap silently: whoever reads the result needs to know which path it came through.
  3. Report the breakage in the work's .md, with the date and the exact message.
If it failsAlternative
moodboard-upscaleLook for the high-res ORIGINAL before upscaling: it almost always exists and nobody looked (run [[visant-preflight]]). Upscaling is plan B; upscaling without searching for the original is plan C dressed as plan A.
ai-generate-image falls back to the wrong modelThe response carries fellBack: true and the real model. Read the response: asking for gemini and getting gpt-image-1 changes the result and the cost.
brand-guidelines-health-checkDo not trust it; confirm with brand-guidelines-get. It has reported an empty vault on a full one.
Local file uploadvisant upload <file> --json via the CLI, or a presigned URL (media-upload-urls + curl -X PUT + media-commit). Inline base64 truncates and uploads a corrupted image.

Document Extract (dual mode)

Mode 1: image extraction from a URL
{ "url": "https://www.behance.net/gallery/...", "limit": 80 }

Returns image URLs with width, height and alt text (limit max 200). Works with Behance, Pinterest, Dribbble, portfolios, blogs. Handles lazy-loaded images, srcset and background images. Scope: read.

Mode 2: PDF extraction
{ "pdf_base64": "<base64>", "output": "inline", "include_brand_tokens": true }

Also accepts pdf_path for files on the server. output: "disk" saves a .md, "inline" returns text. include_brand_tokens: true extracts colors, typography and strategy (two phases: algorithmic + Gemini).


Expired token / 401

cat ~/.visant/credentials.json   # take .apiKey

Update the Bearer in the MCP config and restart the session. If the file does not exist: npx visantlabs login.


Usage tips

  • Brand context in generation: pass brandGuidelineId to mockup-generate, creative-full and creative-generate to inject colors/typography/voice.
  • format: "prompt" on brand-guidelines-get returns text optimized for LLM context, not JSON.
  • creative-full is the shortcut: it avoids chaining generate + mockup-generate
    • render by hand.
  • Credits: account-usage shows the balance. AI utilities (describe-image, improve-prompt) are free.
  • Scopes: OAuth tokens enforce read, write, generate; generation tools need generate.

Comments

Markdown supported