Metronome MCP server
Metronome in any MCP client, through Memtro: Metronome does not publish this server. Memtro's Metronome connector reads Metronome through its API with the credentials you connect, and one endpoint hands those tools, every other system you connect and Memtro's memory tools to Claude Code, Cursor, Claude Desktop or anything else that speaks Streamable HTTP, as you.
What the model can do
Metronome usage-based billing: customers, their contracts with commits and credits, invoices with totals and line items, commit and credit balances, metered usage by day or hour, customer alerts and products; when you ask, can create, rename or archive customers, set custom fields, create a contract from a rate card or package, change a contract's end date or archive it, grant a credit, adjust a balance, void or regenerate an invoice, create or archive a threshold alert, and send usage events.
Reads
metronome_list_customersMetronome customers: id, name, external id, ingest aliases, billable status, created and archived dates.metronome_list_invoicesA customer's invoices (Metronome has no account-wide invoice list): status (DRAFT, FINALIZED, VOID), type, total in the invoice's credit type…metronome_list_contractsA customer's contracts: name, start and end, rate card or package, total value, statement frequency…metronome_balancesA customer's commits and credits with the balance left on each, their products and segments (ids used by metronome_add_ledger_entry)…metronome_usageMetered usage per customer and billable metric over a window, by day or hour or as one total.metronome_customer_alertsA customer's threshold alerts and whether each is in alarm now: name, type, threshold, status.metronome_list_productsProducts on the account's contract price book (usage, subscription, composite, fixed, professional service), with ids used when granting a credit.
Acts, when you ask
These change something in Metronome. The model is told to use them only when you ask for exactly that, and each one is granted by name: per team on a shared connection, by the owner on a personal one.
metronome_create_customerCreates a customer in Metronome with a name and, optionally, your own external id and the ingest aliases its usage events will carry.metronome_rename_customerChanges a Metronome customer's name; it shows on invoices from then on.metronome_archive_customerArchives a Metronome customer, which archives all of its contracts and stops billing it.metronome_set_custom_fieldsSets custom field values on one Metronome record (a customer, contract, invoice, commit, credit and so on)…metronome_create_contractCreates a contract for a Metronome customer from a rate card or package, starting on starting_at.metronome_update_contract_endChanges when a Metronome contract ends (ending_before), or removes its end date when omitted…metronome_archive_contractArchives a Metronome contract so it bills nothing more; its draft invoices are cancelled…metronome_grant_creditGrants a Metronome customer a credit on a product: an amount (in the credit type's units, often USD cents) the customer can spend between two dates…metronome_add_ledger_entryAdds a manual entry to one segment of a customer's commit or credit, raising (positive) or lowering (negative) the balance they can spend…metronome_void_invoiceVoids a Metronome invoice, cancelling it and removing it from the customer's billing; the void syncs to the billing provider (Stripe and others).metronome_regenerate_invoiceRegenerates a voided Metronome invoice as a new invoice from current data, which bills the customer again and may sync to the billing provider.metronome_create_alertCreates a threshold alert for one Metronome customer (spend, usage, invoice total, or a low commit or credit balance).metronome_archive_alertArchives a Metronome alert so it no longer fires.metronome_ingest_usageSends usage events to Metronome, which bills customers for them under their contracts.
Connect it
First connect Metronome on Dashboard → Connections, then add Memtro to your client once. The Metronome tools appear alongside the tools of everything else you have connected; nothing is configured per connector.
Claude Code
The Memtro plugin registers the server and a skill for when to use it; the tools are then available in every session.
claude plugin marketplace add memtro-org/claude-memtro
claude plugin install memtro@memtro --config api_key=sk-memtro-...Cursor
Add the server to .cursor/mcp.json in the project, or to the global file under ~/.cursor/.
{
"mcpServers": {
"memtro": {
"url": "https://platform.memtro.com/api/mcp",
"headers": {
"Authorization": "Bearer sk-memtro-..."
}
}
}
}Claude Desktop
Create a personal API key on Dashboard → Profile → API keys. In Claude Desktop add an MCP server of type HTTP with URL https://platform.memtro.com/api/mcp and the header Authorization: Bearer sk-memtro-…
OpenCode
A remote server in opencode.json.
{
"mcp": {
"memtro": {
"type": "remote",
"url": "https://platform.memtro.com/api/mcp",
"headers": {
"Authorization": "Bearer sk-memtro-..."
}
}
}
}Pi
One command: pi mcp add memtro --url https://platform.memtro.com/api/mcp --bearer-token-env-var MEMTRO_API_KEY. Tools arrive as mcp__memtro__*. The pi-memtro extension registers it for you, alongside Memtro as the model.
Any other client
Add an MCP server of type HTTP (Streamable HTTP, stateless) at https://platform.memtro.com/api/mcp with the header Authorization: Bearer sk-memtro-.... Codex, Zed, Windsurf, Cline and the SDKs all take a remote server this way.
Who may use it
The key identifies the person, and the server offers that person the tools they may use everywhere else in Memtro. A shared Metronome connection is used by the teams an administrator granted it to, tool by tool, on the Permissions page; a personal connection is used by its owner alone, and its tools that act stay off until the owner allows them. See Teams and permissions and Connectors.
Ask it like this
- › How much was Acme invoiced last quarter?
- › What is left on BigCo's prepaid commit?
- › How much API usage did Northwind record yesterday, by hour?
- › Which customer alerts are in alarm right now?
- › Grant Northwind a 500 dollar credit on the platform product for this month.
Questions
- Is this an official Metronome MCP server?
- No. It is Memtro's MCP server with Memtro's Metronome connector behind it: the connector reads Metronome through its API with the credentials you connect on Dashboard → Connections, and Metronome publishes nothing here. The same endpoint carries every other system you connect and Memtro's memory tools.
- What does it cost?
- Nothing on top of Memtro. One price per organisation by its number of users, from $50 a month for up to 10 users after a 7-day free trial, with every connector, the MCP server, jobs and memory included. You bring your own model keys.
- Can it change anything in Metronome?
- Only when you ask, and only what it has been granted: create a customer; rename a customer; archive a customer and its contracts; set custom field values on a customer, contract, invoice or other record; create a contract for a customer from a rate card or package; change or remove a contract's end date; archive a contract, optionally voiding its invoices; grant a customer a credit; add a manual entry to a commit or credit balance; void an invoice; regenerate a voided invoice; create a threshold alert for a customer; archive an alert; send usage events for billing. Every other tool reads, searches or lists. An administrator grants each acting tool by name per team, and a personal connection acts only after its owner allows it.
- Which clients work?
- Any MCP client that speaks Streamable HTTP: Claude Code, Cursor, Claude Desktop, OpenCode, Codex, Zed, Windsurf, Cline and the Anthropic and OpenAI SDKs. There is no local process to run; the server is remote and authenticated with your key.