This tutorial covers how to add the [Figma MCP Server](https://github.com/hapins/figma-mcp) as a Goose extension to enable interaction with Figma files, designs, and components.
│ ● Command-line Extension (Run a local command or script)
// highlight-end
│ ○ Remote Extension
└
```
3. Give your extension a name
```sh
┌ goose-configure
│
◇ What would you like to configure?
│ Add Extension
│
◇ What type of extension would you like to add?
│ Command-line Extension
│
// highlight-start
◆ What would you like to call this extension?
│ figma
// highlight-end
└
```
4. Enter the command
```sh
┌ goose-configure
│
◇ What would you like to configure?
│ Add Extension
│
◇ What type of extension would you like to add?
│ Command-line Extension
│
◇ What would you like to call this extension?
│ figma
│
// highlight-start
◆ What command should be run?
│ npx @hapins/figma-mcp
// highlight-end
└
```
5. Obtain a [Figma Access Token](https://www.figma.com/developers/api#access-tokens) and paste it in.
:::info
You can generate an access token from your Figma account settings under the Personal access tokens section.
:::
```sh
┌ goose-configure
│
◇ What would you like to configure?
│ Add Extension
│
◇ What type of extension would you like to add?
│ Command-line Extension
│
◇ What would you like to call this extension?
│ figma
│
◇ What command should be run?
│ npx @hapins/figma-mcp
// highlight-start
◆ Would you like to add environment variables?
│ Yes
│
◇ Environment variable name:
│ FIGMA_ACCESS_TOKEN
│
◇ Environment variable value:
│ ▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪
│
◇ Add another environment variable?
│ No
// highlight-end
└ Added figma extension
```
</TabItem>
<TabItem value="ui" label="Goose Desktop">
1. Click `...` in the upper right corner
2. Click `Settings`
3. Under `Extensions`, click the `Add` link
4. On the `Add Extension Manually` modal, enter the following:
* **Type**: `Standard IO`
* **ID**: `figma-mcp` (_set this to whatever you want_)
* **Name**: `Figma` (_set this to whatever you want_)
* **Description**: `Figma MCP Server` (_set this to whatever you want_)
* **Command**: `npx @hapins/figma-mcp`
* **Environment Variables**
* **Name**: `FIGMA_ACCESS_TOKEN`
* **Value**: (_Obtain a [Figma Access Token](https://www.figma.com/developers/api#access-tokens) and paste it in._)
* Click `Add` button
5. Click `Add Extension` button
</TabItem>
</Tabs>
## Example Usage
The Figma MCP server allows you to interact with your Figma files and designs programmatically. When creating your access token, make sure you give it the appropriate access and scope:
1. Read access for files
2. Write access for Comments
3. And any other scopes of your choice.
Given this [Community Figma design](https://www.figma.com/community/file/1037030891378807455), we'll have Goose build a webpage.
Get the Figma File ID from the URL. For example, `https://www.figma.com/file/KvR8Wpe6ITaCD3et3H7l6k/AI-Landing-Page` has a file ID of `KvR8Wpe6ITaCD3et3H7l6k`.
:::
### Goose Prompt
```
( O)> Convert my figma design with file ID 7r0mLHWx2rrjwn79mcNVNE into a webpage. Get specific detailed information and styling about each element and components within each frame. Make sure to implement any interactions or animations and use a placeholder div with a gray background for images.
Some elements are centralized, some are duplicated, make sure to get them correct. And ensure correct alignment and spacing between elements.
```
### Goose Output
```
I'll help you convert your Figma design into a webpage. Let's break this down into steps and
gather all the necessary information from your Figma file.
1. First, let's get the file information to understand the overall structure:
In cases where you need to make additional changes, or the final output is not as expected - you can continue to interact with Goose to make adjustments.