npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@lyellr88/buddy-mcp

v1.4.4

Published

Claude Code creature collection game. Hatch buddies, pet to boost roll luck, complete the BuddyDex.

Readme

buddy-mcp hero

CI npm downloads npm version Node >=20 License: MIT buddy-mcp MCP server

Need a break from long code sessions? Stuck on a bug? Reroll a buddy, talk with them, or interact by petting them to build affection and improve your odds at higher-tier buddies on the next roll. If enough people want it, I'll build out Battle-Buddies where you can pit your buddy against others and unlock exclusive species that sync back into your local pool.

A collect them all companion system for Claude Code. Roll for a rare buddy, patch it directly into the binary,. buddy-mcp is an MCP server that replaces Claude Code's built-in companion with one you actually rolled for. Reroll, get lucky, close Claude, reopen. Your new buddy is waiting. Legendary buddy could be yours on your next Claude session


Quick Demo

Interactive Builder

Build your perfect buddy with full control.

Watch Video

Reroll in Action

Roll, close Claude, reopen and enjoy your new buddy.

Watch Video

Interact with Tools

Talk, pet, and explore your buddy's dex.

Watch Video


How It Works

Claude Code's companion is generated from a salt string baked into the binary. buddy-mcp:

  1. Rolls random desired traits (species, rarity, eye, hat)
  2. Brute-forces a salt that hashes to those traits (multi-worker, runs fast)
  3. Patches the binary in place, or queues the patch for when you close Claude
  4. Saves your full buddy profile with stats, name, and personality
  5. Tracks every species you've ever rolled in your BuddyDex

No companion server. No cloud. Just you, your binary, and the gacha gods.

Token footprint is kept intentionally small of 29 registered tools, Claude only ever sees ~9 at a time. The other 20 stay hidden until you reroll. See TECHNICAL.md for the full breakdown.


🛠️ Looking for the technical deep-dive? See TECHNICAL.md for the patch flow diagrams, binary patching logic, and state file reference.


TUI Builder (buddy-mcp-build)

Want more control? Use the interactive builder:

node dist/tui/cli.js

| Command | What it does | |---------|-------------| | build your own | Pick species, rarity, eye, hat and it brute-forces a matching salt and patches | | browse presets | Pick from curated preset buddies | | saved buddies | Switch between previously saved buddy profiles | | current | Display current buddy info | | preview | Preview ASCII art for any species | | share | Copy your buddy's ASCII card to clipboard | | restore | Restore binary from the best available backup | | rehatch | Delete current buddy and start fresh |

Bun optional but recommended. Install bun.sh for the full animated TUI. Falls back to sequential prompts without it.


Quick Start

Try me: run reroll_buddy → close Claude Code → reopen → your new buddy is live.

1. Prerequisites

  • Claude Code CLI installed
  • Node.js v20+ - required for everything
  • Bun - required for salt brute-forcing (rerolling) + full animated TUI

2. Install via npm

npm install -g buddy-mcp

This installs both commands globally:

  • buddy-mcp - the MCP server (Claude Code runs this)
  • buddy-mcp-build - the interactive TUI builder (you run this)

3. Register with Claude

claude mcp add buddy-mcp buddy-mcp

Claude will auto-detect the installed binary and connect it.

4. Verify

Open Claude Code. Your buddy is live—use Claude Code's native /buddy command to see your card, or ask Claude: "show me my buddy"

You should see your companion's species, rarity, stats, and personality. You're in.

4b. Natural Language Activation

All buddy tools work through natural language. Claude's NLP detects intent automatically:

| Natural Language | Activates | |------------------|-----------| | "reroll buddy" / "let's roll again" | reroll_buddy | | "talk to my buddy" / "what does buddy think" | buddy_talk | | "pet buddy" / "pet them" | pet_buddy | | "my buddy dex" / "show me my collection" | view_buddy_dex | | "export buddy card" / "save my buddy" | export_buddy_card | | "export sprite" / "save the sprite" | export_buddy_sprite |

No tool names required — just chat naturally.

5. Launch the TUI Builder (optional)

For the full interactive builder with live preview:

buddy-mcp-build

Auto-detects Bun for animated TUI. Falls back to basic prompts without it.


The Gacha System

Every reroll is a random pull from the pool. Rarity affects stat floors. Legendaries hit different.

| Rarity | Drop Rate | Stat Floor | |-----------|-----------|------------| | Common | 60% | 5 | | Uncommon | 25% | 15 | | Rare | 10% | 25 | | Epic | 4% | 35 | | Legendary | 1% | 50 |

18 species: duck · goose · blob · cat · dragon · octopus · owl · penguin · turtle · snail · ghost · axolotl · capybara · cactus · robot · rabbit · mushroom · chonk

Each buddy has 5 stats: Debugging, Patience, Chaos, Wisdom, Snark. A peak stat is boosted high and a dump stat is kept humble. Personality shapes how buddy_talk and pet_buddy respond. A high-Chaos dragon hits different than a patient turtle.


| Tool | What it does | |------|-------------| | reroll_buddy | 🎲 Spin the wheel. Brute-forces a salt matching a random rare+ outcome and patches your binary. Close Claude and reopen to see it. | | pet_buddy | 🤚 Poke your buddy. Each pet adds 1-15% toward earning an affection token. At 100%, earn 1 token that stacks and persists across sessions. Spend a token on next reroll_buddy to guarantee rare+ rarity + 60% hat chance + 20% shiny chance. | | buddy_talk | 💬 Ask your buddy to say something. Uses stat-based response templates weighted by top 2 stats. Optional context parameter for focused stat selection. Output shown verbatim. | | view_buddy_dex | 📖 Browse every species you've ever rolled. Gotta catch 'em all. | | export_buddy_card | 🖼️ Export your full buddy card as an SVG image file. | | export_buddy_sprite | 🎨 Export just the buddy ASCII sprite as an SVG image file. | | deactivate_buddy_interact | 🔕 Turn off buddy observation mode. Your buddy stops watching. (Buddy observation is always on by default.) |

Stat Personality Tools

20 baked-in tools. Only 2 are visible at a time: 1 randomly picked from each of your buddy's top 2 stats by raw value. The other 18 stay hidden. The visible pair is locked per roll. It doesn't change until you reroll. Every buddy shows a different pair.


Troubleshooting

Buddy doesn't change after reroll

Normal flow (Windows): When you reroll and Claude is running:

  1. Reroll triggers a background watcher — no action needed from you
  2. Close Claude Code whenever — watcher detects it and applies the patch automatically
  3. Reopen Claude Code — your new buddy is live

If it doesn't appear after reopening:

  1. Verify Claude is fully closed (check Task Manager on Windows)
    • Even minimized or backgrounded windows count — they keep the binary locked
    • Wait a few seconds after closing
  2. Reopen Claude Code
    • The startup hook auto-applies any pending patches
    • You should see your new companion immediately

Prefer immediate patching?

If you want to guarantee a patch applies without waiting for the watcher, close Claude before rerolling:

# Option 1: Use the interactive TUI builder (simplest)
buddy-mcp-build

# Option 2: Close Claude, then use the reroll_buddy tool
# (patch applies immediately without needing the watcher)

This is the only time you need manual steps — the watcher handles all other cases.


Credits

Forked and extended from any-buddy by cpaczek.