# Metronome MCP

> Metronome lets you automate usage-based billing, contract management, and revenue operations through your AI agent. Send usage events, query complex data across customers, create contracts, and process invoices—all from natural conversation.

## Overview
- **Category:** data-management
- **Price:** Free
- **Tags:** usage-based-billing, revenue-operations, metering, contract-management, event-ingestion, saas-metrics

## Description

You can manage entire revenue cycles without leaving your chat window. This MCP connects your billing backend to your workflow; instead of manually exporting sheets or navigating multiple financial dashboards, you simply talk to your agent. You tell it which customer needs a new rate card defined, or that usage events need recording. It handles the ingestion and data storage using tools like `ingest_events`. Need to know what's owed? Your agent fetches current balances or lists specific invoices. If an invoice is wrong, you don't call accounting; your AI client simply runs `void_invoice` and gets a record of the change. You can also manage the underlying structure—creating products, defining billable metrics (`create_billable_metric`), and setting up customer records. This functionality fits right into the Vinkius catalog, giving you one place to handle all your usage-based billing needs.

## Tools

### add_custom_field_key
Creates a new field key for custom data tracking.

### add_rate
Adds a specific pricing rate to an existing product's rate card.

### archive_customer
Voids pending invoices and archives all contracts associated with a customer account.

### create_alert
Sets up automated notifications when specific usage thresholds are crossed.

### create_billable_metric
Defines and activates a new unit of measure that can be charged to customers.

### create_commit
Establishes a commitment amount or usage limit for a customer's billing cycle.

### create_contract
Generates and formalizes a new service agreement between the company and a client.

### create_customer
Registers a brand-new customer into the billing system.

### create_notification
Sets up an automated lifecycle event notification for specific triggers.

### create_product
Defines a new product, specifying if it's usage-based, fixed fee, or subscription.

### create_rate_card
Establishes the base pricing structure for multiple products.

### edit_contract
Makes changes to an existing customer service contract, like adjusting terms or dates.

### get_audit_logs
Retrieves a comprehensive list of actions taken within the billing system for review.

### get_customer
Fetches all current details about a specific customer by their ID.

### get_invoice
Retrieves the full record and status for one specific invoice number.

### get_net_balance
Checks the current total amount due or credited against a customer's account.

### get_services
Retrieves a list of all services offered by the platform.

### get_usage_groups
Gathers paginated data summaries for usage metrics across groups.

### get_usage
Retrieves batched, detailed records of consumed usage units.

### ingest_events
Accepts and processes large batches of raw usage events into the billing system.

### list_balances
Provides a summary list of current account balances across multiple customers or groups.

### list_billable_metrics
Shows all existing units of measure that the company charges for (e.g., per API call).

### list_contracts
Retrieves a list and status summary of all active customer contracts.

### list_credit_types
Shows the different types of pricing units available for billing.

### list_customers
Retrieves a searchable list of all registered customer accounts, supporting filters.

### list_invoices
Generates a summary report listing multiple invoices and their payment status.

### list_products
Lists all defined products, helping you see what services can be billed.

### regenerate_invoice
Re-generates a specific invoice to correct minor data errors or updates.

### search_events
Searches for usage events using a specific transaction ID, useful for testing.

### set_custom_field_values
Adds or updates custom data values to an existing customer record.

### void_invoice
Marks a specific invoice as void, preventing it from being paid and removing it from active billing.

## Prompt Examples

**Prompt:** 
```
List all customers currently registered in Metronome.
```

**Response:** 
```
I've retrieved the customer list. You have 15 active customers, including 'Acme Corp' (ID: cust_821) and 'GlobalTech' (ID: cust_442). Would you like more details on a specific one?
```

**Prompt:** 
```
Show me the usage data for customer cust_821 for the last 30 days.
```

**Response:** 
```
Fetching usage data... For 'Acme Corp', I see 1.2M events ingested across 3 billable metrics. The primary driver is 'API Requests' with 950k units. Would you like to see the breakdown by day?
```

**Prompt:** 
```
Retrieve the details and status for invoice inv_556677.
```

**Response:** 
```
Invoice inv_556677 for 'GlobalTech' is currently 'Finalized' with a total amount of $4,250.00. It covers the period from Oct 1 to Oct 31. Would you like me to list the line items?
```

## Capabilities

### Record Usage Events
Send high volumes of usage data events into Metronome for tracking.

### Manage Customer Accounts
Create, retrieve details on, or archive entire customer records and their associated contracts.

### Process Invoices and Balances
Fetch current invoices, check net balances, or regenerate documentation when needed.

### Define Billing Structures
Set up product definitions, create rate cards, and define billable metrics used for charging customers.

### Audit Activity Logs
Pull detailed audit logs to review changes made across the billing system.

## Use Cases

### Quarterly Billing Reconciliation
The finance analyst needs to confirm that the usage data matches the signed contract. They prompt their agent: 'Check the net balance for GlobalTech and list all contracts.' The MCP uses `get_net_balance` and `list_contracts`, providing a single, verifiable answer instead of requiring manual report pulls from multiple departments.

### Correcting Overdue Invoices
A customer claims an invoice is wrong. Instead of emailing support, the ops specialist asks their agent to 'Check and fix invoice inv_556677.' The MCP uses `get_invoice` first to review the details, then runs `void_invoice` if necessary before generating a corrected version.

### Onboarding a New Service Line
A product manager adds a new feature that needs billing. They ask their agent to 'Define this as a usage-based product and set the base price.' The MCP uses `create_product` and `create_rate_card`, instantly updating the system's financial capacity for the new service.

### End of Client Relationship
When a client leaves, the billing specialist must clean up records. They tell their agent to 'Archive Acme Corp.' The MCP executes `archive_customer`, which automatically voids any pending invoices and archives all associated contracts.

## Benefits

- You instantly track consumption by sending events using `ingest_events`, ensuring all usage data is captured for accurate billing records.
- Need to fix an invoice? Run `void_invoice` or use `regenerate_invoice` to manage payment status and correct documentation without manual intervention.
- Define your pricing model entirely within the agent. Use tools like `create_product`, `create_rate_card`, and `add_rate` to build complex billing logic on demand.
- Never manually reconcile data again. Your AI client can fetch current account statuses using `get_net_balance` or run detailed reports with `list_invoices` in seconds.
- Manage the customer lifecycle from start to finish: you can use `create_customer` to onboard a new client and later run `archive_customer` when they leave.
- Audit compliance is simple. Pull full records of all system changes by calling `get_audit_logs`, giving you an immediate trail for every billing action.

## How It Works

The bottom line is that you use natural language conversation to execute complex financial operations directly through your AI client.

1. Subscribe to this MCP and enter your Metronome API Token.
2. Your AI client authenticates the connection, giving it direct access to all billing tools.
3. You prompt your agent with a request, like 'List all customers who haven't paid in 60 days,' and get actionable data back.

## Frequently Asked Questions

**Can Metronome MCP help me track usage events?**
Yes. You can use `ingest_events` to send high volumes of raw usage data into the billing system for immediate tracking and calculation.

**How do I check if an invoice is correct using Metronome MCP?**
You first run `get_invoice` to pull all details. If it's wrong, you can use `void_invoice` to cancel it before running `regenerate_invoice` for the corrected version.

**What if I need to change a customer's pricing?**
You first define or update the product using `create_product`, then use `add_rate` to set new prices, and finally apply those terms by running `edit_contract`.

**Does Metronome MCP let me list all customers?**
Yes. You can run `list_customers` to get a filtered or comprehensive view of every customer account in the system, helping you manage them all at once.