agentleFS
pedrojaques99pedrojaques99/visant-skills-public/visant-mcp-connect/SKILL.md

visant-mcp-connect

Skill81 starsChanged 4 days agoMITView on GitHub

Connects and operates the Visant Labs MCP (requires a Visant Labs account): brand guidelines, mockups, creative studio, canvas, budgets, moodboard, PDF extraction. Use on "connect visant", "use the visant tools", "setup visant mcp", "conecta o visant", "usar as tools do visant", "extrair PDF pelo visant".

  • Reads credentials
  • Sends data out

We split this skill into the rules it gives an agent

4 rules. About 0 are common, 2 are distinctive, and 2 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈2

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

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

    line 31
  2. Distinctive:

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

    line 35
  3. Distinctive:

    Use the alternative and say which one: Never swap silently: whoever reads the result needs to know which path it came through.

    line 194
  4. Very specific:

    Update the Bearer in the MCP config and restart the session.

    line 234

≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

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.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.