The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Devutils MCP Server listing page.
36 everyday developer tools for any MCP-compatible AI assistant. Hashing, encoding, UUID generation, JWT decoding, JSON formatting, network tools, text utilities, and more — all local, no external APIs.
Think of it as busybox for developer tools — small, essential, and always useful.
Also available as a plugin: devutils-cursor-plugin — one-click install for Cursor and Claude Code.
Every developer needs to hash strings, encode/decode data, generate UUIDs, decode JWTs, format JSON, calculate CIDR ranges, and convert timestamps every day. DevUtils MCP Server brings all of these tools directly into your AI assistant — works with Claude, Cursor, VS Code, Windsurf, and any other MCP-compatible client.
Prerequisite: Node.js 18+ (Node 22 recommended). Verify with
node -v.
Use the Add to Cursor / VS Code badges above, or install the plugin:
Cursor: Settings → Customize, or add from GitHub paladini/devutils-cursor-plugin.
Listed as io.github.paladini/devutils-mcp-server. Search for io.github.paladini/devutils.
Releases are dual-published to npm and GitHub Packages as @paladini/devutils-mcp-server (see .github/workflows/release.yml). Prefer the public npm package for most installs; use GitHub Packages when you already authenticate against npm.pkg.github.com.
Also available on Smithery.
One-click: use the Add to Cursor badge at the top of this README.
Plugin (recommended): Install DevUtils MCP from Cursor Settings → Customize.
Manual: Add to ~/.cursor/mcp.json:
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
Or with Docker:
One-click: use the VS Code badge at the top, or add to .vscode/mcp.json / user settings:
Add to ~/.codeium/windsurf/mcp_config.json:
If this server is available in the Docker MCP Catalog:
| Tool | Description |
|---|---|
hash_md5 | Generate MD5 hash |
hash_sha1 | Generate SHA-1 hash |
hash_sha256 | Generate SHA-256 hash |
hash_sha512 | Generate SHA-512 hash |
hash_bcrypt | Generate bcrypt hash (configurable rounds) |
hash_bcrypt_verify | Verify string against bcrypt hash |
| Tool | Description |
|---|---|
base64_encode | Encode string to Base64 |
base64_decode | Decode Base64 to string |
url_encode | URL-encode (percent-encoding) |
url_decode | Decode URL-encoded string |
html_encode | Encode HTML entities |
html_decode | Decode HTML entities |
hex_encode | Encode string to hex |
hex_decode | Decode hex to string |
| Tool | Description |
|---|---|
generate_uuid | Cryptographic UUID v4 (batch support) |
generate_nanoid | Compact URL-friendly ID (configurable length) |
generate_password | Secure password (configurable complexity) |
generate_random_hex | Random hex string (configurable length) |
| Tool | Description |
|---|---|
jwt_decode | Decode JWT header & payload (with human-readable dates) |
jwt_validate | Validate JWT structure & expiration |
| Tool | Description |
|---|---|
json_format | Pretty-print or minify JSON |
json_validate | Validate JSON with error location |
json_path_query | Extract values using dot-notation path |
| Tool | Description |
|---|---|
timestamp_to_date | Unix timestamp → human date (timezone support) |
date_to_timestamp | Date string → Unix timestamp |
number_base_convert | Convert between bases (bin/oct/dec/hex/any) |
color_convert | Convert colors (HEX ↔ RGB ↔ HSL) |
byte_convert | Convert byte units (B/KB/MB/GB/TB/PB) |
| Tool | Description |
|---|---|
cidr_calculate | CIDR → network, broadcast, mask, host range, host count |
ip_validate | Validate & classify IPv4/IPv6 address |
| Tool | Description |
|---|---|
text_stats | Character/word/line/sentence count, reading time |
lorem_ipsum | Generate placeholder text |
case_convert | Convert between camelCase, snake_case, PascalCase, etc. |
slugify | Convert string to URL-friendly slug |
regex_test | Test regex pattern against input |
text_diff | Line-by-line diff between two texts |
Tech stack: TypeScript + Node.js 22 · @modelcontextprotocol/sdk · bcryptjs · nanoid · zod
Zero external API dependencies. All tools run locally with no network calls.
The image uses a multi-stage build for minimal size:
Valid criticism: If you're writing Python scripts and need to hash something, hashlib is 2 lines of code. Why run MCP overhead?
Answer: This server is optimized for AI agents in multi-step workflows, not programmers writing code:
jwt_decode always returns human-readable dates with timezone support.Use DevUtils if:
Don't use DevUtils if:
<domain>_<operation>), strict schemas, human-readable outputs| Channel | Link |
|---|---|
| Official MCP Registry | io.github.paladini/devutils-mcp-server — registry.modelcontextprotocol.io |
| npm | devutils-mcp-server |
| GitHub Packages | @paladini/devutils-mcp-server (dual-publish on release tags) |
| GHCR (Docker) | ghcr.io/paladini/devutils-mcp-server |
| Glama | glama.ai/mcp/servers/paladini/devutils-mcp-server |
| Smithery | smithery.ai/server/devutils-mcp-server |
| Cursor / Claude plugin | devutils-cursor-plugin |
Questions and ideas: GitHub Discussions
Security reports: see SECURITY.md.
git checkout -b feat/amazing-tool)git commit -m 'feat: add amazing tool')git push origin feat/amazing-tool)See CHANGELOG.md.
MIT © Fernando Paladini