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.
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:
| Tool | Returns |
|---|---|
get_taste_profile | The whole profile as Markdown, grouped by category |
list_memories | The same memories as JSON, filterable by category |
get_exemplars | Up 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:
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.