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

@jordiai/l402-mcp

v1.0.0

Published

MCP server for testing and interacting with L402 services

Downloads

62

Readme

l402-mcp

An MCP (Model Context Protocol) server for testing and interacting with L402 (Lightning HTTP 402) services. It can probe protected endpoints, run the full L402 challenge-payment-retry flow with LNbits, inspect macaroons, and manage resources on an L402 gateway.

Install

npm install -g l402-mcp

Usage

Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "l402": {
      "command": "npx",
      "args": [
        "-y",
        "l402-mcp",
        "--lnbits-url",
        "https://lnbits.example.com",
        "--lnbits-key",
        "your_lnbits_admin_key",
        "--gateway-key",
        "l402_sk_your_gateway_key"
      ]
    }
  }
}

OpenClaw

Add to your OpenClaw MCP config:

{
  "servers": {
    "l402": {
      "command": "l402-mcp",
      "args": [
        "--lnbits-url", "https://lnbits.example.com",
        "--lnbits-key", "your_lnbits_admin_key",
        "--gateway-key", "l402_sk_your_gateway_key"
      ]
    }
  }
}

CLI

# Start the MCP server
l402-mcp --lnbits-url https://lnbits.example.com --lnbits-key your_admin_key

# With gateway configuration
l402-mcp \
  --lnbits-url https://lnbits.example.com \
  --lnbits-key your_admin_key \
  --gateway-url https://l402.nosaltres2.info \
  --gateway-key l402_sk_your_gateway_key

# Help
l402-mcp --help

Tools

l402_request

Run the full L402 flow against a URL:

  1. Request the target URL
  2. Detect a 402 Payment Required response
  3. Parse WWW-Authenticate
  4. Pay the invoice via LNbits
  5. Retry with Authorization: L402 <macaroon>:<preimage>

| Parameter | Type | Required | Description | |-----------|------|----------|-------------| | url | string | ✅ | Target URL | | method | string | ❌ | HTTP method, default GET | | body | any | ❌ | Optional request body | | headers | record | ❌ | Optional request headers |

l402_inspect

Decode a macaroon and show its identifier and caveats.

| Parameter | Type | Required | Description | |-----------|------|----------|-------------| | macaroon | string | ✅ | Macaroon string |

l402_check

Probe a URL to see if it is L402-protected and report the challenge details.

| Parameter | Type | Required | Description | |-----------|------|----------|-------------| | url | string | ✅ | Target URL |

l402_create_resource

Create or update a resource on the configured L402 gateway.

| Parameter | Type | Required | Description | |-----------|------|----------|-------------| | resource_id | string | ✅ | Resource identifier | | price_sats | number | ✅ | Price in sats | | description | string | ❌ | Resource description | | content_type | string | ❌ | Content type | | ttl_seconds | number | ❌ | Optional TTL |

l402_list_resources

List resources from the configured L402 gateway.

l402_delete_resource

Delete a resource from the configured L402 gateway.

| Parameter | Type | Required | Description | |-----------|------|----------|-------------| | resource_id | string | ✅ | Resource identifier |

l402_stats

Fetch stats from the configured L402 gateway.

l402_balance

Fetch the configured LNbits wallet balance.

Environment Variables

| Variable | Description | Default | |----------|-------------|---------| | LNBITS_URL | LNbits base URL | (none) | | LNBITS_ADMIN_KEY | LNbits admin API key | (none) | | L402_GATEWAY_URL | L402 gateway URL | https://l402.nosaltres2.info | | L402_GATEWAY_KEY | L402 gateway API key | (none) |

Notes

  • l402_request and l402_balance require LNbits credentials.
  • Gateway management tools require L402_GATEWAY_KEY.
  • The package supports both simple base64 JSON macaroons and signed base64(payload).hex(hmac) tokens.

Links

License

MIT