Servidor Lemon Squeezy
Una implementación de servidor de Protocolo de Contexto de Modelo (MCP) que se integra con Lemon Squeezy para manejar suscripciones, pagos, productos y más. Este servidor proporciona una interfaz estructurada para gestionar mediante programación su tienda Lemon Squeezy con registro de auditoría y control basado en herramientas.
Demo
Requisitos
- Python 3.8+
- SDK MCP 0.1.0+
- aiohttp
- python-dotenv
Componentes
Recursos
El servidor proporciona un recurso compatible con MCP para la auditoría de operaciones:
- Almacena registros de todas las operaciones de Lemon Squeezy basadas en herramientas
- Expone el registro de auditoría a través del punto final
read_resource
- Útil para la depuración y la trazabilidad de la auditoría
Herramientas
Implementa un conjunto completo de operaciones Lemon Squeezy a través de herramientas MCP:
herramientas de tienda y producto
get_user
: Obtener información del usuario actual de Lemon Squeezylist_stores
: Lista todas las tiendasget_store
: Obtener una tienda específicalist_products
: Listar productosget_product
: Obtener detalles del productoget_product_variants
: Listar variantes de un producto
📦 Herramientas para pedidos y clientes
list_orders
: Listar todos los pedidosget_order
: Obtener detalles de un pedidolist_customers
: Listar todos los clientesget_customer
: Obtener los detalles de un cliente
💳 Herramientas de suscripción y licencia
list_subscriptions
: Listar suscripcionesget_subscription
: Obtener una suscripciónlist_license_keys
: Listar claves de licenciaget_license_key
: Obtener información de la clave de licencia
🛒 Herramientas de pago y Webhook
create_checkout
: Crear una sesión de pago totalmente personalizadacreate_webhook
: Registrar un nuevo webhooklist_webhooks
: Lista todos los webhooks (filtrable por tienda)
Características
- Gestión de suscripciones y pagos
- Creación y listado de webhooks
- Registro de auditoría de todas las acciones
- Integración de herramientas y recursos compatibles con MCP
- Información y registro de errores
Instalación
Instalación vía Smithery
Para instalar LemonSqueezy Server para Claude Desktop automáticamente a través de Smithery:
npx -y @smithery/cli install @atharvagupta2003/mcp-lemonsqueezy --client claude
Instalar dependencias
python -m venv venv source venv/bin/activate # En macOS/Linux venv\Scripts\activate # En Windows pip install -e
Configuración
Configure las variables de entorno en un archivo .env
:
LEMON_SQUEEZY_API_KEY=tu_clave_api_lemonsqueezy
Escritorio Claude
Añade la configuración del servidor a tu configuración de Claude Desktop:
Windows: C:\Users<nombredeusuario>\AppData\Roaming\Claude\claude_desktop_config.json
MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
{ "mcpServers": { "lemonsqueezy": { "command": "/Users/hp/.local/bin/uv", "description": "Operaciones con la plataforma de pago lemonsqueezy", "args": [ "--directory", "/ABSOLUTE/PATH/TO/PARENT/FOLDER/src/mcp_lemonsqueezy", "run", "--with", "fastmcp", "server.py" ], "env": { "LEMONSQUEEZY_API_KEY": "<SU_CLAVE_API>" } } }
Uso
Iniciar el servidor
uv run src/mcp_lemonsqueezy/server.py
Ejemplo de comandos MCP
Obtener usuario actual
{ "herramienta": "get_user", "arguments": {} }
Listar todos los almacenes
{ "herramienta": "list_stores", "arguments": {} }
Obtener una tienda por ID
{ "herramienta": "get_store", "arguments": { "store_id": "164870" } }
Tratamiento de errores
El servidor proporciona mensajes de error claros para escenarios comunes:
- 401 No autorizado: Falta la clave API o no es válida
- 422 Entidad no procesable: Campos no válidos como ID de variante/tienda faltante
- 400 Solicitud incorrecta: Estructura de API JSON no válida
Desarrollo
Pruebas
Ejecute el Inspector MCP para realizar pruebas interactivas:
npx @modelcontextprotocol/inspector uv run --with fastmcp /ABSOLUTE/PATH/TO/PARENT/FOLDER/src/mcp_lemonsqueezy/server.py
Construyendo
- Actualizar dependencias:
uv compile pyproject.toml
- Construir paquete:
uv build
Contribución
Agradecemos cualquier contribución Consulte nuestras Directrices de contribución para obtener más información.
Licencia
Este proyecto está licenciado bajo la Licencia MIT - vea el archivo LICENSE para más detalles.