Serveur Lemon Squeezy
Mise en œuvre d'un serveur MCP (Model Context Protocol) qui s'intègre à Lemon Squeezy pour gérer les abonnements, les commandes, les produits, etc. Ce serveur fournit une interface structurée pour gérer de manière programmatique votre boutique Lemon Squeezy avec un enregistrement d'audit et un contrôle basé sur des outils.
Démonstration
Exigences
- Python 3.8+
- MCP SDK 0.1.0+
- aiohttp
- python-dotenv
Composants
Ressources
Le serveur fournit une ressource compatible MCP pour l'audit des opérations :
- Stocke les journaux de toutes les opérations effectuées à l'aide de l'outil Lemon Squeezy
- Expose le journal d'audit via le point d'extrémité
read_resource
- Utile pour le débogage et la traçabilité des audits
Outils
Met en œuvre un ensemble complet d'opérations Lemon Squeezy via des outils MCP :
🔍 Outils pour les magasins et les produits
get_user
: Obtenir les informations sur l'utilisateur actuel de Lemon Squeezylist_stores
: Liste de tous les magasinsget_store
: Récupère un magasin spécifiquelist_products
: Liste des produitsget_product
: Obtenir les détails d'un produitget_product_variants
: Liste des variantes d'un produit
📦 Outils de commande et de client
list_orders
: Liste de toutes les commandesget_order
: Obtenir les détails d'une commandelist_customers
: Liste de tous les clientsget_customer
: Récupérer les détails d'un client
💳 Outils d'abonnement et de licence
list_subscriptions
: Liste des abonnementsget_subscription
: Obtenir un abonnementlist_license_keys
: Liste des clés de licenceget_license_key
: Récupérer les informations de la clé de licence
🛒 Outils de paiement et de crochets Web
create_checkout
: Créer une session de paiement entièrement personnaliséecreate_webhook
: Enregistrer un nouveau webhooklist_webhooks
: Liste de tous les webhooks (filtrable par magasin)
Fonctionnalités
- Gestion des abonnements et des paiements
- Création et liste des webhooks
- Enregistrement d'audit de toutes les actions
- Intégration d'outils et de ressources compatibles MCP
- Retour et enregistrement des erreurs
Installation
Installation via Smithery
Pour installer LemonSqueezy Server pour Claude Desktop automatiquement via Smithery:
npx -y @smithery/cli install @atharvagupta2003/mcp-lemonsqueezy --client claude
Installer les dépendances
python -m venv venv source venv/bin/activate # Sur macOS/Linux venv\Scripts\activate # Sur Windows pip install -e
Configuration
Configurez les variables d'environnement dans un fichier .env :
LEMON_SQUEEZY_API_KEY=votre_clé_api_lemonsqueezy
Bureau Claude
Ajoutez la configuration du serveur à votre configuration Claude Desktop :
Windows : C:\Users<username>\AppData\Roaming\Claude\claude_desktop_config.json
MacOS : ~/Bibliothèque/Application Support/Claude/claude_desktop_config.json
{ "mcpServers" : { "lemonsqueezy" : { "command" : "/Users/hp/.local/bin/uv", "description" : "Opérations avec la plateforme de paiement lemonsqueezy", "args" : [ "--directory", "/ABSOLUTE/PATH/TO/PARENT/FOLDER/src/mcp_lemonsqueezy", "run", "--with", "fastmcp", "server.py" ], "env" : { "LEMONSQUEEZY_API_KEY" : "<VOTRE-API-CLÉ>" } } } }
Utilisation
Démarrez le serveur
uv run src/mcp_lemonsqueezy/server.py
Exemples de commandes MCP
Obtenir l'utilisateur actuel
{"tool" : "get_user", "arguments" : {} }
Lister tous les magasins
{ "tool" : "list_stores", "arguments" : {} "list_stores", "arguments" : {} }
Obtenir un magasin par ID
{ "tool" : "get_store", "arguments" : {} "get_store", "arguments" : { "store_id" : "164870" } }
Gestion des erreurs
Le serveur fournit des messages d'erreur clairs pour les scénarios les plus courants :
- 401 Non autorisé: Clé API manquante ou non valide
- 422 Unprocessable Entity (entité non traitable): Champs non valides tels que l'ID de la variante ou du magasin manquant
- 400 Bad Request (mauvaise demande) : Structure JSON de l'API non valide
Développement
Tests
Lancez l'inspecteur MCP pour un test interactif :
npx @modelcontextprotocol/inspector uv run --with fastmcp /ABSOLUTE/PATH/TO/PARENT/FOLDER/src/mcp_lemonsqueezy/server.py
Construction
- Mise à jour des dépendances :
uv compile pyproject.toml
- Construire le paquet :
uv build
Contribuer
Les contributions sont les bienvenues ! Veuillez consulter nos directives de contribution pour plus de détails.
Licence
Ce projet est sous licence MIT - voir le fichier LICENSE pour plus de détails.