npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@khmuhtadin/pi-lemonsqueezy-mcp

v0.1.0

Published

Pi extension that bridges pi to the LemonSqueezy MCP server for store management.

Readme

pi LemonSqueezy MCP Extension

A pi package that bridges pi to the LemonSqueezy MCP server by YawLabs.

It spawns the @yawlabs/lemonsqueezy-mcp server via stdio and exposes a generic bridge for calling all 64 LemonSqueezy API tools — products, orders, subscriptions, customers, discounts, license keys, checkouts, webhooks, and more.

Installation

From npm:

pi install npm:@khmuhtadin/pi-lemonsqueezy-mcp

From git:

pi install git:github.com/khmuhtadin/pi-lemonsqueezy-mcp

For local development:

pi install /absolute/path/to/pi-lemonsqueezy-mcp

Setup

Set your LemonSqueezy API key before starting pi:

export LEMONSQUEEZY_API_KEY="your-api-key"

Get your API key from LemonSqueezy Settings → API.

Registered tools

  • lemonsqueezy_mcp_list_tools — list all 64 tools exposed by the LemonSqueezy MCP server.
  • lemonsqueezy_mcp_call_tool — call any LemonSqueezy MCP tool by name with JSON arguments.

Example prompt:

How many active subscriptions do I have?

The LLM will first call lemonsqueezy_mcp_list_tools, discover ls_list_subscriptions, then call lemonsqueezy_mcp_call_tool with the right parameters.

Slash commands

  • /lemonsqueezy-mcp-status — check connection and tool count.
  • /lemonsqueezy-mcp-register [tool1,tool2|*] — register selected MCP tools as native pi tools with ls_ prefix.

Environment variables

| Variable | Purpose | Default | |----------|---------|---------| | LEMONSQUEEZY_API_KEY | LemonSqueezy API token (required) | — | | LEMONSQUEEZY_MCP_BIN | Command to run | npx | | LEMONSQUEEZY_MCP_ARGS | Space-separated arguments | -y @yawlabs/lemonsqueezy-mcp@latest | | LEMONSQUEEZY_MCP_TIMEOUT_MS | Request timeout | 30000 |

All LEMONSQUEEZY_* env vars (except the three above) are forwarded to the child MCP server, so guardrails like LEMONSQUEEZY_ALLOWED_STORE_IDS, LEMONSQUEEZY_MAX_REFUND_AMOUNT_CENTS, and LEMONSQUEEZY_DISABLE_CLASSES work automatically.

See the upstream README for the full guardrail configuration reference.

Tools available (64)

Users & Stores: ls_get_user, ls_get_store, ls_list_stores

Customers: ls_get_customer, ls_list_customers, ls_create_customer, ls_update_customer, ls_archive_customer

Products & Variants: ls_get_product, ls_list_products, ls_get_variant, ls_list_variants

Prices & Files: ls_get_price, ls_list_prices, ls_get_file, ls_list_files

Orders: ls_get_order, ls_list_orders, ls_generate_order_invoice, ls_refund_order

Order Items: ls_get_order_item, ls_list_order_items

Subscriptions: ls_get_subscription, ls_list_subscriptions, ls_update_subscription, ls_cancel_subscription

Subscription Invoices: ls_get_subscription_invoice, ls_list_subscription_invoices, ls_generate_subscription_invoice, ls_refund_subscription_invoice

Subscription Items: ls_get_subscription_item, ls_list_subscription_items, ls_update_subscription_item, ls_get_subscription_item_usage

Usage Records: ls_get_usage_record, ls_list_usage_records, ls_create_usage_record

Discounts: ls_get_discount, ls_list_discounts, ls_create_discount, ls_delete_discount

Discount Redemptions: ls_get_discount_redemption, ls_list_discount_redemptions

License Keys: ls_get_license_key, ls_list_license_keys, ls_update_license_key

License Key Instances: ls_get_license_key_instance, ls_list_license_key_instances

Checkouts: ls_get_checkout, ls_list_checkouts, ls_create_checkout

Webhooks: ls_get_webhook, ls_list_webhooks, ls_create_webhook, ls_update_webhook, ls_delete_webhook

License API: ls_activate_license, ls_validate_license, ls_deactivate_license

Affiliates: ls_get_affiliate, ls_list_affiliates

Webhook Sink: ls_sink_events_list, ls_sink_event_mark_processed, ls_sink_stats

Guardrails

The upstream server supports opt-in guardrails via env vars:

export LEMONSQUEEZY_ALLOWED_STORE_IDS="store_abc,store_xyz"  # restrict store access
export LEMONSQUEEZY_MAX_REFUND_AMOUNT_CENTS="10000"           # cap refunds at $100
export LEMONSQUEEZY_DISABLE_CLASSES="money,recurring"         # block dangerous operations

These are forwarded automatically by this extension. See the upstream docs for authority classes.

License

MIT