--- title: Sigma - Figma MCP Server emoji: 🎹 colorFrom: purple colorTo: purple sdk: gradio sdk_version: 5.33.1 app_file: app.py pinned: false --- # 🎹 Figma MCP Server **Serveur MCP pour contrĂŽler Figma via Claude/Cursor avec l'API REST officielle** ## 🚀 FonctionnalitĂ©s - ✅ **Authentification Figma** avec Personal Access Token - ✅ **Vraie API REST Figma** pour toutes les opĂ©rations - ✅ **Serveur MCP** compatible Claude Desktop et Cursor - ✅ **HĂ©bergĂ© sur HF Spaces** - pas d'installation locale - ✅ **Interface de test** intĂ©grĂ©e ## đŸ—ïž Architecture ``` Claude/Cursor ←→ MCP (SSE) ←→ Gradio Server ←→ API REST Figma https://...sse HF Spaces api.figma.com ``` ## 🔧 Configuration ### 1. **Obtenir un Personal Access Token Figma** 1. Aller sur [Figma Settings > Personal Access Tokens](https://www.figma.com/settings) 2. Cliquer sur "Generate new token" 3. Donner un nom Ă  votre token 4. Copier le token (commence par `figd_` ou `figc_`) ### 2. **Obtenir l'ID de votre fichier Figma** 1. Ouvrir votre fichier Figma dans le navigateur 2. Copier l'ID depuis l'URL : `https://www.figma.com/file/FILE_ID/nom-du-fichier` 3. L'ID est la partie entre `/file/` et `/` ### 3. **Configurer Claude Desktop** Ajouter dans `claude_desktop_config.json` : ```json { "mcpServers": { "figma": { "command": "sse", "args": ["https://aktraiser-sigma.hf.space/gradio_api/mcp/sse"] } } } ``` ### 4. **Configurer Cursor** Ajouter dans `.cursorrules` ou les paramĂštres MCP : ```json { "mcp": { "figma": "https://aktraiser-sigma.hf.space/gradio_api/mcp/sse" } } ``` ## đŸ› ïž Outils MCP disponibles ### Configuration - `configure_figma_token(token)` - Configure le token d'accĂšs Figma - `configure_figma_file_id(file_id)` - Configure l'ID du fichier Ă  utiliser ### Informations - `get_figma_file_info(file_id?)` - RĂ©cupĂšre les infos d'un fichier - `get_figma_user_info()` - Info de l'utilisateur connectĂ© - `get_figma_comments(file_id?)` - Liste les commentaires ### CrĂ©ation d'Ă©lĂ©ments (via commentaires) - `create_figma_rectangle(x, y, width, height, name?, color?)` - CrĂ©e un rectangle - `create_figma_frame(x, y, width, height, name?)` - CrĂ©e un frame - `create_figma_text(x, y, text, name?, font_size?)` - CrĂ©e un texte ### Projets et Ă©quipes - `list_figma_team_projects(team_id?)` - Liste les projets d'une Ă©quipe ## 📝 Utilisation ### Exemple avec Claude ``` User: Configure mon token Figma et commence Ă  crĂ©er un design Claude: Je vais d'abord configurer votre token Figma. Pouvez-vous me donner votre Personal Access Token ? [AprĂšs avoir reçu le token] configure_figma_token("figd_your_token_here") Maintenant, donnez-moi l'ID de votre fichier Figma... configure_figma_file_id("YOUR_FILE_ID") Parfait ! Je peux maintenant crĂ©er des Ă©lĂ©ments. CrĂ©ons un rectangle rouge : create_figma_rectangle("100", "100", "200", "150", "Mon Rectangle", "#FF0000") ``` ## đŸ§Ș Interface de test L'application inclut une interface de test accessible sur : https://aktraiser-sigma.hf.space Cette interface permet de : - Tester la configuration du token - VĂ©rifier l'accĂšs aux fichiers - Afficher les informations du fichier - Lister les commentaires ## ⚠ Limitations actuelles ### CrĂ©ation d'Ă©lĂ©ments Pour l'instant, la crĂ©ation d'Ă©lĂ©ments (rectangles, frames, texte) se fait via **commentaires** car l'API REST Figma ne permet pas de crĂ©er directement des nƓuds. Les commentaires apparaĂźtront dans votre fichier Figma avec les instructions de crĂ©ation. ### Permissions - Vous devez avoir accĂšs en Ă©criture au fichier - Le token doit avoir les bonnes permissions (dĂ©fini lors de la crĂ©ation) ## 🔄 Fonctionnement 1. **Claude/Cursor** appelle les outils MCP 2. **Serveur MCP** reçoit la requĂȘte via SSE 3. **Gradio** traite la requĂȘte et appelle l'**API REST Figma** 4. **Figma** renvoie la rĂ©ponse 5. **Serveur MCP** retourne le rĂ©sultat Ă  **Claude/Cursor** ## 🚀 DĂ©ploiement Le serveur est automatiquement dĂ©ployĂ© sur Hugging Face Spaces : - **URL MCP :** `https://aktraiser-sigma.hf.space/gradio_api/mcp/sse` - **Interface web :** `https://aktraiser-sigma.hf.space` ## 🔒 SĂ©curitĂ© - Les tokens ne sont **jamais stockĂ©s** de façon persistante - Ils ne sont conservĂ©s qu'en mĂ©moire pendant la session - Utilisez toujours des tokens avec des permissions limitĂ©es ## 📚 API Figma Documentation officielle : https://www.figma.com/developers/api ## 🐛 DĂ©pannage ### Erreurs courantes **Token invalide** ``` ❌ Token invalide. Le token doit commencer par 'figd_' ou 'figc_' ``` → VĂ©rifiez que votre token est correct **Fichier inaccessible** ``` ❌ Impossible d'accĂ©der au fichier : 403 ``` → VĂ©rifiez que vous avez les permissions sur le fichier **Token non configurĂ©** ``` ❌ Token Figma non configurĂ© ``` → Appelez `configure_figma_token()` d'abord ## đŸ€ Contribution Ce projet est open source ! N'hĂ©sitez pas Ă  contribuer. ## 📄 Licence MIT License