@yawlabs/lemonsqueezy-mcp 0.5.0 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +19 -2
- package/dist/index.js +2313 -11371
- package/package.json +54 -55
package/README.md
CHANGED
|
@@ -174,9 +174,9 @@ All configuration is via environment variables. Only `LEMONSQUEEZY_API_KEY` (or
|
|
|
174
174
|
| --- | --- |
|
|
175
175
|
| `LEMONSQUEEZY_API_KEY` | LemonSqueezy API token. |
|
|
176
176
|
| `LEMONSQUEEZY_API_KEY_COMMAND` | Command whose stdout produces the API key. Overrides `LEMONSQUEEZY_API_KEY`. Output is cached for 1 hour. Use this to pull short-lived credentials from a vault (`op read`, `gcloud secrets versions access`, etc.) without writing them to env vars. |
|
|
177
|
-
| `LEMONSQUEEZY_ALLOWED_STORE_IDS` | Comma-separated allowlist of store IDs. When set
|
|
177
|
+
| `LEMONSQUEEZY_ALLOWED_STORE_IDS` | Comma-separated allowlist of store IDs. When set: (1) any tool whose input includes a `storeId` rejects calls to a non-allowed store; (2) tools that *accept* a `storeId` filter (e.g. `ls_list_orders`, `ls_list_subscriptions`) require it — calls without one are blocked so a missing filter cannot return data from every store the API key can see. Tools with no `storeId` field at all (e.g. `ls_refund_order`, `ls_list_stores`) are not gated by this — pair with `LEMONSQUEEZY_MAX_REFUND_AMOUNT_CENTS` and `LEMONSQUEEZY_DESTRUCTIVE_RATE_LIMIT`. |
|
|
178
178
|
| `LEMONSQUEEZY_MAX_REFUND_AMOUNT_CENTS` | Rejects `ls_refund_order` and `ls_refund_subscription_invoice` calls above this amount. |
|
|
179
|
-
| `LEMONSQUEEZY_DESTRUCTIVE_RATE_LIMIT` | Max destructive tool calls per 60-second rolling window. In-process limit — per MCP server instance, not global. |
|
|
179
|
+
| `LEMONSQUEEZY_DESTRUCTIVE_RATE_LIMIT` | Max destructive tool calls per 60-second rolling window. In-process limit — per MCP server instance, not global; each `npx` cold start resets the window. Counts include `ls_update_license_key` calls that set `disabled: true`. |
|
|
180
180
|
| `LEMONSQUEEZY_LOG=json` | Emit one JSON log line to stderr per tool and HTTP call. Destructive calls are tagged `audit: true` and include their inputs. |
|
|
181
181
|
|
|
182
182
|
### Logging format
|
|
@@ -214,6 +214,23 @@ npm test # full unit + handler suite
|
|
|
214
214
|
npm run test:integration # requires LEMONSQUEEZY_TEST_API_KEY + LEMONSQUEEZY_TEST_STORE_ID
|
|
215
215
|
```
|
|
216
216
|
|
|
217
|
+
## Releasing
|
|
218
|
+
|
|
219
|
+
Releases are cut locally — there is no CI pipeline. From a clean checkout of `main`:
|
|
220
|
+
|
|
221
|
+
```bash
|
|
222
|
+
./release.sh 0.6.0
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
The script lints, tests, builds, bumps the version, commits and tags, pushes to `origin`, publishes to npm, and creates a GitHub release. Each step is idempotent — re-running with the same version after a partial failure resumes from where it stopped.
|
|
226
|
+
|
|
227
|
+
One-time setup on the release machine:
|
|
228
|
+
|
|
229
|
+
```bash
|
|
230
|
+
npm login --auth-type=web # publisher of @yawlabs/lemonsqueezy-mcp
|
|
231
|
+
gh auth login # GitHub CLI for the release-creation step
|
|
232
|
+
```
|
|
233
|
+
|
|
217
234
|
## License
|
|
218
235
|
|
|
219
236
|
MIT
|