You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
2.**Verify correct package name**: Should be `@figma/mcp-server-figma-dev-mode` NOT `claude-talk-to-figma-mcp`
88
-
3.**Verify server name matches**: Should be `figma-dev-mode-mcp-server` to match tool names
89
-
4.**Verify Figma is running**: `ps aux | grep -i figma`
81
+
1.**Verify Figma Desktop is running**: `ps aux | grep -i figma`
82
+
2.**Verify Dev Mode is enabled**: Press `Shift+D` in Figma, enable MCP server in inspect panel
83
+
3.**Check server is responding**: `curl -s http://127.0.0.1:3845/mcp`
84
+
4.**Verify `.mcp.json` exists** in project root with correct URL (`http://127.0.0.1:3845/mcp`)
90
85
5.**Restart Claude Code**: MCP connections are only established at startup
91
-
6.**Check npx availability**: Ensure Node.js/npm is installed for npx command
92
-
93
-
### Why MCP Configuration is Required
94
-
95
-
- MCP servers are external processes that Claude Code connects to
96
-
- Configuration tells Claude where to find and how to start MCP servers
97
-
- Without the configuration file, Claude Code has no knowledge of available MCP servers
98
-
- Previous sessions' MCP usage (recorded in `.claude/settings.local.json`) doesn't automatically enable MCP in new sessions
99
86
100
87
## Build Commands
101
88
@@ -540,6 +527,119 @@ The shortcut bar displays different button combinations based on wallet state:
540
527
4. Implement action handler in `HomeViewController+Shortcuts.swift`
541
528
5. Update `reloadShortcuts()` logic if needed
542
529
530
+
### Figma MCP Asset Download Workflow (MANDATORY)
531
+
532
+
#### Overview
533
+
The Figma MCP server exposes image assets via temporary localhost URLs (e.g., `http://localhost:3845/assets/{hash}.svg`). These URLs are **ephemeral** — they only exist while Figma Desktop is running and the MCP server is active. **Image files MUST be downloaded and saved to the project's asset catalog** so they can be committed to git and verified in the UI.
534
+
535
+
#### ⚠️ CRITICAL: Always Download Assets During Development
536
+
When implementing UI from Figma designs, you MUST:
537
+
1.**Download every image asset** referenced in the design context to a local file
538
+
2.**Save it to the correct asset catalog location** in the project
539
+
3.**Verify the asset displays correctly** in the running app before committing
540
+
4.**Never reference localhost URLs in code** — they are only a transport mechanism
541
+
542
+
#### Step-by-Step Asset Download Process
543
+
544
+
**Step 1: Get design context from Figma MCP**
545
+
Use `get_design_context` to retrieve the design. Image URLs appear as constants:
> **Shortcut bar icons**: Use `"original"` so that SVG fill colors are preserved in both UIKit (shortcut bar) and SwiftUI (selection sheet). Template rendering strips colors and applies system tint, which causes icons to appear grey in SwiftUI `Button` labels.
564
+
565
+
```json
566
+
{
567
+
"images" : [
568
+
{
569
+
"filename" : "icon.svg",
570
+
"idiom" : "universal"
571
+
}
572
+
],
573
+
"info" : {
574
+
"author" : "xcode",
575
+
"version" : 1
576
+
},
577
+
"properties" : {
578
+
"preserves-vector-representation" : true,
579
+
"template-rendering-intent" : "original"
580
+
}
581
+
}
582
+
```
583
+
584
+
**Step 4: Verify the asset in the running app**
585
+
- Build and run the app in Simulator
586
+
- Navigate to the screen that uses the asset
587
+
- Confirm the icon/image renders correctly (right icon, right color, right size)
588
+
- Only after visual verification should the asset be staged for commit
589
+
590
+
**Step 5: Verify the file is valid before committing**
591
+
```bash
592
+
# Confirm file type
593
+
file /path/to/imageset/icon.svg
594
+
# Expected: SVG Scalable Vector Graphics image
595
+
596
+
# Confirm non-zero file size
597
+
ls -la /path/to/imageset/icon.svg
598
+
```
599
+
600
+
#### Batch Download Pattern
601
+
When a design has multiple assets, download them all at once:
0 commit comments