@brookmind/ai-toolkit 1.0.5 → 1.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (152) hide show
  1. package/README.md +60 -14
  2. package/agents/code-reviewer.md +6 -1
  3. package/agents/code-simplifier.md +52 -0
  4. package/dist/index.d.ts.map +1 -1
  5. package/dist/index.js +257 -220
  6. package/dist/index.js.map +1 -1
  7. package/mcps/context7/.mcp.json +13 -0
  8. package/mcps/expo-mcp/.mcp.json +13 -0
  9. package/mcps/figma-mcp/.mcp.json +4 -6
  10. package/package.json +4 -4
  11. package/skills/pdf-processing-pro/FORMS.md +610 -0
  12. package/skills/pdf-processing-pro/OCR.md +137 -0
  13. package/skills/pdf-processing-pro/SKILL.md +296 -0
  14. package/skills/pdf-processing-pro/TABLES.md +626 -0
  15. package/skills/pdf-processing-pro/scripts/analyze_form.py +307 -0
  16. package/skills/react-best-practices/AGENTS.md +915 -0
  17. package/skills/react-best-practices/README.md +127 -0
  18. package/skills/react-best-practices/SKILL.md +110 -0
  19. package/skills/react-best-practices/metadata.json +14 -0
  20. package/skills/react-best-practices/rules/_sections.md +41 -0
  21. package/skills/react-best-practices/rules/_template.md +28 -0
  22. package/skills/react-best-practices/rules/advanced-event-handler-refs.md +80 -0
  23. package/skills/react-best-practices/rules/advanced-use-latest.md +76 -0
  24. package/skills/react-best-practices/rules/async-defer-await.md +80 -0
  25. package/skills/react-best-practices/rules/async-dependencies.md +36 -0
  26. package/skills/react-best-practices/rules/async-parallel.md +28 -0
  27. package/skills/react-best-practices/rules/async-suspense-boundaries.md +100 -0
  28. package/skills/react-best-practices/rules/bundle-barrel-imports.md +42 -0
  29. package/skills/react-best-practices/rules/bundle-conditional.md +106 -0
  30. package/skills/react-best-practices/rules/bundle-preload.md +44 -0
  31. package/skills/react-best-practices/rules/client-event-listeners.md +131 -0
  32. package/skills/react-best-practices/rules/client-swr-dedup.md +133 -0
  33. package/skills/react-best-practices/rules/js-batch-dom-css.md +82 -0
  34. package/skills/react-best-practices/rules/js-cache-function-results.md +80 -0
  35. package/skills/react-best-practices/rules/js-cache-property-access.md +28 -0
  36. package/skills/react-best-practices/rules/js-cache-storage.md +70 -0
  37. package/skills/react-best-practices/rules/js-combine-iterations.md +32 -0
  38. package/skills/react-best-practices/rules/js-early-exit.md +50 -0
  39. package/skills/react-best-practices/rules/js-hoist-regexp.md +45 -0
  40. package/skills/react-best-practices/rules/js-index-maps.md +37 -0
  41. package/skills/react-best-practices/rules/js-length-check-first.md +49 -0
  42. package/skills/react-best-practices/rules/js-min-max-loop.md +82 -0
  43. package/skills/react-best-practices/rules/js-set-map-lookups.md +24 -0
  44. package/skills/react-best-practices/rules/js-tosorted-immutable.md +57 -0
  45. package/skills/react-best-practices/rules/rendering-activity.md +90 -0
  46. package/skills/react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
  47. package/skills/react-best-practices/rules/rendering-conditional-render.md +40 -0
  48. package/skills/react-best-practices/rules/rendering-content-visibility.md +38 -0
  49. package/skills/react-best-practices/rules/rendering-hoist-jsx.md +65 -0
  50. package/skills/react-best-practices/rules/rendering-svg-precision.md +28 -0
  51. package/skills/react-best-practices/rules/rerender-defer-reads.md +39 -0
  52. package/skills/react-best-practices/rules/rerender-dependencies.md +45 -0
  53. package/skills/react-best-practices/rules/rerender-derived-state.md +29 -0
  54. package/skills/react-best-practices/rules/rerender-functional-setstate.md +74 -0
  55. package/skills/react-best-practices/rules/rerender-lazy-state-init.md +58 -0
  56. package/skills/react-best-practices/rules/rerender-memo.md +85 -0
  57. package/skills/react-best-practices/rules/rerender-transitions.md +40 -0
  58. package/themes/README.md +68 -0
  59. package/themes/claude-vivid.json +72 -0
  60. package/mcps/context7/.claude-plugin +0 -1
  61. package/mcps/context7/README.md +0 -1
  62. package/mcps/context7/server.json +0 -1
  63. package/mcps/expo-mcp/README.md +0 -33
  64. package/mcps/expo-mcp/package.json +0 -30
  65. package/mcps/figma-mcp/README.md +0 -554
  66. package/mcps/figma-mcp/server.json +0 -17
  67. package/mcps/figma-mcp/skills/code-connect-components +0 -1
  68. package/mcps/figma-mcp/skills/create-design-system-rules +0 -1
  69. package/mcps/figma-mcp/skills/implement-design +0 -1
  70. package/mcps/pg-aiguide/.claude-plugin +0 -1
  71. package/mcps/pg-aiguide/CLAUDE.md +0 -21
  72. package/mcps/pg-aiguide/README.md +0 -275
  73. package/mcps/pg-aiguide/skills/design-postgres-tables +0 -1
  74. package/mcps/pg-aiguide/skills/find-hypertable-candidates +0 -1
  75. package/mcps/pg-aiguide/skills/migrate-postgres-tables-to-hypertables +0 -1
  76. package/mcps/pg-aiguide/skills/setup-timescaledb-hypertables +0 -1
  77. package/mcps/pg-aiguide/skills.yaml +0 -4
  78. package/skills/cloudflare-cli/SKILL.md +0 -151
  79. package/skills/docx/LICENSE.txt +0 -30
  80. package/skills/docx/SKILL.md +0 -197
  81. package/skills/docx/docx-js.md +0 -350
  82. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +0 -1499
  83. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +0 -146
  84. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +0 -1085
  85. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +0 -11
  86. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +0 -3081
  87. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +0 -23
  88. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +0 -185
  89. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +0 -287
  90. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +0 -1676
  91. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +0 -28
  92. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +0 -144
  93. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +0 -174
  94. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +0 -25
  95. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +0 -18
  96. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +0 -59
  97. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +0 -56
  98. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +0 -195
  99. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +0 -582
  100. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +0 -25
  101. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +0 -4439
  102. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +0 -570
  103. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +0 -509
  104. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +0 -12
  105. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +0 -108
  106. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +0 -96
  107. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +0 -3646
  108. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +0 -116
  109. package/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +0 -42
  110. package/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +0 -50
  111. package/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +0 -49
  112. package/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +0 -33
  113. package/skills/docx/ooxml/schemas/mce/mc.xsd +0 -75
  114. package/skills/docx/ooxml/schemas/microsoft/wml-2010.xsd +0 -560
  115. package/skills/docx/ooxml/schemas/microsoft/wml-2012.xsd +0 -67
  116. package/skills/docx/ooxml/schemas/microsoft/wml-2018.xsd +0 -14
  117. package/skills/docx/ooxml/schemas/microsoft/wml-cex-2018.xsd +0 -20
  118. package/skills/docx/ooxml/schemas/microsoft/wml-cid-2016.xsd +0 -13
  119. package/skills/docx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +0 -4
  120. package/skills/docx/ooxml/schemas/microsoft/wml-symex-2015.xsd +0 -8
  121. package/skills/docx/ooxml/scripts/pack.py +0 -159
  122. package/skills/docx/ooxml/scripts/unpack.py +0 -29
  123. package/skills/docx/ooxml/scripts/validate.py +0 -69
  124. package/skills/docx/ooxml/scripts/validation/__init__.py +0 -15
  125. package/skills/docx/ooxml/scripts/validation/base.py +0 -951
  126. package/skills/docx/ooxml/scripts/validation/docx.py +0 -274
  127. package/skills/docx/ooxml/scripts/validation/pptx.py +0 -315
  128. package/skills/docx/ooxml/scripts/validation/redlining.py +0 -279
  129. package/skills/docx/ooxml.md +0 -610
  130. package/skills/docx/scripts/__init__.py +0 -1
  131. package/skills/docx/scripts/document.py +0 -1276
  132. package/skills/docx/scripts/templates/comments.xml +0 -3
  133. package/skills/docx/scripts/templates/commentsExtended.xml +0 -3
  134. package/skills/docx/scripts/templates/commentsExtensible.xml +0 -3
  135. package/skills/docx/scripts/templates/commentsIds.xml +0 -3
  136. package/skills/docx/scripts/templates/people.xml +0 -3
  137. package/skills/docx/scripts/utilities.py +0 -374
  138. package/skills/pdf/LICENSE.txt +0 -30
  139. package/skills/pdf/SKILL.md +0 -294
  140. package/skills/pdf/forms.md +0 -205
  141. package/skills/pdf/reference.md +0 -612
  142. package/skills/pdf/scripts/check_bounding_boxes.py +0 -70
  143. package/skills/pdf/scripts/check_bounding_boxes_test.py +0 -226
  144. package/skills/pdf/scripts/check_fillable_fields.py +0 -12
  145. package/skills/pdf/scripts/convert_pdf_to_images.py +0 -35
  146. package/skills/pdf/scripts/create_validation_image.py +0 -41
  147. package/skills/pdf/scripts/extract_form_field_info.py +0 -152
  148. package/skills/pdf/scripts/fill_fillable_fields.py +0 -114
  149. package/skills/pdf/scripts/fill_pdf_form_with_annotations.py +0 -108
  150. package/skills/xlsx/LICENSE.txt +0 -30
  151. package/skills/xlsx/SKILL.md +0 -289
  152. package/skills/xlsx/recalc.py +0 -178
