figma-mcp

eldersongamma/figma-mcp

3.1

If you are the rightful owner of figma-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.

The MCP Figma Bridge is a server that connects Figma designs to React components using the Model Context Protocol (MCP) to automate the generation of React components from Figma designs.

MCP Figma Bridge 🎨→⚛️

Ponte entre Figma e React usando MCP (Model Context Protocol) para gerar automaticamente componentes React baseados em designs do Figma.

Node Version


🚀 Início Rápido (5 minutos)

# Clone o repositório
git clone https://github.com/seu-usuario/mcp-fig.git
cd mcp-fig

# Instale as dependências
npm install

# Configure o .env (veja docs/03-ENV_TEMPLATE.md)
cp .env.example .env
# Edite .env e adicione seu token do Figma

# Inicie o servidor
npm start

Pronto! O servidor estará rodando em http://localhost:3331 🎉


📚 Documentação

🎯 Comece por aqui

OrdemDocumentoDescriçãoTempo
1️⃣Instalação e primeiro uso5 min
2️⃣Guia detalhado passo a passo15 min
3️⃣Como configurar variáveis de ambiente2 min

📖 Referência

DocumentoDescrição
Organização de arquivos e pastas
Documentação técnica completa (700+ linhas)
Histórico de versões e mudanças

🎯 O que é este projeto?

Este projeto permite que você:

Consulte designs do Figma através de uma API REST
Gere componentes React automaticamente usando IA
Use Ant Design - 100% fiel ao design original
Economize tempo - De 2-4 horas para 5-15 minutos

Como funciona?

Figma Design → MCP Server → Cursor IDE + IA → Componente React

💡 Exemplo de Uso

1. Listar páginas de um arquivo Figma

curl http://localhost:3331/figma/SEU_FILE_ID/pages

2. Gerar componente via Cursor IDE

/use figma
/generate componente React baseado no design do Figma
fileId=SEU_FILE_ID node-id=NODE_ID

3. Usar o componente gerado

import DetailsForm from "./DetailsForm";

function App() {
  const handleSubmit = (data) => {
    console.log("Dados:", data);
  };

  return <DetailsForm onSubmit={handleSubmit} />;
}

🛠️ Tecnologias

  • Node.js + Express - Servidor HTTP
  • Figma API - Acesso aos designs
  • MCP Protocol - Comunicação padronizada
  • React + TypeScript - Componentes gerados
  • Ant Design - UI Kit/Design System

📡 API Endpoints

EndpointDescrição
GET /figma/:fileId/pagesLista todas as páginas do arquivo
GET /figma/:fileId/nodes/:nodeIdBusca um componente específico
GET /figma/:fileIdRetorna o arquivo completo

Veja a para mais detalhes.


📂 Estrutura do Projeto

mcp-fig/
├── 📖 docs/                        # Documentação completa
│   ├── 01-GETTING_STARTED.md      # Início rápido
│   ├── 02-SETUP.md                # Setup detalhado
│   ├── 03-ENV_TEMPLATE.md         # Configuração
│   ├── 04-PROJECT_STRUCTURE.md    # Estrutura
│   ├── 05-ARQUITETURA.md          # Docs técnicas
│   └── 06-CHANGELOG.md            # Versões
│
├── 💻 server.js                   # Servidor MCP
├── ⚛️ DetailsForm.tsx             # Componente exemplo
├── 📝 App.example.tsx             # Como usar
│
├── ⚙️ .env.example                # Template de config
├── 🚫 .gitignore                  # Proteção
├── 📜 LICENSE                     # MIT
└── 📦 package.json                # Dependências

🎨 Componente de Exemplo

O projeto inclui DetailsForm.tsx - um formulário completo de "Detalhes da Carga" gerado do Figma.

Features:

  • ✅ 7 seções organizadas
  • ✅ Tabela editável para documentos
  • ✅ Validação de formulário
  • ✅ Layout responsivo
  • ✅ TypeScript completo
  • ✅ Ant Design components

Veja para exemplo de uso.


🔧 Configuração no Cursor IDE

Adicione ao arquivo ~/.cursor/mcp.json:

{
  "mcpServers": {
    "figma": {
      "command": "node",
      "args": ["/caminho/completo/para/mcp-fig/server.js"],
      "env": {
        "FIGMA_TOKEN": "seu_token_aqui",
        "PORT": "3331"
      }
    }
  }
}

Importante: Use o caminho ABSOLUTO para o server.js

Veja para instruções detalhadas.


🚨 Troubleshooting

Porta em uso

lsof -ti:3331 | xargs kill -9
npm start

Erro de autenticação

  • Verifique se o token está correto no .env
  • Gere um novo token no Figma

Módulos não encontrados

npm install

Mais soluções em:


📈 Roadmap

  • Cache de respostas da API
  • Exportação de assets (imagens)
  • Suporte a Vue.js e Angular
  • Geração de testes unitários
  • Design tokens extraction
  • Sincronização bidirecional

Veja o para mais detalhes.


🤝 Contribuindo

Contribuições são bem-vindas! Sinta-se livre para:

  • 🐛 Reportar bugs via Issues
  • 💡 Sugerir novas features
  • 🔧 Enviar Pull Requests
  • 📖 Melhorar a documentação

Veja para mais informações.


🔒 Segurança

⚠️ Importante:

  • Nunca commite o arquivo .env com seu token
  • Este servidor é apenas para desenvolvimento local
  • Não exponha o servidor para a internet
  • Para produção, gere os componentes e commite apenas o código

📝 Licença

MIT License - Veja para mais detalhes.


👨‍💻 Autor

Criado com ❤️ por Elderson Gamma


📞 Suporte


⭐ Mostre seu apoio

Se este projeto foi útil, considere dar uma ⭐ no GitHub!