Pulse MCP Server
# @beinfi/pulse-mcp
MCP server for the [Pulse](https://beinfi.com) usage-based billing platform.
Track metering events, manage customers, generate invoices, and more — directly from any MCP-compatible AI assistant (Claude, Cursor, Windsurf, etc.).
## Quick Start
```bash
npx @beinfi/pulse-mcp
```
Set your API key as an environment variable:
```bash
export PULSE_API_KEY=sk_live_...
```
### Claude Desktop
Add to your `claude_desktop_config.json`:
```json
{
"mcpServers": {
"pulse": {
"command": "npx",
"args": ["-y", "@beinfi/pulse-mcp"],
"env": {
"PULSE_API_KEY": "sk_live_..."
}
}
}
}
```
### Claude Code
```bash
claude mcp add pulse -- npx -y @beinfi/pulse-mcp
```
Then set your API key:
```bash
export PULSE_API_KEY=sk_live_...
```
## Available Tools
### Metering
- **track_event** — Track a single usage event for a customer
- **track_events_batch** — Track multiple usage events in a single request
- **get_usage** — Query aggregated usage data with optional filters
### Products & Meters
- **list_products** — List all products
- **get_product** — Get product details including its meters
- **create_product** — Create a new product
- **create_meter** — Create a meter (usage dimension) for a product
### Customers
- **list_customers** — List all customers for a product
- **create_customer** — Create a new customer
- **update_customer** — Update customer details
### Billing
- **list_invoices** — List invoices for a product
- **generate_invoice** — Generate an invoice for a customer's usage period
- **get_invoice** — Get invoice details
- **send_invoice** — Send an invoice via email
### Payment Links
- **list_payment_links** — List all payment links
- **create_payment_link** — Create a new payment link
- **get_payment_link** — Get payment link details
- **list_payment_intents** — List payment intents for a link
- **list_received_payments** — List all received payments
### Marketplace
- **list_my_agents** — List your published AI agents
- **get_agent_usage** — Get usage stats for an agent
- **invoke_agent** — Invoke an AI agent with text input
### Webhooks
- **list_webhooks** — List all webhook subscriptions
- **create_webhook** — Create a webhook subscription
- **delete_webhook** — Delete a webhook subscription
## Configuration
| Environment Variable | Required | Default | Description |
|---|---|---|---|
| `PULSE_API_KEY` | Yes | — | Your Pulse API key (`sk_live_...` or `sk_test_...`) |
| `PULSE_BASE_URL` | No | `https://api.beinfi.com` | API base URL |
## License
MIT
TDQS
Scored across 25 tools
Most tools have clearly distinct purposes targeting specific resources and actions, such as create_customer vs. update_customer or track_event vs. track_events_batch. However, some potential ambiguity exists between list_payment_intents and list_received_payments, as both relate to payment tracking but with slightly different scopes that could confuse an agent about which to use for specific queries.
Tool names follow a highly consistent verb_noun pattern throughout, such as create_customer, list_products, get_usage, and update_customer. All tools use snake_case with clear action verbs, making the set predictable and easy to navigate without any deviations in naming conventions.
With 25 tools, the count is borderline high for a coherent set, as it may feel heavy and potentially overwhelming for an agent. While the tools cover a broad domain of billing, metering, and marketplace operations, the number approaches the upper limit where usability might degrade, placing it in the 16-25 range that feels borderline for typical agent interactions.
The tool set provides comprehensive coverage for billing, metering, and marketplace domains, including CRUD operations for customers, products, and webhooks, plus usage tracking and payment management. Minor gaps exist, such as no update or delete tools for products or meters, but agents can likely work around these with the available create and get operations without significant failures.