@@ -1,554 +0,0 @@
1
- # Figma MCP Server Guide
2
-
3
- The Figma MCP server brings Figma directly into your workflow by providing important design information and context to AI agents generating code from Figma design files.
4
-
5
- > [!NOTE]
6
- > Users on the Starter plan or with View or Collab seats on paid plans will be limited to up to 6 tool calls per month.
7
- > <br><br>
8
- > Users with a [Dev or Full seat](https://help.figma.com/hc/en-us/articles/27468498501527-Updates-to-Figma-s-pricing-seats-and-billing-experience#h_01JCPBM8X2MBEXTABDM92HWZG4) seat on the [Professional, Organization, or Enterprise plans](https://help.figma.com/hc/en-us/articles/360040328273-Figma-plans-and-features) have per minute rate limits, which follow the same limits as the Tier 1 [Figma REST API](https://developers.figma.com/docs/rest-api/rate-limits/). As with Figma’s REST API, Figma reserves the right to change rate limits.
9
-
10
- For the complete set of Figma MCP server docs, see our [developer documentation](https://developers.figma.com/docs/figma-mcp-server/).
11
-
12
- ## Features
13
-
14
- - **Generate code from selected frames**
15
-
16
- Select a Figma frame and turn it into code. Great for product teams building new flows or iterating on app features.
17
-
18
- - **Extract design context**
19
-
20
- Pull in variables, components, and layout data directly into your IDE. This is especially useful for design systems and component-based workflows.
21
-
22
- - **Code smarter with Code Connect**
23
-
24
- Boost output quality by reusing your actual components. Code Connect keeps your generated code consistent with your codebase.
25
-
26
- [Learn more about Code Connect →](https://help.figma.com/hc/en-us/articles/23920389749655-Code-Connect)
27
-
28
- ## Installation & Setup
29
-
30
- ### Step 1: Enabling the MCP server
31
-
32
- Figma provides two ways to use the MCP server. Remotely using our hosted server, and locally using Figma's desktop app.
33
-
34
- If you want to use our remote server, there's nothing to enable, it's already available! To get the local desktop server set up, you'll need to follow the steps below.
35
-
36
- #### Enabling the desktop server
37
-
38
- 1. Open the [Figma desktop app](https://www.figma.com/downloads/) and make sure you've [updated to the latest version](https://help.figma.com/hc/en-us/articles/5601429983767-Guide-to-the-Figma-desktop-app#h_01HE5QD60DG6FEEDTZVJYM82QW).
39
- 2. Create or open a Figma Design file.
40
- 3. In the toolbar at the bottom, toggle to [Dev Mode](https://help.figma.com/hc/en-us/articles/15023124644247-Guide-to-Dev-Mode) or use the keyboard shortcut <kbd>Shift</kbd><kbd>D</kbd>.
41
- 4. In the **MCP server** section of the inspect panel, click **Enable desktop MCP server**.
42
-
43
- <img width="500" height="251" alt="enable-desktop-mcp-server" src="https://github.com/user-attachments/assets/964c7665-1aaa-42e5-ad45-e87ea68d4bdd" />
44
-
45
- You should see a confirmation message at the bottom of the screen letting you know the server is enabled and running.
46
-
47
- > [!TIP]
48
- > The server runs locally at this location:
49
- >
50
- > ```bash
51
- > http://127.0.0.1:3845/mcp
52
- > ```
53
- >
54
- > Keep this address handy for your configuration file in the next step.
55
-
56
- ### Step 2: Set up your MCP client
57
-
58
- Different MCP clients require slightly different setups to get connected to your MCP server. Follow the instructions below for your specific client to add the Figma MCP server.
59
-
60
- #### VS Code
61
-
62
- 1. Use the shortcut `⌘ Shift P` to search for `MCP:Add Server`.
63
- 2. Select `HTTP`.
64
- 3. Copy the correct server url from below, and paste the server url in the search bar. Then hit `Enter`.
65
-
66
- Remote server url - `https://mcp.figma.com/mcp`
67
-
68
- Local server url - `http://127.0.0.1:3845/mcp`
69
-
70
- 4. When you're prompted for a server ID, enter one of the following:
71
-
72
- - `figma` for the remote MCP server
73
- - `figma-desktop` for the desktop MCP server
74
-
75
- 5. Select whether you want to add this server globally or only for the current workspace. Once confirmed, you'll see a configuration like this in your `mcp.json` file:
76
-
77
- <table>
78
- <tr><th>Using the remote MCP Server</th><th>Using the desktop MCP Server</th></tr>
79
- <tr>
80
- <td>
81
-
82
- ```json
83
- {
84
- "servers": {
85
- "figma": {
86
- "type": "http",
87
- "url": "https://mcp.figma.com/mcp"
88
- }
89
- }
90
- }
91
- ```
92
-
93
- </td>
94
- <td>
95
-
96
- ```json
97
- {
98
- "servers": {
99
- "figma-desktop": {
100
- "type": "http",
101
- "url": "http://127.0.0.1:3845/mcp"
102
- }
103
- }
104
- }
105
- ```
106
-
107
- </td>
108
- </tr>
109
- </table>
110
-
111
- 6. Open the chat toolbar using `⌥⌘B` or `⌃⌘I` and switch to **Agent** mode.
112
- 7. With the chat open, type in `#get_design_context` to confirm that the Figma MCP server tools are available. If no tools are listed, restart the Figma desktop app and VS Code.
113
-
114
- > [!NOTE]
115
- > You must have [GitHub Copilot](https://github.com/features/copilot) enabled on your account to use MCP in VS Code.
116
- >
117
- > For more information, see [VS Code's official documentation](https://code.visualstudio.com/docs/copilot/chat/mcp-servers).
118
-
119
- #### Cursor
120
-
121
- 1. Open **Cursor → Settings → Cursor Settings**.
122
- 2. Go to the **MCP** tab.
123
- 3. Click **+ Add new global MCP server**.
124
- 4. Enter the following configuration and save:
125
-
126
- <table>
127
- <tr><th>Using the remote MCP Server</th><th>Using the desktop MCP Server</th></tr>
128
- <tr>
129
- <td>
130
-
131
- ```json
132
- {
133
- "mcpServers": {
134
- "figma": {
135
- "url": "https://mcp.figma.com/mcp"
136
- }
137
- }
138
- }
139
- ```
140
-
141
- </td>
142
- <td>
143
-
144
- ```json
145
- {
146
- "mcpServers": {
147
- "figma-desktop": {
148
- "url": "http://127.0.0.1:3845/mcp"
149
- }
150
- }
151
- }
152
- ```
153
-
154
- </td>
155
- </tr>
156
- </table>
157
-
158
- For more information, see [Cursor's official documentation](https://docs.cursor.com/context/model-context-protocol).
159
-
160
- #### Claude Code
161
-
162
- 1. Open your terminal and run:
163
-
164
- <table>
165
- <tr><th>Using the remote MCP Server</th><th>Using the desktop MCP Server</th></tr>
166
- <tr>
167
- <td>
168
-
169
- ```bash
170
- claude mcp add --transport http figma https://mcp.figma.com/mcp
171
- ```
172
-
173
- </td>
174
- <td>
175
-
176
- ```bash
177
- claude mcp add --transport http figma-desktop http://127.0.0.1:3845/mcp
178
- ```
179
-
180
- </td>
181
- </tr>
182
- </table>
183
-
184
- 2. Use the following commands to check MCP settings and manage servers:
185
-
186
- - List all configured servers
187
- ```bash
188
- claude mcp list
189
- ```
190
- - Get details for a specific server
191
- ```bash
192
- claude mcp get my-server
193
- ```
194
- - Remove a server
195
- ```bash
196
- claude mcp remove my-server
197
- ```
198
-
199
- For more information, see [Anthropic's official documentation](https://docs.anthropic.com/en/docs/agents-and-tools/claude-code/tutorials#set-up-model-context-protocol-mcp).
200
-
201
- #### Claude Code (Plugin Installation)
202
-
203
- You can also set up the Figma MCP server by installing the Figma Plugin for Claude Code, which includes both remote and desktop MCP server settings as well as Agent Skills for common workflows.
204
-
205
- Run the following command to install the plugin from Anthropic's official plugin marketplace.
206
-
207
- ```bash
208
- claude plugin install figma@claude-plugins-official
209
- ```
210
-
211
- Learn more about Anthropic's [Claude Code Plugins](https://claude.com/blog/claude-code-plugins) and [Agent Skills](https://claude.com/blog/skills).
212
-
213
- #### Other editors
214
-
215
- Other code editors and tools that support Streamable HTTP can also connect to the Figma MCP server.
216
-
217
- If you're using a different editor or tool, check its documentation to confirm it supports Streamable HTTP based communication. If it does, you can manually add the Figma MCP server using this configuration:
218
-
219
- <table>
220
- <tr><th>Using the remote MCP Server</th><th>Using the desktop MCP Server</th></tr>
221
- <tr>
222
- <td>
223
-
224
- ```json
225
- {
226
- "mcpServers": {
227
- "figma": {
228
- "url": "https://mcp.figma.com/mcp"
229
- }
230
- }
231
- }
232
- ```
233
-
234
- </td>
235
- <td>
236
-
237
- ```json
238
- {
239
- "mcpServers": {
240
- "figma-desktop": {
241
- "url": "http://127.0.0.1:3845/mcp"
242
- }
243
- }
244
- }
245
- ```
246
-
247
- </td>
248
- </tr>
249
- </table>
250
-
251
- ## Prompting your MCP client
252
-
253
- The Figma MCP server introduces a set of tools that help LLMs translate designs in Figma. Once connected, you can prompt your MCP client to access a specific design node.
254
-
255
- There are two ways to provide Figma design context to your AI client:
256
-
257
- ### Link-based
258
-
259
- 1. Copy the link to a frame or layer in Figma.
260
- 2. Prompt your client to help you implement the design at the selected URL.
261
-
262
- <img src="https://help.figma.com/hc/article_attachments/34049303807895" width="300" />
263
-
264
- > [!NOTE]
265
- > Your client won't be able to navigate to the selected URL, but it will extract the node-id that is required for the MCP server to identify which object to return information about.
266
-
267
- ### Selection-based (desktop only)
268
-
269
- 1. Select a frame or layer inside Figma using the desktop app.
270
- 2. Prompt your client to help you implement your current selection.
271
-
272
- <img src="https://help.figma.com/hc/article_attachments/32209690330263" width="300" />
273
-
274
- ## Tools and usage suggestions
275
-
276
- ### `get_design_context`
277
-
278
- **Supported file types:** Figma Design, Figma Make
279
-
280
- Use this to get design context for your Figma selection using the MCP server. The default output is **React + Tailwind**, but you can customize this through your prompts:
281
-
282
- - Change the framework
283
-
284
- - "Generate my Figma selection in Vue."
285
- - "Generate my Figma selection in plain HTML + CSS."
286
- - "Generate my Figma selection in iOS."
287
-
288
- - Use your components
289
-
290
- - "Generate my Figma selection using components from src/components/ui"
291
- - "Generate my Figma selection using components from src/ui and style with Tailwind"
292
-
293
- You can paste links or select the frame or component in Figma before prompting.
294
-
295
- > [!NOTE]
296
- > Selection-based prompting only works with the desktop MCP server. The remote server requires a link to a frame or layer to extract context.
297
-
298
- [Learn how to set up Code Connect for better component reuse →](https://help.figma.com/hc/en-us/articles/23920389749655-Code-Connect)
299
-
300
- ### `get_variable_defs`
301
-
302
- **Supported file types:** Figma Design
303
-
304
- Returns variables and styles used in your selection—like colors, spacing, and typography.
305
-
306
- - List all tokens used
307
- - "Get the variables used in my Figma selection."
308
- - Focus on a specific type
309
- - "What color and spacing variables are used in my Figma selection?"
310
- - Get both names and values
311
- - "List the variable names and their values used in my Figma selection."
312
-
313
- ### `get_code_connect_map`
314
-
315
- **Supported file types:** Figma Design
316
-
317
- Retrieves a mapping between Figma node IDs and their corresponding code components in your codebase. Specifically, it returns an object where each key is a Figma node ID, and the value contains:
318
-
319
- - `codeConnectSrc`: The location of the component in your codebase (e.g., a file path or URL).
320
- - `codeConnectName`: The name of the component in your codebase.
321
-
322
- This mapping is used to connect Figma design elements directly to their React (or other framework) implementations, enabling seamless design-to-code workflows and ensuring that the correct components are used for each part of the design. If a Figma node is connected to a code component, this function helps you identify and use the exact component in your project.
323
-
324
- ### `get_screenshot`
325
-
326
- **Supported file types:** Figma Design, FigJam
327
-
328
- This takes a screenshot of your selection to preserve layout fidelity. Keep this on unless you're managing token limits.
329
-
330
- ### `create_design_system_rules`
331
-
332
- **Supported file types:** No file context required
333
-
334
- Use this tool to create a rule file that gives agents the context they need to generate high-quality front end code. Rule files help align output with your design system and tech stack, improving accuracy and ensuring code is tailored to your needs.
335
-
336
- After running the tool, save the output to the appropriate `rules/` or `instructions/` directory so your agent can access it during code generation.
337
-
338
- ### `get_metadata`
339
-
340
- **Supported file types:** Figma Design
341
-
342
- Returns an XML representation of your selection containing basic properties such as layer IDs, names, types, position and sizes. You can use `get_design_context` on the resulting outline to retrieve only the styling information of the design you need.
343
-
344
- This is useful for very large designs where `get_design_context` produces output with a large context size. It also works with multiple selections or the whole page if nothing is selected.
345
-
346
- ### `get_figjam`
347
-
348
- **Supported file types:** FigJam
349
-
350
- This tool returns metadata for FigJam diagrams in XML format, similar to `get_metadata`. In addition to returning basic properties like layer IDs, names, types, positions, and sizes, it also includes screenshots of the nodes.
351
-
352
- ### `whoami` (remote only)
353
-
354
- **Supported file types:** No file context required
355
-
356
- This tool returns the identity of the user that's authenticated to Figma, including:
357
-
358
- - The user's email address
359
- - All of the plans the user belongs to
360
- - The seat type the user has on each plan
361
-
362
- ## Desktop Figma MCP server settings
363
-
364
- These are additional settings you can toggle under Preferences and use with the MCP client.
365
-
366
- **Image settings**
367
-
368
- - **Use local image server**: Hosts images on a local server with URLs like `http://localhost:3845/assets/89f254d1a998c9a6d1d324d43c73539c3993b16e.png`.
369
-
370
- - **Download**: Saves images directly to disk.
371
-
372
- - **(DEPRECATED) Use placeholder images:** Skips image extraction and adds generic placeholders instead - helpful if you prefer swapping them manually in code.
373
-
374
- **Enable Code Connect**
375
-
376
- Includes Code Connect mappings in the response, so the generated code can reuse components from your connected codebase where possible.
377
-
378
- > As you use the Figma MCP server, you may see a popup inside Figma asking you for feedback. To give us feedback, [please use this form](https://form.asana.com/?k=jMdFq_1SBUOyh8_k3q76QA&d=10497086658021).
379
-
380
- # MCP best practices
381
-
382
- The quality of the generated code depends on several factors. Some controlled by you, and some by the tools you're using. Here are some suggestions for clean, consistent output.
383
-
384
- ## Structure your Figma file for better code
385
-
386
- Provide the best context for your design intent, so the MCP and your AI assistant can generate code that's clear, consistent, and aligned with your system.
387
-
388
- - **Use components** for anything reused (buttons, cards, inputs, etc.)
389
- - **Link components to your codebase** via Code Connect. This is the best way to get consistent component reuse in code. Without it, the model is guessing.
390
- - **Use variables** for spacing, color, radius, and typography.
391
- - **Name layers semantically** (e.g. `CardContainer`, not `Group 5`)
392
- - **Use Auto layout** to communicate responsive intent.
393
-
394
- > [!TIP]
395
- > Resize the frame in Figma to check that it behaves as expected before generating code.
396
-
397
- - **Use annotations and dev resources** to convey design intent that's hard to capture from visuals alone, like how something should behave, align, or respond.
398
-
399
- ## Write effective prompts to guide the AI
400
-
401
- MCP gives your AI assistant structured Figma data, but your prompt drives the result. Good prompts can:
402
-
403
- - Align the result with your framework or styling system
404
- - Follow file structure and naming conventions
405
- - Add code to specific paths (e.g. `src/components/ui`)
406
- - Add or modify code in existing files instead of creating new ones
407
- - Follow specific layout systems (e.g. grid, flexbox, absolute)
408
-
409
- **Examples:**
410
-
411
- - "Generate iOS SwiftUI code from this frame"
412
- - "Use Chakra UI for this layout"
413
- - "Use `src/components/ui` components"
414
- - "Add this to `src/components/marketing/PricingCard.tsx`"
415
- - "Use our `Stack` layout component"
416
-
417
- Think of prompts like a brief to a teammate. Clear intent leads to better results.
418
-
419
- ## Trigger specific tools when needed
420
-
421
- The MCP supports different tools, and each one provides your AI assistant with a different kind of structured context. Sometimes, the assistant doesn't automatically pick the right one, especially as more tools become available. If results are off, try being explicit in your prompt.
422
-
423
- - **get_design_context** provides a structured **React + Tailwind** representation of your Figma selection. This is a starting point that your AI assistant can translate into any framework or code style, depending on your prompt.
424
- - **get_variable_defs** extracts the variables and styles used in your selection (color, spacing, typography, etc). This helps the model reference your tokens directly in the generated code.
425
-
426
- For example, if you're getting raw code instead of tokens, try something like:
427
-
428
- - "Get the variable names and values used in this frame."
429
-
430
- ## Add custom rules
431
-
432
- Set project-level guidance to keep output consistent—just like onboarding notes for a new developer. These are things like:
433
-
434
- - Preferred layout primitives
435
- - File organization
436
- - Naming patterns
437
- - What not to hardcode
438
-
439
- You can provide this in whatever format your MCP client uses for instruction files.
440
-
441
- **Examples:**
442
-
443
- #### Ensure consistently good output
444
-
445
- ```yaml
446
- ## Figma MCP Integration Rules
447
- These rules define how to translate Figma inputs into code for this project and must be followed for every Figma-driven change.
448
-
449
- ### Required flow (do not skip)
450
- 1. Run get_design_context first to fetch the structured representation for the exact node(s).
451
- 2. If the response is too large or truncated, run get_metadata to get the high‑level node map and then re‑fetch only the required node(s) with get_design_context.
452
- 3. Run get_screenshot for a visual reference of the node variant being implemented.
453
- 4. Only after you have both get_design_context and get_screenshot, download any assets needed and start implementation.
454
- 5. Translate the output (usually React + Tailwind) into this project's conventions, styles and framework. Reuse the project's color tokens, components, and typography wherever possible.
455
- 6. Validate against Figma for 1:1 look and behavior before marking complete.
456
-
457
- ### Implementation rules
458
- - Treat the Figma MCP output (React + Tailwind) as a representation of design and behavior, not as final code style.
459
- - Replace Tailwind utility classes with the project's preferred utilities/design‑system tokens when applicable.
460
- - Reuse existing components (e.g., buttons, inputs, typography, icon wrappers) instead of duplicating functionality.
461
- - Use the project's color system, typography scale, and spacing tokens consistently.
462
- - Respect existing routing, state management, and data‑fetch patterns already adopted in the repo.
463
- - Strive for 1:1 visual parity with the Figma design. When conflicts arise, prefer design‑system tokens and adjust spacing or sizes minimally to match visuals.
464
- - Validate the final UI against the Figma screenshot for both look and behavior.
465
- ```
466
-
467
- #### Cursor
468
-
469
- ```yaml
470
- ---
471
- description: Figma MCP server rules
472
- globs:
473
- alwaysApply: true
474
- ---
475
- - The Figma MCP server provides an assets endpoint which can serve image and SVG assets
476
- - IMPORTANT: If the Figma MCP server returns a localhost source for an image or an SVG, use that image or SVG source directly
477
- - IMPORTANT: DO NOT import/add new icon packages, all the assets should be in the Figma payload
478
- - IMPORTANT: do NOT use or create placeholders if a localhost source is provided
479
- ```
480
-
481
- #### Claude Code
482
-
483
- ```markdown
484
- # MCP Servers
485
-
486
- ## Figma MCP server rules
487
-
488
- - The Figma MCP server provides an assets endpoint which can serve image and SVG assets
489
- - IMPORTANT: If the Figma MCP server returns a localhost source for an image or an SVG, use that image or SVG source directly
490
- - IMPORTANT: DO NOT import/add new icon packages, all the assets should be in the Figma payload
491
- - IMPORTANT: do NOT use or create placeholders if a localhost source is provided
492
- ```
493
-
494
- #### General quality rules
495
-
496
- ```
497
- - IMPORTANT: Always use components from `/path_to_your_design_system` when possible
498
- - Prioritize Figma fidelity to match designs exactly
499
- - Avoid hardcoded values, use design tokens from Figma where available
500
- - Follow WCAG requirements for accessibility
501
- - Add component documentation
502
- - Place UI components in `/path_to_your_design_system`; avoid inline styles unless truly necessary
503
- ```
504
-
505
- Adding these once can dramatically reduce the need for repetitive prompting and ensures that teammates or agents consistently follow the same expectations.
506
-
507
- Be sure to check your IDE or MCP client's documentation for how to structure rules, and experiment to find what works best for your team. Clear, consistent guidance often leads to better, more reusable code with less back-and-forth.
508
-
509
- ### Break down large selections
510
-
511
- Break screens into smaller parts (like components or logical chunks) for faster, more reliable results.
512
-
513
- Large selections can slow the tools down, cause errors, or result in incomplete responses, especially when there's too much context for the model to process. Instead:
514
-
515
- 1. Generate code for smaller sections or individual components (e.g. Card, Header, Sidebar)
516
- 2. If it feels slow or stuck, reduce your selection size
517
-
518
- This helps keep the context manageable and results more predictable, both for you and for the model.
519
-
520
- If something in the output doesn't look quite right, it usually helps to revisit the basics: how the Figma file is structured, how the prompt is written, and what context is being sent. Following the best practices above can make a big difference, and often leads to more consistent, reusable code.
521
-
522
- ## Bringing Make context to your agent
523
-
524
- The Make + MCP integration makes it easier to take prototypes from **design to production**. By connecting Make projects directly to your agent via MCP, you can extract resources and reuse them in your codebase. This reduces friction when extending prototypes into real applications, and ensures that design intent is faithfully carried through to implementation.
525
-
526
- With this integration, you can:
527
-
528
- - **Fetch project context** directly from Make (individual files or the whole project)
529
- - **Prompt to use existing code components** instead of starting from scratch
530
- - **Extend prototypes with real data** to validate and productionize designs faster
531
-
532
- ### How it works
533
-
534
- > [!NOTE]
535
- > This integration leverages the MCP **resources capability**, which allows your agent to fetch context directly from Make projects. It is available only on clients that support MCP resources.
536
-
537
- #### Steps to fetch resources from Make
538
-
539
- 1. **Prompt your agent to fetch context** by providing a valid Make link
540
- 2. **Receive a list of available files** from your Make project
541
- 3. **Download the files you want to fetch** when prompted
542
-
543
- ### Example workflow
544
-
545
- **Goal:** Implement a popup component in your production codebase that matches the design and behavior defined in Make.
546
-
547
- 1. Share your Make project link with your agent.
548
- 2. Prompt the agent: _"I want to get the popup component behavior and styles from this Make file and implement it using my popup component."_
549
-
550
- Your agent will fetch the relevant context from Make and guide you in extending your existing popup component with the prototype's functionality and styles.
551
-
552
- # Icon Guidelines
553
-
554
- See the [Figma Brand Usage Guidelines](https://www.figma.com/using-the-figma-brand) for displaying any icons contained in this repo.
@@ -1,17 +0,0 @@
1
- {
2
- "$schema": "https://static.modelcontextprotocol.io/schemas/2025-09-29/server.schema.json",
3
- "name": "com.figma.mcp/mcp",
4
- "title": "Figma MCP Server",
5
- "description": "The Figma MCP server brings Figma design context directly into your AI workflow.",
6
- "repository": {
7
- "url": "https://github.com/figma/mcp-server-guide",
8
- "source": "github"
9
- },
10
- "version": "1.0.3",
11
- "remotes": [
12
- {
13
- "type": "streamable-http",
14
- "url": "https://mcp.figma.com/mcp"
15
- }
16
- ]
17
- }
@@ -1 +0,0 @@
1
- 404: Not Found
@@ -1 +0,0 @@
1
- 404: Not Found
@@ -1 +0,0 @@
1
- 404: Not Found
@@ -1 +0,0 @@
1
- 404: Not Found
@@ -1,21 +0,0 @@
1
- # Tiger Docs MCP Server - Development Guidelines
2
-
3
- ## Build, Test & Run Commands
4
-
5
- - Build: `./bun run build` - Compiles TypeScript to JavaScript
6
- - Watch mode: `./bun run watch http` - Watches for changes and rebuilds automatically
7
- - Run server: `./bun run start stdio` - Starts the MCP server using stdio transport
8
-
9
- ## Code Style Guidelines
10
-
11
- - Use ES modules with `.js` extension in import paths
12
- - Strictly type all functions and variables with TypeScript
13
- - Follow zod schema patterns for tool input validation
14
- - Use `.nullable()` instead of `.optional()` for optional MCP tool parameters (required for gpt-5 compatibility)
15
- - Prefer async/await over callbacks and Promise chains
16
- - Place all imports at top of file, grouped by external then internal
17
- - Use descriptive variable names that clearly indicate purpose
18
- - Implement proper cleanup for timers and resources in server shutdown
19
- - Follow camelCase for variables/functions, PascalCase for types/classes, UPPER_CASE for constants
20
- - Handle errors with try/catch blocks and provide clear error messages
21
- - Use consistent indentation (2 spaces) and trailing commas in multi-line objects