Lemon Squeezy Server
# Lemon Squeezy Server
[](https://smithery.ai/server/@atharvagupta2003/mcp-lemonsqueezy)
A Model Context Protocol (MCP) server implementation that integrates with [Lemon Squeezy](https://www.lemonsqueezy.com/) for handling subscriptions, checkouts, products, and more. This server provides a structured interface to programmatically manage your Lemon Squeezy store with audit logging and tool-based control.
# Demo

## Requirements
- Python 3.8+
- MCP SDK 0.1.0+
- aiohttp
- python-dotenv
## Components
### Resources
The server provides an MCP-compatible resource for operation auditing:
- Stores logs of all tool-based Lemon Squeezy operations
- Exposes audit log via `read_resource` endpoint
- Helpful for debugging and audit traceability
### Tools
Implements a full set of Lemon Squeezy operations via MCP tools:
#### 🔍 Store & Product Tools
- `get_user`: Get current Lemon Squeezy user info
- `list_stores`: List all stores
- `get_store`: Fetch a specific store
- `list_products`: List products
- `get_product`: Get product details
- `get_product_variants`: List variants for a product
#### 📦 Order & Customer Tools
- `list_orders`: List all orders
- `get_order`: Get details of an order
- `list_customers`: List all customers
- `get_customer`: Fetch customer details
#### 💳 Subscription & License Tools
- `list_subscriptions`: List subscriptions
- `get_subscription`: Get a subscription
- `list_license_keys`: List license keys
- `get_license_key`: Fetch license key info
#### 🛒 Checkout & Webhook Tools
- `create_checkout`: Create a fully customized checkout session
- `create_webhook`: Register a new webhook
- `list_webhooks`: List all webhooks (filterable by store)
---
## Features
- **Subscription & Checkout Management**
- **Webhook Creation & Listing**
- **Audit Logging of All Actions**
- **MCP-Compatible Tool & Resource Integration**
- **Error Feedback and Logging**
---
## Installation
### Installing via Smithery
To install LemonSqueezy Server for Claude Desktop automatically via [Smithery](https://smithery.ai/server/@atharvagupta2003/mcp-lemonsqueezy):
```bash
npx -y @smithery/cli install @atharvagupta2003/mcp-lemonsqueezy --client claude
```
### Install dependencies
```sh
python -m venv venv
source venv/bin/activate # On macOS/Linux
venv\Scripts\activate # On Windows
pip install -e .
```
### Configuration
Set up the environment variables in a `.env` file:
```sh
LEMON_SQUEEZY_API_KEY=your_lemonsqueezy_api_key
```
#### Claude Desktop
Add the server configuration to your Claude Desktop config:
Windows: C:\Users\<username>\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": "Operations with lemonsqueezy payment platform",
"args": [
"--directory",
"/ABSOLUTE/PATH/TO/PARENT/FOLDER/src/mcp_lemonsqueezy",
"run",
"--with",
"fastmcp",
"server.py"
],
"env": {
"LEMONSQUEEZY_API_KEY": "<YOUR-API-KEY>"
}
}
}
}
```
## Usage
### Start the server
```sh
uv run src/mcp_lemonsqueezy/server.py
```
### Example MCP Commands
#### Get Current User
```json
{
"tool": "get_user",
"arguments": {}
}
```
#### List All Stores
```json
{
"tool": "list_stores",
"arguments": {}
}
```
#### Get a Store by ID
```json
{
"tool": "get_store",
"arguments": {
"store_id": "164870"
}
}
```
## Error Handling
The server provides clear error messages for common scenarios:
- **401 Unauthorized**: Missing or invalid API key
- **422 Unprocessable Entity**: Invalid fields like missing variant/store ID
- **400 Bad Request**: Invalid JSON API structure
## Development
### Testing
Run the MCP Inspector for interactive testing:
```sh
npx @modelcontextprotocol/inspector uv run --with fastmcp /ABSOLUTE/PATH/TO/PARENT/FOLDER/src/mcp_lemonsqueezy/server.py
```
### Building
1. Update dependencies:
```
uv compile pyproject.toml
```
2. Build package:
```
uv build
```
### Contributing
We welcome contributions! Please see our [Contributing Guidelines](CONTRIBUTING.md) for details.
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
TDQS
Scored across 17 tools
Each tool targets a distinct entity-action pair (e.g., get vs list for customers, orders, etc.), and there is no overlap. The only specific variant is get_product_variants, which is clearly a sub-resource.
All tool names follow a consistent verb_noun pattern in snake_case (get_, list_, create_), with no deviations or mixed conventions.
17 tools cover the main entities of the Lemon Squeezy platform (customers, orders, subscriptions, products, stores, webhooks, license keys, checkout) without being excessive. The scope is well-matched to a commerce API.
The tool set is heavily read-oriented with only two create operations (checkout and webhook). Missing update, delete, and other mutation operations for most entities (e.g., customers, products, stores) creates significant gaps that would hinder agents needing full lifecycle management.