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

agent-billy

v1.0.2

Published

Agent Billy — Local MCP server proxy for Claude Desktop, Cursor, and more

Readme

Agent Billy MCP Server

Local MCP proxy that gives AI assistants (Claude, Cursor, Copilot) secure, role-based access to your Stripe billing through your Billy container API.

Quick Start

npx agent-billy --api-url https://yourorg.agentbilly.ai --token YOUR_API_KEY

Or use environment variables:

export BILLY_API_URL=https://yourorg.agentbilly.ai
export BILLY_TOKEN=billy_your-api-key
npx agent-billy

MCP Configuration

Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "agent-billy": {
      "command": "npx",
      "args": ["-y", "agent-billy"],
      "env": {
        "BILLY_API_URL": "https://yourorg.agentbilly.ai",
        "BILLY_TOKEN": "billy_your-api-key"
      }
    }
  }
}

Config file locations:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Claude Code

claude mcp add agent-billy \
  -e BILLY_API_URL=https://yourorg.agentbilly.ai \
  -e BILLY_TOKEN=billy_your-api-key \
  -- npx -y agent-billy

Cursor

Go to Settings > MCP Servers > Add new MCP server and enter:

{
  "command": "npx",
  "args": ["-y", "agent-billy"],
  "env": {
    "BILLY_API_URL": "https://yourorg.agentbilly.ai",
    "BILLY_TOKEN": "billy_your-api-key"
  }
}

VS Code (GitHub Copilot)

Add to your settings.json:

{
  "mcp": {
    "servers": {
      "agent-billy": {
        "command": "npx",
        "args": ["-y", "agent-billy"],
        "env": {
          "BILLY_API_URL": "https://yourorg.agentbilly.ai",
          "BILLY_TOKEN": "billy_your-api-key"
        }
      }
    }
  }
}

Authentication

Generate an API key from your Billy dashboard:

  1. Log in at https://yourorg.agentbilly.ai
  2. Go to Settings > API Keys
  3. Click Generate Key and choose a role
  4. Copy the key and use it as BILLY_TOKEN

API keys inherit the role you assign when creating them. A Billing Clerk key can only perform Billing Clerk actions. Keys can be revoked at any time from Settings.

Available Tools

Read Tools

| Tool | Description | |------|-------------| | billy_list_charges | List recent charges. Filter by status (succeeded, failed, pending). | | billy_get_charge | Get details for a specific charge by Stripe charge ID. | | billy_list_customers | List customers with pagination. | | billy_get_customer | Get details for a specific customer by Stripe customer ID. | | billy_list_subscriptions | List subscriptions. Filter by status (active, past_due, canceled, trialing). | | billy_list_invoices | List invoices. Filter by status (draft, open, paid, void, uncollectible). | | billy_list_refunds | List all refunds that have been issued. | | billy_get_stats | Dashboard snapshot: MTD revenue, success rate, active subs, failed charges. | | billy_search | Search across customers, charges, subscriptions, and invoices by keyword. |

Write Tools

| Tool | Description | |------|-------------| | billy_create_refund | Issue a full or partial refund for a charge. | | billy_create_customer | Create a new Stripe customer. | | billy_update_customer | Update a customer's email, name, description, or metadata. | | billy_cancel_subscription | Cancel a subscription (at period end or immediately). | | billy_reactivate_subscription | Reactivate a canceled subscription that hasn't fully expired. | | billy_send_invoice | Send an invoice to the customer via email. | | billy_void_invoice | Void an invoice so it can no longer be paid. | | billy_create_coupon | Create a discount coupon (percentage or fixed amount). | | billy_delete_coupon | Delete a coupon so it can't be applied to new customers. |

Role-Based Access

All permissions are enforced server-side. The token inherits the role of the user who created it.

| Role | Read | Refunds | Manage Subs | Invoices | Customers | Coupons | |------|------|---------|-------------|----------|-----------|---------| | Owner | All | Unlimited | Full | Full | Full | Full | | Billing Manager | All | Up to $5,000 | Full | Full | Full | Full | | Billing Clerk | All | Up to $100 | View only | View only | Update only | No | | Read Only | All | No | No | No | No | No |

Spending Limits

Refund limits are enforced per transaction, per role:

  • Owner: No limit
  • Billing Manager: $5,000 per refund
  • Billing Clerk: $100 per refund
  • Read Only: Cannot issue refunds

Attempting to exceed your limit returns a permission error. The action is logged in the audit trail.

CLI Options

agent-billy --api-url <url> --token <jwt>

Options:
  --api-url   Billy container API URL (or BILLY_API_URL env var)
  --token     JWT auth token (or BILLY_TOKEN env var)
  --api-key   API key, alternative to token (or BILLY_API_KEY env var)
  --help, -h  Show help

Links