File size: 5,070 Bytes
2ce4102 2fee365 2ce4102 f7dd4c5 2fee365 f7dd4c5 2fee365 f7dd4c5 2fee365 f7dd4c5 2fee365 f7dd4c5 2fee365 f7dd4c5 2fee365 f7dd4c5 2fee365 f7dd4c5 2fee365 f7dd4c5 2fee365 f7dd4c5 2fee365 f7dd4c5 2fee365 f7dd4c5 2fee365 f7dd4c5 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 |
---
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
|