@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.
Maintainers
Readme
GeraTools MCP Server
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 stdioClient 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.mjsThe smoke test speaks raw MCP JSON-RPC over stdio (initialize → tools/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(modeencode) - "What's the SHA-256 of this file's contents?" →
hash(sha256) - "Does
\b\w+@\w+\.\w+\bmatch 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
