Lemon Squeezy
Connect Lemon Squeezy to track sales, refund orders, manage subscriptions, customers, discount codes and license keys, and create checkout links.
You paste one value into PopMCP: an API key made under Settings, API in your Lemon Squeezy dashboard. PopMCP then lists the stores the key reaches and you pick the one this connection is for.
- Setup time
- 2 min
- Auth
- API credentials
- API base URL
- https://api.lemonsqueezy.com/v1
- Rate limits
- 300 API calls a minute; over that Lemon Squeezy answers 429, and successful answers carry X-Ratelimit-Limit and X-Ratelimit-Remaining. The License API (activate, validate, deactivate) allows 60 requests a minute.
Before you begin
- A Lemon Squeezy account with at least one store
- For your real sales, a key made with Test Mode switched off. A key made in test mode sees test data only
- No OAuth app, redirect URL or review is needed: the key is the whole setup
Get your credentials
Sign in and check Test Mode
Sign in at app.lemonsqueezy.com. At the bottom of the sidebar, under your store's name, is the Test Mode switch. A key made while it is on sees only test orders, subscriptions and customers; turn it off first if the AI should work with your real sales. If you run several stores, any one can be open: PopMCP lists every store the key reaches.
Store settings
View and update your store details
- Store name
- Acme Digital
- Store URL
- acme.lemonsqueezy.com
- Test Mode
- Off
The Test Mode switch sits at the bottom of the sidebar. Keys made while it is on only ever see test data.
Open Settings, then API
In the sidebar open Settings, then API. The page lists your API keys. Click the + button on the right of API keys to make a new one.
API keys
Create a new API key to authenticate your app
No API keys yet.
Name the key and copy it
Type a name you will recognise, such as PopMCP (names cannot be changed later), and submit. Lemon Squeezy shows the new key, a long string that starts with eyJ, in a window. Copy it with the copy button before you close the window: it is never shown again.
API keys
Create a new API key to authenticate your app
This is the only time the key is displayed. If you lose it, delete it and make a new one.
Paste the key into PopMCP and pick the store
In PopMCP, paste the key into API key and connect. PopMCP checks it, then lists every store it reaches. Choose the store for this workspace; to connect another store too, put it in a workspace of its own.
Connect in PopMCP
Open your workspace, choose Lemon Squeezy in the marketplace, and fill in the connect dialog:
| Field | What to enter |
|---|---|
| API keysecret | In Lemon Squeezy open Settings, then API, click the plus button, name the key PopMCP and copy it. Stored encrypted and used only on our servers.Encrypted with AES-256-GCM on save and never shown again. |
PopMCP verifies the credential against Lemon Squeezy immediately. On success the connection flips to Verified and its MCP tools are provisioned.
Verify it worked
PopMCP marks the Lemon Squeezy connection Verified with the store's name, and adds (test mode) for a test key. Asking the AI for last month's sales, or for the newest orders, returns them from that store.
Troubleshooting
"Lemon Squeezy did not accept this API key. Keys expire after a year and can be deleted: make a new one in Lemon Squeezy, Settings > API, and paste the whole key."
Why: The key was copied only in part, was deleted, or is more than a year old.
Fix: Make a new key under **Settings**, **API**, copy the whole key from the window and paste it again.
"This API key does not reach any store yet."
Why: The account has no store set up yet.
Fix: Finish creating a store in Lemon Squeezy, then connect again.
"This API key no longer reaches the store this connection was made for."
Why: The key was replaced or the store was removed from the account.
Fix: Make a key that covers the store and reconnect.
The AI finds no orders or subscriptions you know exist
Why: The key was made in test mode, so it sees test data only.
Fix: Switch Test Mode off, make a new key and reconnect with it.
"Pass product_id to list variants"
Why: Variants, prices, files, order items and similar records carry no store, so on a store-bound connection they are listed per parent record.
Fix: Let the AI find the parent first, for example list_products with include=variants, which returns every variant at once.
A subscription change has no effect
Why: Subscriptions paid with PayPal cannot be changed through the API.
Fix: Send the customer the update link from the subscription (urls.customer_portal_update_subscription) so they make the change in the customer portal.
Tools fail with 429
Why: The key made more than 300 requests in a minute (60 a minute for license key checks).
Fix: Wait a minute and retry. PopMCP already retries a throttled request once it is allowed.
Reference
FreshBooks
Connect FreshBooks to manage clients, invoices, estimates, expenses, payments, projects, time tracking, and reports. MCP setup for Claude and ChatGPT.
PayPal
Connect PayPal to take payments and refunds, send invoices and payment links, manage subscriptions, answer disputes, and track sales and payouts.