Find customers who stopped buying, and the revenue at risk, from an orders CSV on your machine.
MCPpedia last refreshed this data
io.github.GillMacedo/lapsewatch is an MCP server that find customers who stopped buying, and the revenue at risk, from an orders CSV on your machine. Its tool list has not been published yet over stdio, sse and http, requires no API key, and scores 85/100 on MCPpedia's security, maintenance and efficiency rubric.
Config is the same across clients - only the file and path differ.
{
"mcpServers": {
"lapsewatch": {
"args": [
"-y",
"lapsewatch",
"serve"
],
"command": "npx"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
Find customers who stopped buying, and the revenue at risk, from an orders CSV on your machine.
Run this in your terminal to verify the server starts. Then let us know if it worked - your result helps other developers.
npx -y 'lapsewatch' 2>&1 | head -1 && echo "✓ Server started successfully"
After testing, let us know if it worked:
Five weighted categories - click any category to see the underlying evidence.
No known CVEs.
Checked lapsewatch against OSV.dev.
Click any tool to inspect its schema.
Be the first to review
Have you used this server?
Share your experience - it helps other developers decide.
Sign in to write a review.
Others in data / finance
Token-efficient database MCP server for PostgreSQL, MySQL, MariaDB, SQL Server, Oracle, SQLite
Manage Supabase projects — databases, auth, storage, and edge functions
A cross-platform desktop application for managing AI Agents and MCP Servers. 一款用于管理AI智能体与MCP服务器的跨平台桌面应用程序。
Extract data from any website with thousands of scrapers, crawlers, and automations on Apify Store ⚡
MCP Security Weekly
Get CVE alerts and security updates for io.github.GillMacedo/lapsewatch and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
Customer retention and churn analysis from an orders CSV: see who's at risk, who you've lost, and how much yearly revenue is in danger. For e-commerce stores, service businesses and small B2B companies.
Keeping a customer usually costs less than finding one, but nobody notices when a regular quietly stops ordering. lapsewatch compares each customer with their own buying pattern, so someone who orders monthly is flagged sooner than someone who orders twice a year. It's an MCP server and a single Go binary, with no account, no API key and no network access.
As a Claude Code plugin, which adds the MCP server and a skill that tells Claude when to use it. You need Node, which runs the server through npx:
claude plugin marketplace add GillMacedo/lapsewatch
claude plugin install lapsewatch@lapsewatch-marketplace
For other MCP clients:
{
"mcpServers": {
"lapsewatch": {
"command": "npx",
"args": ["-y", "lapsewatch", "serve"]
}
}
}
Or build the binary with Go 1.27 or newer:
go install github.com/GillMacedo/lapsewatch@latest
Without installing anything, run npx lapsewatch check orders.csv. This example uses the made-up file in examples/:
$ go run . check examples/orders.csv
As of 2026-09-27: 8 customers, 75.0% bought more than once, 14598.00 revenue, top 10% bring in 49.3%
AT RISK: contact these first (2)
demo-bakery@example.com 197 days since last order, usually every 60 worth 5475.00 a year
cafe@example.net 92 days since last order, usually every 30 worth 3771.67 a year
LOST (1)
erin@example.org 297 days since last order, usually every 20 worth 1368.75 a year
ONE-TIME (1)
finn@example.net 397 days since their only order spent 60.00
3 active, 1 new.
SKIPPED row 68: no valid date, customer or amount
9246.67 a year at risk from 2 customers.
Add --as-of 2026-12-31 to measure from a specific date, --top 50 to list more customers, and --json for machine-readable output.
| Status | Rule |
|---|---|
| Active | Ordered within twice their usual gap |
| At risk | Past twice their usual gap, and at least 30 days since their last order |
| Lost | Past four times their usual gap, and at least 30 days since their last order |
| New | One order in the last 90 days |
| One-time | One order, more than 90 days ago |
The usual gap is the median number of days between a customer's orders. Yearly value is their average order times 365 divided by that gap, so it's an estimate. Rows on the same day count as one order, and refunds reduce totals without counting as orders.
| Tool | What it does |
|---|---|
customers_check_lapsed | Returns the summary and customers by priority, with a limit for large files |
customers_inspect_csv | Shows detected columns and row counts, without row contents |
Both are read-only, and neither can contact anyone. customers_check_lapsed returns customer names or emails to the MCP client, so they reach whichever AI model you use. The CLI keeps everything on your machine.
How do I find inactive customers? Export your orders as CSV