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

Cursor

Connect Krafa to Cursor so the Agent builds UI in your design language while it edits.

Cursor reads MCP servers from JSON config and auto-detects the transport, so a remote server needs nothing but a URL and a header.

Setup

Get your token

In the board you want Cursor to design from, press ⌘K → Connect AI Agent and copy the token. Export it so it stays out of committed config:

export KRAFA_TOKEN="krafa_YOUR_TOKEN"

Add the server

Project-scoped, so the whole repo inherits it:

.cursor/mcp.json
{
  "mcpServers": {
    "krafa-taste": {
      "url": "https://app.krafa.ai/api/mcp",
      "headers": {
        "Authorization": "Bearer ${env:KRAFA_TOKEN}"
      }
    }
  }
}

Use ~/.cursor/mcp.json for a global setup instead. When both exist they're merged, and the project file wins on a name collision, which is how you give one repo its own board while everything else falls back to a default.

Note

${env:NAME} is resolved from your shell environment inside url and headers, so the file is safe to commit. Note that envFile is stdio-only and won't work for a remote server, so export the variable in your shell.

No transport key is needed. Cursor detects Streamable HTTP from the endpoint.

Enable and verify

Restart Cursor, then open Customize → MCPs in the sidebar. krafa-taste should be listed and connected; toggle it on.

If it isn't, open the Output panel with ⇧⌘U and select MCP Logs.

Make it automatic

Add a rule so the Agent reaches for the profile without being asked:

.cursor/rules/design-taste.mdc
---
description: Follow the curated design taste profile for all UI work
alwaysApply: true
---

Before writing or modifying any UI, call `get_taste_profile` from the
krafa-taste MCP server and follow it. For visual work, also call
`get_exemplars` and match what you see. The profile is the spec;
do not substitute your own design defaults.

A worked session

Open a component file and ask:

Restyle this table to match my taste.

The Agent calls get_taste_profile, finds your Spacing & Density and Typography memories (the tight row rhythm, the tabular figures, the absence of row dividers) and rewrites the classes to match. Because it's editing in place, you get a diff you can read line by line instead of a wholesale replacement.

For a narrower pass, point it at one category:

Only fix the colors here. Use list_memories with the color category.

Troubleshooting

SymptomCause
Server missing from Customize → MCPsCursor needs a restart after the config changes
invalid token in MCP LogsKRAFA_TOKEN isn't exported in the environment Cursor launched from
Connects, but output ignores the profileAdd the always-apply rule above
Empty profileThe board has no memories yet
Warning

Third-party guides often show "type": "streamable-http" in Cursor configs. Cursor documents type for stdio servers only and detects remote transports automatically, so leave it out.

On this page

SetupGet your tokenAdd the serverEnable and verifyMake it automaticA worked sessionTroubleshooting