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

@gera-services/mcp-geratools

v1.0.1

Published

GeraTools MCP server — base64, cryptographic hashing, regex testing, word count, JWT decode and CSS unit conversion. Deterministic, offline, no auth. A Gera Systems product.

Readme

GeraTools MCP Server

A Gera Systems product

An MCP server that gives AI agents — Claude Desktop, Claude Code, ChatGPT with tools, Cursor, Windsurf, or any MCP client — a set of everyday developer utilities from GeraTools: Base64, cryptographic hashing, regex testing, word count, JWT decoding and CSS unit conversion.

Every tool is a pure, deterministic function ported straight from the published GeraTools browser tools (or Node's crypto). No backend, no network, no auth — everything runs locally, so an agent can compute these without leaving the machine.

Tools

| Tool | What it does | |------|--------------| | base64 | Encode text/hex to Base64, or decode Base64 / Base64url to text. UTF-8 safe (emoji round-trip), standard + URL-safe variants, hex fallback for non-text bytes. | | hash | Cryptographic digest: md5, sha1, sha256, sha384, sha512. Input as utf8/hex/base64; output as hex/base64. | | regex_test | Run a JS regex against a string — returns every match with index, capture groups, named groups, count, and a plain-English explanation of the pattern. | | word_count | Words, characters (with/without spaces), sentences, paragraphs, lines, and 200-wpm reading time. | | jwt_decode | Base64url-decode a JWT into header + payload, list iat/nbf/exp as ISO timestamps, and report expiry. (Does not verify the signature.) | | css_unit_convert | Convert a CSS length between px, rem, em, pt, pc, in, cm, mm, Q (1in = 96px; rem/em respect configurable font sizes). |

Install & run

# Run directly (no global install) once published to npm:
npx -y @gera-services/mcp-geratools

# Or from this repo:
cd packages/mcp-geratools
npm run build      # tsc --noCheck  -> dist/
node bin/cli.js    # starts on stdio

Client configuration

Claude Desktop / Claude Code (claude_desktop_config.json)

{
  "mcpServers": {
    "geratools": {
      "command": "npx",
      "args": ["-y", "@gera-services/mcp-geratools"]
    }
  }
}

Local (unpublished) variant — point at the built CLI:

{
  "mcpServers": {
    "geratools": {
      "command": "node",
      "args": ["/Users/armen/Gera/packages/mcp-geratools/bin/cli.js"]
    }
  }
}

Cursor / Windsurf (.cursor/mcp.json etc.)

{
  "mcpServers": {
    "geratools": {
      "command": "npx",
      "args": ["-y", "@gera-services/mcp-geratools"]
    }
  }
}

Verify it works

npm run build
node scripts/smoke.mjs

The smoke test speaks raw MCP JSON-RPC over stdio (initializetools/list → a real tools/call for every tool) and asserts the results — including a Base64 emoji round-trip, the known SHA-256 of "abc", and 16px == 1rem. Expected output ends with ALL SMOKE CHECKS PASSED.

Examples

Ask your agent:

  • "Base64-encode this string for me"base64 (mode encode)
  • "What's the SHA-256 of this file's contents?"hash (sha256)
  • "Does \b\w+@\w+\.\w+\b match these two emails, and what does it mean?"regex_test
  • "Decode this JWT and tell me when it expires"jwt_decode
  • "How many rem is 24px at a 18px root?"css_unit_convert

License

MIT © Gera Systems Ltd