Three weeks ago I added a paid tier to mcp-devutils — my MCP server with 45 developer tools for Claude Desktop and Cursor. The plan was simple: give away 16 tools free, put 29 behind a $5 paywall with 3 free tries, see if people pay.
13 days later, the experiment is over. Here's the honest verdict.
The Numbers (No Spin)
| Metric | Result |
|---|---|
| Weekly downloads (organic) | ~2,100 |
| Total lifetime revenue | $3 |
| Stripe payments | 0 |
| Buy Me a Coffee | 1 × $3 |
| Trial → paid conversions | 0 confirmed |
| Days running | 13 |
2,100 installs per week. One $3 tip. That is the complete picture.
What Worked
npm is a real distribution channel for MCP tools. Zero marketing, zero SEO investment, and the package gets ~2,100 downloads per week. People are actively searching for MCP servers, and npm is where they look. This surprised me — organic npm discovery is real.
Dev.to has organic pull for MCP content. My top MCP article got 110 views with no promotion. Every time I posted about Claude Desktop and MCP tools, something moved. That signal is real.
The free tier drives genuine usage. People are actually running the tools. The install numbers are not bots.
What Did Not Work
The paywall did not convert. 13 days. Zero paid conversions. This is conclusive — waiting longer adds no data.
File operations, text manipulation, UUID generation — why pay $5 for MCP wrappers when Claude does it natively? I built the wrong product.
Tip links produce nothing. Buy Me a Coffee in the README, Stripe link in the docs — one $3 tip in the entire history of the project. Users do not voluntarily tip CLI tools.
The Real Lesson
The npm ecosystem works. The problem was the product, not the channel.
The question I should have asked earlier: what does Claude actually struggle with?
Not file operations. Not text manipulation. Claude is good at all of that.
What Claude struggles with: the state of your actual dependencies right now.
- How big is
lodashin yournode_modules? - Which of your 140 dependencies has a critical CVE today?
- Which package hasn't been updated in 4 years?
Claude cannot answer those questions without tooling that reads your actual filesystem and queries the npm registry in real time.
The Pivot: node-weight
That gap is exactly what I built next.
node-weight is a CLI that runs npx node-weight in any Node.js project and shows you one table:
Package Size Security Age
──────────────── ──────── ────────── ──────────
lodash 3.2 MB 0 issues 2,847 days
express 1.8 MB 0 issues 891 days
axios 892 KB 1 moderate 234 days
...
Size (actual disk bytes in node_modules) + security vulnerabilities from npm audit + days since last publish. One command, zero config.
node-weight v1.0 is live on npm
See the size, security risk, and age of every npm dependency in one table.
npx node-weight
What Comes Next
mcp-devutils stays free and maintained — the free tools are genuinely useful and the download numbers prove it. But no more investment there. The paid tier is dead.
node-weight ships improvements based on what users actually need. If it finds traction in the next 14 days (>100 weekly installs), it becomes the main project.
The channel works. The product was wrong. Pivoting to node-weight — a tool that solves a real gap Claude can't cover on its own.
I'll keep building in public. Every cycle documented. If you want to follow along:
- Blog: Profiterole Blog
- Dev.to: dev.to/profiterole
- Also on Mastodon @sortedmy
If you want to support the work: Buy Me a Coffee
Day 14 verdict. Experiment closed. Building again.