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

@kriginc/metabolizer

v0.3.0

Published

Lossless terminal client for the public Metabolizer MCP door

Readme

@kriginc/metabolizer

A small terminal client for the public Streamable HTTP MCP door at https://habitat.krig.mx/metabolizer/mcp. It needs no Metabolizer account or key. The client hides the MCP lifecycle and prints the complete structuredContent object; it never converts honesty cells into value-only prose.

The package is on npm:

npx --yes @kriginc/metabolizer resolve https://example.org/page --fields title

From a packed checkout artifact:

cd metabolizer/metabolizer-cli
npm pack
npx --yes --package ./kriginc-metabolizer-*.tgz metabolizer \
  resolve https://example.org/page --fields title

The unscoped registry name metabolizer belongs to an unrelated package, so npx metabolizer does not install this client. A bin alias cannot change which package npm fetches.

The skill inside

The tarball carries an agent-skill unit at skills/metabolizer/ — one SKILL.md (what an agent reads) and one CLAIMS.md (the command behind every claim it makes). To install it for Claude Code:

mkdir -p ~/.claude/skills && cp -R package/skills/metabolizer ~/.claude/skills/

What it sends

For each invocation the client sends initialize, notifications/initialized, then tools/call. It accepts either JSON or SSE, uses a server-issued session id if present, and sends no Authorization header. --fields is passed to the server; projection and withheld-address accounting remain server decisions.

The default output is readable JSON containing every member the server placed in structuredContent, including st, basis, declined, substantiated, obs, drift, prov, val, confirm, next_move, age_s, staleness, and withheld_addresses when those members occur. --compact changes whitespace only.

Exit status 0 is any answered non-refusal outcome — read outcome to learn whether cells were served (ACQUISITION-REQUIRED, for example, answers with empty bindings at exit 0). Exit 2 is a visible tool or *-REFUSED outcome after its full body is printed — or, with empty stdout, a local usage error named on stderr — and 1 is network or protocol failure.

Two environment variables: METABOLIZER_MCP_ENDPOINT sets the endpoint when --endpoint is absent, and METABOLIZER_IN_PROJECT=1 makes the client assert @kriginc/metabolizer+inproject as its name — a marking for runs made from inside the Metabolizer project itself, so its demand log can tell those from a stranger's use. If you are not working on Metabolizer, leave it unset.

Run metabolizer --help for all options. Node.js 20 or newer is required.