mcpField
D
dotplot-mcp

dotplot-mcp

Local
github.com/brownglassesData & Analytics1Updated 11w ago

About dotplot-mcp

dotplot-mcp helps product teams analyze user-level behavior with a daily, per-user dot plot rather than relying only on aggregate charts. It computes metrics in code and has Claude interpret findings, with safeguards for small samples and causal claims.

Key features

  1. 01Generate product analysis reports
  2. 02Analyze user-by-day activity plots
  3. 03Add missing event tracking
  4. 04Compare with a previous report
  5. 05Withhold conclusions for small groups
  6. 06Refuse vanity value events

Use cases

  1. 01Inspect retention patterns by user
  2. 02Identify user actions associated with value
  3. 03Add missing product event logging
  4. 04Compare current analysis with an earlier report

MCP support

It provides Dotplot analysis through an MCP server that can be installed for Claude. The README describes Claude using the server to find project data, analyze it, and produce reports.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"brownglasses-dotplot": {
"command": "uvx",
"args": [
"dotplot-mcp"
]
}
}
}
Run commanduvx dotplot-mcp

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
pypidotplot-mcp0.1.4

Tools

16

Saved tool list · updated 2w ago

ParameterTypeRequiredDescription
langstringNo
csv_pathanyNo
output_pathstringNo
value_eventanyNo

Details

From the project README

Dot Plot MCP

See individual users, not aggregate charts.

English | 한국어

report

Install

Paste this to your agent and it sets everything up:

Set up Dotplot (MCP + skills) — instructions are here https://dotplot-reports.vercel.app/setup.md
Or do it by hand
claude mcp add --scope user dotplot -- uvx dotplot-mcp

Use

Say this in any project:

"Analyze my product"

You get the report above. That's it.

Or use the slash commands:

/dotplot-analyze-product    full analysis and report
/dotplot-add-tracking       find and write the logging you're missing
/dotplot-whats-changed      compare with the previous report

Claude finds your data, picks the action that means "this user got value", and writes the report. No events table needed — your orders table already is one:

SELECT user_id, created_at::date AS date, 'purchase' AS event FROM orders
UNION ALL
SELECT user_id, added_at::date, 'add_to_wishlist' FROM wishlist_items

Nothing tracked yet? Say "add the tracking I'm missing" and Claude reads your code, writes the logging that's absent, and tells you when to come back.

No product to analyze yet? Try the sample
git clone https://github.com/brownglasses/dotplot-mcp && cd dotplot-mcp
uv run sample_data.py   # 40 fake users with a pattern planted in them
uv run harness.py       # watch the whole pipeline run

Why this exists

DAU/MAU charts go "up and to the right" as long as new users arrive — even when nobody stays. Until you have hundreds of users, the most informative dashboard is YC's dot plot (David Lieb): one row per user, one cell per day.

Four rules keep it honest:

  • Code computes, AI only interprets — same data, same numbers, every time
  • Small samples withhold judgment — under 5 users in a group, it says nothing
  • Correlation isn't cause — every finding ships with "test this before you believe it"
  • Vanity metrics are refused — pick open_app as your value event and the code says no

Reports come out in your language (English, 한국어, 日本語 built in; anything else translated on the fly with the numbers verified intact).

More

MIT

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.