The questions and dashboards the company already trusts, so an answer matches the one on the wall instead of competing with it.
Product analytics desk
Answers the funnel question with the query it ran, the caveat attached, and the readout already written.
Built for: The product manager who can describe the metric they want and does not want to wait two days for it.
The button opens the checkout, where the 5 servers and 4 skills are listed one by one. Every member is free, so the checkout lists them and asks for no card.
What your agent can do with this
The reason to buy a stack rather than five listings: each line below needs more than one member connected at the same time.
- 01
Ask Metabase for an existing question rather than writing a new query that disagrees with it.
- 02
Read event data from Mixpanel or Amplitude and say what the funnel did, week over week.
- 03
Check an experiment properly — significance, sample ratio mismatch, the tests that were not planned.
- 04
Put the numbers into a sheet with the pivot and the chart, and the readout into a deck.
The assembly, part by part
What each part contributes, and why it was picked over the obvious alternative. Prices and permissions are read from the listings, so nothing here can disagree with the catalogue.
Product event data where the funnel and retention questions are actually answered.
The same analysis for teams instrumented against Amplitude, so the desk fits either shop.
Read-only access to the application database, for the questions the event stream cannot answer because it never recorded them.
Where the numbers become a pivot, a chart and a tab somebody else can open without a login.
Holds an experiment readout to significance, sample ratio mismatch and the pre-registered metric, which is where most confident wrong results come from.
The traffic side of the same picture — sessions, sources and behaviour — for questions that start before the sign-up.
The instrumentation half: adding the events that make the next question answerable instead of discovering the gap again.
Builds the readout deck from the analysis, so the last hour of an analysis is not spent formatting slides.
What it costs, and on what assumption
Every member is free, so the monthly figure is $0 whatever you do with the stack: nothing here is billed by the call, and only adding a paid member could change it.
| Part | What you are paying for | Monthly, as quoted |
|---|---|---|
| Metabase | Free | — |
| Mixpanel | Free | — |
| Amplitude | Free | — |
| Database Postgres | Free | — |
| Google Sheets Full | Free | — |
| Skills | ||
| A/B Test Analysis | Free · context cost only | — |
| Google Analytics Analysis | Free · context cost only | — |
| Frontend Analytics Events | Free · context cost only | — |
| PPTX | Free · context cost only | — |
| Everything above | $0 of servers plus $0 of skills, the same in a quiet month and a busy one | $0/mo |
Subscriptions at their monthly plan price; one-off licences spread over 12 months.
Install only these and the bill is nothing: 5 servers and 4 skills, and all 122 tools.
Nothing in this stack carries a call allowance, so nothing here can run out before the month does. The bill is decided when you install it, not when you use it.
The spend cap is one figure for the whole account, set in your dashboard and checked when an order is placed. On the call path what stops a retry loop is the plan's call allowance and its rate limit, and a refused call is never billed.
Setting it up, in order
The steps below come before the install lines: what to decide and scope before connecting anything, in the order it matters. The lines themselves follow, part by part, for the client you pick.
npx mcprush@latest stack add product-analytics writes all 5 servers into Claude Code’s config in one go — or run the lines below one by one. The 4 skills are not included — add them with lines 06–09.
- Metabase
METABASE_URL— URL of your Metabase instanceMETABASE_API_KEY— Metabase API key (Admin → Settings → Authentication → API keys)- Database Postgres
POSTGRES_HOST— Database hostPOSTGRES_USER— Database user (a read-only user is recommended)POSTGRES_PASSWORD— Database password (or use POSTGRES_PASSWORD_FILE)POSTGRES_DATABASE— Database name
Set them where you start Claude Code — export METABASE_URL=… in your shell profile on macOS and Linux, setx METABASE_URL "…" on Windows, then open a new terminal. Claude Code reads them at start; the config keeps only the names.
Mixpanel: Put your own value in place of <your-project-token> before you run this. Amplitude: Put your own value in place of <your-api-key> before you run this.
# 01 · Metabase
claude mcp add --scope user --env 'METABASE_URL=${METABASE_URL}' --env 'METABASE_API_KEY=${METABASE_API_KEY}' --transport stdio metabase-mcp '--' npx -y @cognitionai/metabase-mcp-server
# 02 · Mixpanel
claude mcp add --scope user mixpanel-mcp '--' npx -y mixpanel-mcp-server --token '<your-project-token>'
# 03 · Amplitude
claude mcp add --scope user amplitude-mcp '--' npx -y amplitude-mcp-server --api-key '<your-api-key>'
# 04 · Database Postgres
claude mcp add --scope user --env 'POSTGRES_HOST=${POSTGRES_HOST}' --env 'POSTGRES_USER=${POSTGRES_USER}' --env 'POSTGRES_PASSWORD=${POSTGRES_PASSWORD}' --env 'POSTGRES_DATABASE=${POSTGRES_DATABASE}' --transport stdio database-postgres-mcp '--' npx -y @database-mcp/postgres
# 05 · Google Sheets Full
claude mcp add --scope user google-sheets-full-mcp '--' npx -y mcp-google-sheets-full
# 06 · A/B Test Analysis
npx mcprush@latest skill add nimrodfisher/a-b-test-analysis
# 07 · Google Analytics Analysis
npx mcprush@latest skill add davila7/google-analytics-analysis
# 08 · Frontend Analytics Events
npx mcprush@latest skill add metabase/frontend-analytics-events
# 09 · PPTX
npx mcprush@latest skill add k-dense-ai/pptxRequirements and Windows tips
- Node.js — the current LTS (24) is the safe choice (for
npx). - Windows PowerShell says 'running scripts is disabled on this system'? Run
Set-ExecutionPolicy -Scope CurrentUser RemoteSignedonce, or typenpx.cmdinstead ofnpx(codex.cmd,gemini.cmd,grok.cmdlikewise). PowerShell 7 needs neither.
Nothing is connected until you approve it in Claude Code. mcprush is not in the path and meters nothing here.
- 1 member wants an API key, set in your own client’s config on your machine — this marketplace never holds it.
- 4 members have not declared what credential they need — check each one’s own page before you start.
- What this stack can write is not recorded — 1 member of 5 has no imported tool surface. Section 05 says what is known before you approve anything.
- 5 members are connected straight from their own package or address — nothing in them goes through mcprush.
What the whole stack can reach
Installed together, these tool surfaces add up. It is the first thing a security reviewer asks for, so what has been counted — and what nobody has counted yet — is on the page rather than in a PDF.
| Member | Tool surface | Write tools |
|---|---|---|
| Metabase | imported | 39 |
| Google Sheets Full | imported | 17 |
| Mixpanel | imported | 2 |
| Amplitude | imported | 2 |
| Database Postgres | not imported | not recorded |
A stack's blast radius is the union of its members, not the worst of them. That union cannot be taken here, because 1 member of 5 has no imported tool surface — so the figure a review asks for is missing rather than low, and a member marked not imported is one nobody has counted rather than one that cannot write.
1 skill in this stack instructs the agent to write — Frontend Analytics Events. A skill holds no permission of its own; it can only ask a server that already has the scope, and the approval gate still applies.
Sensible swaps
A stack is a default, not a verdict. These are the substitutions the maintainer would make, and what each one costs or saves.
Teams whose events land in a warehouse rather than in the application database read them there, with key-pair or SSO authentication and no write path.
A company whose charts live in Grafana instead of a BI tool queries the same dashboards from this desk, and loses the saved-question layer that keeps definitions shared.
Where this stack stops
Written by the maintainer, kept on the page rather than in a support thread.
It cannot fix instrumentation from here. It can tell you an event is missing or double-counted; adding it is a change in your front end.
The warehouse connection is read-only, so a data-quality bug is found here and corrected somewhere else.
It does not decide what a metric means. Two definitions of active user stay two definitions until a person picks one.
Who keeps this current
A stack has an owner: whoever keeps it re-checks the combination when a member changes, and the members themselves are published by the people named on each row.
Stacks that share parts with this one
Database changes
Tools to prepare database changes and review their effects before rollout.
Finance and billing desk
Reconciles what the ledger says with what the payment processor did, and writes the invoice at the end of it.
Bug reproduction
Tools to investigate a bug report and work toward a reproducible test case.