Skip to main content
Glama
MARCCHERGGI

indie-metrics-mcp

by MARCCHERGGI
README.md
# indie-metrics-mcp

MCP server that gives an AI assistant read-only access to Stripe business metrics. Ask an MCP-compatible client about revenue, customers, subscriptions, refunds, and forecasts in natural language.

## What You Can Ask

- "What's my MRR this month?"
- "Show me my top customers by spend"
- "Which product is selling best?"
- "What's my churn rate?"
- "Show recent transactions"
- "How many refunds did I have this quarter?"
- "Forecast my revenue for next month"

## Tools

| Tool | Description |
|------|-------------|
| `get_revenue_summary` | MRR, ARR, total revenue, growth rate, average transaction value |
| `get_customer_metrics` | Total customers, new customers, LTV, top spenders |
| `get_product_performance` | Revenue by product, units sold, revenue share |
| `get_subscription_health` | Active subscriptions, churn rate, MRR, ARPU, plan breakdown |
| `get_recent_transactions` | Latest charges with amount, status, customer, timestamp |
| `get_refund_analysis` | Refund count, rate, amounts, reasons |
| `get_revenue_forecast` | Projected revenue, trend direction, confidence level |

## Install From Source

The npm package is not claimed as published. Use the tagged source release until an npm package is independently confirmed.

```bash
git clone https://github.com/MARCCHERGGI/indie-metrics-mcp.git
cd indie-metrics-mcp
npm ci
npm run build
```

## Configure Safely

Start with a Stripe test-mode restricted key. Grant only the read permissions required by the tools you plan to use. Never commit a key, paste it into an issue, or expose it to a hosted demo.

```bash
export STRIPE_API_KEY=sk_test_your_restricted_key_here
```

### Add to an MCP-compatible desktop client

Point the client at the locally built executable:

```json
{
  "mcpServers": {
    "indie-metrics": {
      "command": "node",
      "args": ["/absolute/path/to/indie-metrics-mcp/dist/index.js"],
      "env": {
        "STRIPE_API_KEY": "sk_test_your_restricted_key_here"
      }
    }
  }
}
```

Use your client's secure environment-variable or secret-management feature when available instead of storing credentials directly in a configuration file.

## Supported Periods

All time-based tools accept a `period` parameter: `7d`, `30d`, `90d`, or `1y`.

## Security Boundaries

- The server is designed for local execution.
- Tool operations are read-only with respect to Stripe.
- Start in Stripe test mode and use a restricted key with least privilege.
- Do not connect real customer data to public demonstrations.
- Forecasts are estimates, not financial advice.
- Review the source and permissions before using the server with production data.

## Public Reproducibility Companion

FounderMetricBench is a separate public synthetic evaluation maintained by Marco Hergi. It contains 24 gold cases for routing, calculation, retrieval, and safety, plus stable evidence fixtures and a hosted synthetic MCP endpoint. It does not use this repository's users, credentials, or real Stripe data.

- [Evaluation arena](https://marco-is-my-friend.marcohergee813.chatgpt.site/arena)
- [Machine-readable benchmark](https://marco-is-my-friend.marcohergee813.chatgpt.site/founder-metric-bench.json)
- [Synthetic MCP endpoint](https://marco-is-my-friend.marcohergee813.chatgpt.site/api/mcp)
- [Readiness benchmark and known gaps](https://marco-is-my-friend.marcohergee813.chatgpt.site/research/stripe-mcp-benchmark)

This repository and the companion site are independent projects. They are not produced, sponsored, certified, or endorsed by Stripe, Anthropic, OpenAI, Google, Microsoft, or Perplexity.

## Release Verification

Before publishing a release, run:

```bash
npm ci
npm run build
```

A release should describe known limitations and link to the exact commit or tag it represents.

## License and Attribution

MIT. See [LICENSE](LICENSE). Existing copyright and authorship notices are preserved.

TDQS

A4/5.0

Scored across 7 tools

Disambiguation5/5

Each tool targets a distinct aspect of business metrics: customers, products, transactions, refunds, revenue forecast, revenue summary, and subscriptions. There is minimal overlap, and descriptions clearly differentiate them.

Naming Consistency5/5

All tool names follow a consistent 'get_' prefix followed by a descriptive noun phrase (e.g., get_customer_metrics, get_revenue_summary), making them predictable and easy to understand.

Tool Count5/5

With 7 tools, the server covers key analytical areas without being overwhelming. The count is appropriate for a focused metrics server, each tool earning its place.

Completeness4/5

The tool set covers core SaaS metrics like revenue, customers, products, transactions, refunds, and subscriptions. Missing advanced features like cohort analysis or funnel metrics, but the surface is largely complete for typical use.

Maintenance

ActivitySlowing
ResponsivenessNo issues