An MCP (Model Context Protocol) server that provides read-only access to Baremetrics SaaS analytics. Query your MRR, ARR, churn, LTV, customers, subscriptions, and more directly from Claude.
- 17 read-only tools covering metrics, customers, subscriptions, plans, charges, and events
- All key SaaS metrics — MRR, ARR, ARPU, LTV, churn, trial conversions, and more
- Cohort analysis for retention tracking
- Customer search and detailed event history
- Dual transport — works via stdio (Claude Code) or HTTP (any MCP client)
- Safe by design — every tool is annotated
readOnlyHint: true, no write operations
| Tool | Description |
|---|---|
get_account |
Get account info |
list_sources |
List connected data sources |
get_metrics_summary |
Summary of all metrics for a date range |
get_metric |
Time series for a single metric (MRR, ARR, churn, etc.) |
get_metric_customers |
Customers contributing to a metric |
get_metric_plans |
Plan-level breakout for a metric |
get_cohorts |
Cohort retention analysis |
list_customers |
List/search customers |
get_customer |
Get a single customer's details |
list_customer_events |
Events for a customer |
list_subscriptions |
List subscriptions |
get_subscription |
Get subscription details |
list_plans |
List all plans |
get_plan |
Get plan details |
list_charges |
List charges with filtering |
get_charge |
Get charge details |
list_events |
List events |
All tools are read-only and annotated with readOnlyHint: true.
- Node.js 18+
- A Baremetrics API key (get one here)
npm install
npm run buildclaude mcp add baremetrics -- node /path/to/bm-mcp/build/index.js --stdioOr add to your Claude Code settings with the API key:
{
"mcpServers": {
"baremetrics": {
"command": "node",
"args": ["/path/to/bm-mcp/build/index.js", "--stdio"],
"env": {
"BAREMETRICS_API_KEY": "your-api-key"
}
}
}
}- Open Cursor Settings (
Ctrl+Shift+JorCmd+,on Mac) - Go to MCP in the sidebar
- Click Add new MCP server and enter:
{
"mcpServers": {
"baremetrics": {
"command": "node",
"args": ["/path/to/baremetrics-mcp-server/build/index.js", "--stdio"],
"env": {
"BAREMETRICS_API_KEY": "your-api-key"
}
}
}
}- Restart Cursor — the Baremetrics tools will appear in the MCP panel.
BAREMETRICS_API_KEY=your-key node build/index.jsThe server listens on port 3000 by default. Set MCP_PORT to change it.
| Variable | Required | Description |
|---|---|---|
BAREMETRICS_API_KEY |
Yes | Your Baremetrics API key |
MCP_PORT |
No | HTTP server port (default: 3000) |
User prompt: "Show me a summary of my SaaS metrics for the last 30 days."
Expected tool calls:
get_metrics_summarywithstart_date: "2026-02-09",end_date: "2026-03-11"
Expected output:
MRR: $45,200.00
ARR: $542,400.00
Active Customers: 312
ARPU: $144.87
LTV: $2,840.00
User Churn: 3.20%
Revenue Churn: 2.80%
New Customers: 18
Upgrades: 7
Downgrades: 3
User prompt: "What has my revenue churn looked like month-over-month this year?"
Expected tool calls:
get_metricwithmetric: "revenue_churn",start_date: "2026-01-01",end_date: "2026-03-11"
Expected output:
Revenue Churn (basis points, 500 = 5.00%):
2026-01-01: 320 (3.20%)
2026-02-01: 280 (2.80%)
2026-03-01: 310 (3.10%)
Each data point includes the date and churn value. If compare_to is provided, a previous object shows the prior period value and percent change.
User prompt: "Find the customer with email [email protected] and show me their subscription history."
Expected tool calls:
list_sources— retrieves available source IDslist_customerswithsource_id: "src_abc123",search: "[email protected]"get_customerwithsource_id: "src_abc123",customer_oid: "cus_xyz789"list_customer_eventswithsource_id: "src_abc123",customer_oid: "cus_xyz789"
Expected output:
Customer: Alice Johnson ([email protected])
Current MRR: $99.00
LTV: $1,188.00
Status: Active
Events:
- 2025-06-15: new_customer — Subscribed to Pro Monthly ($99.00/mo)
- 2025-09-01: upgrade — Pro Monthly → Business Monthly ($199.00/mo)
- 2026-01-10: downgrade — Business Monthly → Pro Monthly ($99.00/mo)
User prompt: "Break down my MRR by plan."
Expected tool calls:
get_metric_planswithmetric: "mrr",start_date: "2026-03-01",end_date: "2026-03-11"
Expected output:
MRR by Plan (2026-03-11):
Pro Monthly: $22,770.00 (230 subscriptions)
Business Monthly: $15,920.00 (80 subscriptions)
Enterprise Annual: $5,410.00 (12 subscriptions)
Starter Monthly: $1,100.00 (55 subscriptions)
Each entry shows the plan name, billing interval, and its contribution to the selected metric.
| Issue | Cause | Solution |
|---|---|---|
| "Unauthorized: Invalid or missing Baremetrics API key" | API key is missing, expired, or incorrect | Verify your key at Baremetrics API settings and update your BAREMETRICS_API_KEY environment variable |
| "Rate limited" error | Exceeded 3,600 requests/hour | Wait a few minutes and retry. Avoid requesting very wide date ranges repeatedly |
| "Request timed out after 30 seconds" | Date range too wide or API slow | Use a narrower date range (under 12 months for cohorts, under 6 months for metric summaries) |
Tool requires source_id but none provided |
Most tools need a source ID from your Baremetrics account | Call list_sources first to get your source IDs, then pass one to the tool |
| Empty results | No data in the requested date range or source | Verify the date range contains data in your Baremetrics dashboard. Check that you're using the correct source_id |
This MCP server acts as a pass-through to the Baremetrics API. It does not store, log, or transmit your data to any third party beyond Baremetrics itself.
- Data collected: None. All requests are forwarded directly to the Baremetrics API using your API key.
- Data storage: No data is persisted by this server. All responses are returned directly to the MCP client.
- Third-party sharing: None. Data flows only between the MCP client and Baremetrics.
- Data retention: None. This server is stateless.
- Contact: For questions about Baremetrics data handling, see Baremetrics Privacy Policy.
For issues with this MCP server, please open an issue on the GitHub repository.
For questions about your Baremetrics data or API, contact Baremetrics Support.
MIT