figma.com
figma.com logo

Figma REST API

Integrates with the Figma REST API to manage design system elements, enabling variable handling, file operations, and co...

Created byMay 24, 2025

Figma MCP Server

A Model Context Protocol (MCP) server that provides integration with Figma's API through Claude and other MCP-compatible clients. Currently supports read-only access to Figma files and projects, with server-side architecture capable of supporting more advanced design token and theme management features (pending Figma API enhancements or plugin development).

Project Status

Current Progress

  • Core Implementation: Successfully built a TypeScript server following the Model Context Protocol (MCP)
  • Claude Desktop Integration: Tested and functional with Claude Desktop
  • Read Operations: Working get-file and list-files tools for Figma file access
  • Server Architecture: Caching system, error handling, and stats monitoring implemented
  • Transport Protocols: Both stdio and SSE transport mechanisms supported

Potential Full Functionality

The server has been designed with code to support these features (currently limited by API restrictions):
  • Variable Management: Create, read, update, and delete design tokens (variables)
  • Reference Handling: Create and validate relationships between tokens
  • Theme Management: Create themes with multiple modes (e.g., light/dark)
  • Dependency Analysis: Detect and prevent circular references
  • Batch Operations: Perform bulk actions on variables and themes
With Figma plugin development or expanded API access, these features could be fully enabled.

Features

  • Secure authentication with Figma API
  • File operations (read, list)
  • Design system management
  • Variable creation and management
  • Theme creation and configuration
  • Reference handling and validation
  • Performance optimized
  • LRU caching
  • Rate limit handling
  • Connection pooling
  • Comprehensive monitoring
  • Health checks
  • Usage statistics
  • Error tracking

Prerequisites

  • Node.js 18.x or higher
  • Figma access token with appropriate permissions
  • Basic understanding of MCP (Model Context Protocol)

Installation

Configuration

  1. Create a .env file based on .env.example:
  1. For Claude Desktop integration:
The server can be configured in your Claude Desktop config file:
  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
Important Notes:
  • Use ABSOLUTE paths, not relative paths
  • On Windows, use double backslashes (\\) in paths
  • Restart Claude Desktop after making configuration changes

Usage

Basic Usage

Available Tools

  1. get-file
  1. list-files
  1. create-variables
  1. create-theme

API Documentation

Server Methods

  • startServer(figmaToken: string, debug?: boolean, port?: number)

Tool Schemas

All tool inputs are validated using Zod schemas:

Error Handling

The server provides detailed error messages and proper error codes:
  • Invalid token: 403 with specific error message
  • Rate limiting: 429 with reset time
  • Validation errors: 400 with field-specific details
  • Server errors: 500 with error tracking

Limitations & Known Issues

API Restrictions

  1. Read-Only Operations
  1. Rate Limiting
  1. Cache Management
  1. Authentication
  1. Technical Implementation

Contributing

  1. Fork the repository
  1. Create a feature branch
  1. Make your changes with tests
  1. Submit a pull request
Please follow our coding standards:
  • TypeScript strict mode
  • ESLint configuration
  • Jest for testing
  • Comprehensive error handling

License

MIT License - See LICENSE file for details

Troubleshooting

See TROUBLESHOOTING.md for a comprehensive troubleshooting guide.

Common Issues

  1. JSON Connection Errors
  1. Authentication Issues
  1. Server Not Starting
For more detailed debugging steps and solutions, refer to the troubleshooting guide.

Support

Figma MCP Server

A Model Context Protocol (MCP) server that provides integration with Figma's API through Claude and other MCP-compatible clients. Currently supports read-only access to Figma files and projects, with server-side architecture capable of supporting more advanced design token and theme management features (pending Figma API enhancements or plugin development).

Project Status

Current Progress

  • Core Implementation: Successfully built a TypeScript server following the Model Context Protocol (MCP)
  • Claude Desktop Integration: Tested and functional with Claude Desktop
  • Read Operations: Working get-file and list-files tools for Figma file access
  • Server Architecture: Caching system, error handling, and stats monitoring implemented
  • Transport Protocols: Both stdio and SSE transport mechanisms supported

Potential Full Functionality

The server has been designed with code to support these features (currently limited by API restrictions):
  • Variable Management: Create, read, update, and delete design tokens (variables)
  • Reference Handling: Create and validate relationships between tokens
  • Theme Management: Create themes with multiple modes (e.g., light/dark)
  • Dependency Analysis: Detect and prevent circular references
  • Batch Operations: Perform bulk actions on variables and themes
With Figma plugin development or expanded API access, these features could be fully enabled.

Features

  • Secure authentication with Figma API
  • File operations (read, list)
  • Design system management
  • Variable creation and management
  • Theme creation and configuration
  • Reference handling and validation
  • Performance optimized
  • LRU caching
  • Rate limit handling
  • Connection pooling
  • Comprehensive monitoring
  • Health checks
  • Usage statistics
  • Error tracking

Prerequisites

  • Node.js 18.x or higher
  • Figma access token with appropriate permissions
  • Basic understanding of MCP (Model Context Protocol)

Installation

Configuration

  1. Create a .env file based on .env.example:
  1. For Claude Desktop integration:
The server can be configured in your Claude Desktop config file:
  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
Important Notes:
  • Use ABSOLUTE paths, not relative paths
  • On Windows, use double backslashes (\\) in paths
  • Restart Claude Desktop after making configuration changes

Usage

Basic Usage

Available Tools

  1. get-file
  1. list-files
  1. create-variables
  1. create-theme

API Documentation

Server Methods

  • startServer(figmaToken: string, debug?: boolean, port?: number)

Tool Schemas

All tool inputs are validated using Zod schemas:

Error Handling

The server provides detailed error messages and proper error codes:
  • Invalid token: 403 with specific error message
  • Rate limiting: 429 with reset time
  • Validation errors: 400 with field-specific details
  • Server errors: 500 with error tracking

Limitations & Known Issues

API Restrictions

  1. Read-Only Operations
  1. Rate Limiting
  1. Cache Management
  1. Authentication
  1. Technical Implementation

Contributing

  1. Fork the repository
  1. Create a feature branch
  1. Make your changes with tests
  1. Submit a pull request
Please follow our coding standards:
  • TypeScript strict mode
  • ESLint configuration
  • Jest for testing
  • Comprehensive error handling

License

MIT License - See LICENSE file for details

Troubleshooting

See TROUBLESHOOTING.md for a comprehensive troubleshooting guide.

Common Issues

  1. JSON Connection Errors
  1. Authentication Issues
  1. Server Not Starting
For more detailed debugging steps and solutions, refer to the troubleshooting guide.

Support