Krafa
Dashboard
Dashboard
Getting Started
QuickstartHow it works
The Canvas
Canvas overviewPasting and node typesOrganizing a boardCommand menuKeyboard shortcuts
Design Taste
Taste memoriesExtractionConflictsCurating your profile
Using with Agents
Connecting an agentMCP server referenceClaude CodeCursorCodexKiroAntigravity
Imports
Imports overviewXPinterestDribbble
Reference
Plans and billingHTTP APISelf-hostingFAQ
KrafaAll systems operational
Using with Agents

Connecting an agent

Krafa hands a board's taste profile to any MCP-capable coding agent over a hosted server. Mint a token, paste a config block, and your agent designs in your language.

Coding agents are good at building UI and have no idea what you want it to look like. Absent instruction they fall back to whatever their training data averages out to: the same rounded-card, blue-primary, generously-padded default that every agent produces.

Connecting Krafa replaces that default with your actual preferences, read from the references you curated.

Mint a token

Inside a board, press ⌘K → Connect AI Agent, or use the button in the taste panel header. Krafa generates a token for this board and shows the config to copy:

{
  "mcpServers": {
    "krafa-taste": {
      "url": "https://app.krafa.ai/api/mcp",
      "headers": { "Authorization": "Bearer krafa_YOUR_TOKEN" }
    }
  }
}

The token is masked in the dialog. Click the eye to reveal it, though Copy MCP config copies the real value either way.

Warning

The token is read-only, but it's still a secret: anyone holding it can read that board's taste profile and reference images. Don't commit it to a public repository. Keep it in an environment variable and reference it from your agent config where the client supports interpolation.

One token, one board. The token is the scope. That's what lets you point one project's agent at your dense-tooling board and another's at your editorial board without either seeing the other.

Pick your client

Claude Code

claude mcp add --transport http

Cursor

.cursor/mcp.json

Codex

~/.codex/config.toml

Kiro

~/.kiro/settings/mcp.json

Antigravity

~/.gemini/config/mcp_config.json

Any client that supports remote Streamable HTTP servers with custom headers works; the five above are just the ones with tested instructions. The full protocol details are in the MCP server reference.

What your agent gets

Three tools:

ToolReturns
get_taste_profileThe whole profile as Markdown, grouped by category
list_memoriesThe same memories as JSON, filterable by category
get_exemplarsUp to five of the actual reference images behind the profile

Most work only needs the first. The exemplars matter for anything visual: a vision-capable agent looking at five screenshots you personally chose picks up things no sentence about "generous whitespace" conveys.

Getting the agent to actually use it

An agent that has a tool available won't necessarily reach for it. Two things fix that.

Ask for it explicitly, at least at first:

Read my design taste profile, then build the settings page.

Then make it automatic with a project rule, so you stop having to:

AGENTS.md
Before writing or modifying any UI, call `get_taste_profile` from the
krafa-taste MCP server and follow it. For visual work (layouts, color,
spacing) also call `get_exemplars` and match what you see.

Cursor users can put the same instruction in .cursor/rules/, and Claude Code reads CLAUDE.md. One rule at the root of the project is usually enough for every agent on the team.

Verifying the connection

Ask your agent:

What does my design taste profile say about typography?

A working connection answers with your own statements and evidence values. A broken one answers with generalities, which is the tell that the tool never got called. Check that the server shows as connected in your client, and that the token hasn't been pasted with a truncated prefix.

Boards with no memories yet return No memories yet — the board hasn't been curated. rather than an error, so an empty answer may just mean an empty board.

On this page

Mint a tokenPick your clientWhat your agent getsGetting the agent to actually use itVerifying the connection