A newer version of the Gradio SDK is available:
5.42.0
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
- Aller sur Figma Settings > Personal Access Tokens
- Cliquer sur "Generate new token"
- Donner un nom à votre token
- Copier le token (commence par
figd_
oufigc_
)
2. Obtenir l'ID de votre fichier Figma
- Ouvrir votre fichier Figma dans le navigateur
- Copier l'ID depuis l'URL :
https://www.figma.com/file/FILE_ID/nom-du-fichier
- L'ID est la partie entre
/file/
et/
3. Configurer Claude Desktop
Ajouter dans claude_desktop_config.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 :
{
"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 Figmaconfigure_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 fichierget_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 rectanglecreate_figma_frame(x, y, width, height, name?)
- Crée un framecreate_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
- Claude/Cursor appelle les outils MCP
- Serveur MCP reçoit la requête via SSE
- Gradio traite la requête et appelle l'API REST Figma
- Figma renvoie la réponse
- 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