devutils-mcp-server
The devutils-mcp-server provides 36 local developer utility tools (no external APIs) for MCP-compatible AI assistants, covering:
Hashing: Generate MD5, SHA-1, SHA-256, SHA-512, and bcrypt hashes; verify bcrypt hashes.
Encoding/Decoding: Base64, URL (percent-encoding), HTML entities, and hex — encode and decode.
Generation: UUID v4 (batch), NanoID (configurable length/count), secure passwords (configurable length/character sets), and random hex strings.
JWT: Decode headers/payloads (with human-readable timestamps) and validate structure, Base64URL encoding, JSON validity, and expiration status.
JSON/Formatting: Pretty-print or minify JSON, validate JSON with error location, and query values via dot-notation paths (e.g.,
user.address.city,items[0].name).Conversion: Unix timestamps ↔ human-readable dates (with timezone), numbers between bases (2–36), colors (HEX ↔ RGB ↔ HSL), and byte units (B to PB, binary or SI).
Networking: Calculate CIDR details (network address, broadcast, subnet mask, host range/count) and validate/classify IPv4/IPv6 addresses (type, scope, private/loopback/multicast).
Text: Analyze text statistics (character/word/line/sentence counts, reading time), generate Lorem Ipsum, convert case styles (camelCase, snake_case, kebab-case, etc.), slugify strings, test regex patterns with match/group details, and perform line-by-line text diffs.
DevUtils MCP Server
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.
Why?
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.
Related MCP server: Integrations MCP
Installation
Prerequisite: Node.js 18+ (Node 22 recommended). Verify with
node -v.
One-click / plugin
Use the Add to Cursor / VS Code badges above, or install the plugin:
/plugin marketplace add paladini/devutils-cursor-plugin
/plugin install devutils-mcp@devutils-cursor-pluginCursor: Settings → Customize, or add from GitHub paladini/devutils-cursor-plugin.
npx (no install)
npx -y devutils-mcp-servernpm
npm install -g devutils-mcp-server
devutils-mcp-serverDocker
# Published image (when available)
docker run -i --rm ghcr.io/paladini/devutils-mcp-server
# Or build locally
docker build -t devutils-mcp-server .
docker run -i --rm devutils-mcp-server
# Or with Compose
docker compose build
docker compose run --rm -i devutils-mcpOfficial MCP Registry
Listed as io.github.paladini/devutils-mcp-server. Search for io.github.paladini/devutils.
GitHub Packages
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.
# After authenticating to npm.pkg.github.com for the @paladini scope:
npx -y @paladini/devutils-mcp-serverSmithery
Also available on Smithery.
Client setup
Cursor
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:
{
"mcpServers": {
"devutils": {
"command": "npx",
"args": ["-y", "devutils-mcp-server"]
}
}
}Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"devutils": {
"command": "npx",
"args": ["-y", "devutils-mcp-server"]
}
}
}Or with Docker:
{
"mcpServers": {
"devutils": {
"command": "docker",
"args": ["run", "-i", "--rm", "ghcr.io/paladini/devutils-mcp-server"]
}
}
}Claude Code
/plugin marketplace add paladini/devutils-cursor-plugin
/plugin install devutils-mcp@devutils-cursor-pluginVS Code (GitHub Copilot)
One-click: use the VS Code badge at the top, or add to .vscode/mcp.json / user settings:
{
"servers": {
"devutils": {
"type": "stdio",
"command": "npx",
"args": ["-y", "devutils-mcp-server"]
}
}
}Windsurf
Add to ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"devutils": {
"command": "npx",
"args": ["-y", "devutils-mcp-server"]
}
}
}Docker MCP Toolkit (Docker Desktop)
If this server is available in the Docker MCP Catalog:
Open Docker Desktop → MCP Toolkit
Search for DevUtils
Click Enable
Local development
npm install
npm run devAvailable tools (36)
Hash (6)
Tool | Description |
| Generate MD5 hash |
| Generate SHA-1 hash |
| Generate SHA-256 hash |
| Generate SHA-512 hash |
| Generate bcrypt hash (configurable rounds) |
| Verify string against bcrypt hash |
Encoding (8)
Tool | Description |
| Encode string to Base64 |
| Decode Base64 to string |
| URL-encode (percent-encoding) |
| Decode URL-encoded string |
| Encode HTML entities |
| Decode HTML entities |
| Encode string to hex |
| Decode hex to string |
Generators (4)
Tool | Description |
| Cryptographic UUID v4 (batch support) |
| Compact URL-friendly ID (configurable length) |
| Secure password (configurable complexity) |
| Random hex string (configurable length) |
JWT (2)
Tool | Description |
| Decode JWT header & payload (with human-readable dates) |
| Validate JWT structure & expiration |
Formatters (3)
Tool | Description |
| Pretty-print or minify JSON |
| Validate JSON with error location |
| Extract values using dot-notation path |
Converters (5)
Tool | Description |
| Unix timestamp → human date (timezone support) |
| Date string → Unix timestamp |
| Convert between bases (bin/oct/dec/hex/any) |
| Convert colors (HEX ↔ RGB ↔ HSL) |
| Convert byte units (B/KB/MB/GB/TB/PB) |
Network (2)
Tool | Description |
| CIDR → network, broadcast, mask, host range, host count |
| Validate & classify IPv4/IPv6 address |
Text (6)
Tool | Description |
| Character/word/line/sentence count, reading time |
| Generate placeholder text |
| Convert between camelCase, snake_case, PascalCase, etc. |
| Convert string to URL-friendly slug |
| Test regex pattern against input |
| Line-by-line diff between two texts |
Architecture
src/
├── index.ts # MCP server entry point (stdio transport)
└── tools/
├── hash.ts # Cryptographic hash functions
├── encoding.ts # Encode/decode utilities
├── generators.ts # ID and password generators
├── jwt.ts # JWT decode and validation
├── formatters.ts # JSON formatting and querying
├── converters.ts # Data type and unit converters
├── network.ts # Network calculation utilities
└── text.ts # Text analysis and manipulationTech stack: TypeScript + Node.js 22 · @modelcontextprotocol/sdk · bcryptjs · nanoid · zod
Zero external API dependencies. All tools run locally with no network calls.
Docker
The image uses a multi-stage build for minimal size:
Build stage: Compiles TypeScript on Node 22 Alpine
Runtime stage: Runs compiled JS on Node 22 Alpine as a non-root user
docker build -t devutils-mcp-server .
# Smoke-test with an MCP initialize request
echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"1.0.0"}}}' | docker run -i --rm devutils-mcp-serverFAQ & design philosophy
Why MCP, and not just a library?
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:
AI hallucination cost >> MCP overhead — An AI model spending 50ms calling an MCP tool (vs. 1ms library call) is negligible when the alternative is the model making up a hash or using the wrong encoding.
Reliable tool semantics — MCP enforces strict tool contracts. For example,
jwt_decodealways returns human-readable dates with timezone support.Universally accessible — Any MCP-compatible client can use these tools. A Python library only works if your agent is Python-based.
Multi-tenant safety — MCP provides explicit tool whitelisting with input validation.
When to use DevUtils versus alternatives
Use DevUtils if:
You're using Claude, Cursor, VS Code Copilot, Windsurf, or any MCP-compatible AI assistant
You want reliable, validated utility operations in AI workflows
You need 36 tools in one package
Don't use DevUtils if:
You're writing regular application code (use native libraries)
You need extreme performance (direct library calls are faster)
Your AI client does not support MCP
Design philosophy
Small & focused: 36 utilities, zero external APIs, ~50MB container
Security-first: Non-root user, Alpine Linux, minimal attack surface
AI-friendly: Consistent naming (
<domain>_<operation>), strict schemas, human-readable outputsClient-agnostic: Works with any MCP-compatible client via stdio transport
Available on
Channel | Link |
Official MCP Registry |
|
npm | |
GitHub Packages |
|
GHCR (Docker) |
|
Glama | |
Smithery | |
Cursor / Claude plugin |
Contributing
Questions and ideas: GitHub Discussions
Security reports: see SECURITY.md.
Fork the repository
Create your feature branch (
git checkout -b feat/amazing-tool)Commit your changes (
git commit -m 'feat: add amazing tool')Push to the branch (
git push origin feat/amazing-tool)Open a Pull Request
See CHANGELOG.md.
License
MIT © Fernando Paladini
Available Tools
36 toolsbase64_decodeB
Decode a Base64 string back to plain text.
Inputs: input (required).
base64_encodeB
Encode a string to Base64.
Inputs: input (required).
byte_convertB
Convert between byte units (B, KB, MB, GB, TB, PB). Supports both binary (1024) and SI (1000) standards.
Inputs: value (required), from_unit (required), binary.
case_convertA
Convert a string between different casing styles: camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE, Title Case, and more.
Inputs: input (required), to (required).
cidr_calculateA
Calculate network details from a CIDR notation (e.g., '192.168.1.0/24'). Returns network address, broadcast, host range, and host count.
Inputs: cidr (required).
color_convertB
Convert colors between HEX, RGB, and HSL formats.
Inputs: color (required).
date_to_timestampA
Convert a date string to a Unix timestamp. Accepts ISO 8601 and common date formats.
Inputs: date (required).
generate_nanoidA
Generate a NanoID — a compact, URL-friendly unique ID.
Inputs: length, count.
generate_passwordB
Generate a secure random password with configurable options.
Inputs: length, uppercase, lowercase, numbers, +2 more.
generate_random_hexA
Generate a random hexadecimal string of the specified byte length.
Inputs: bytes.
generate_uuidA
Generate a cryptographically secure UUID v4.
Inputs: count.
hash_bcryptA
Generate a bcrypt hash of the given input string. Useful for password hashing.
Inputs: input (required), rounds.
hash_bcrypt_verifyA
Verify a string against a bcrypt hash. Returns true if matches.
Inputs: input (required), hash (required).
hash_md5A
Generate an MD5 hash of the given input string.
Inputs: input (required).
hash_sha1B
Generate a SHA-1 hash of the given input string.
Inputs: input (required).
hash_sha256A
Generate a SHA-256 hash of the given input string.
Inputs: input (required).
hash_sha512B
Generate a SHA-512 hash of the given input string.
Inputs: input (required).
hex_decodeB
Decode a hexadecimal string back to plain text.
Inputs: input (required).
hex_encodeA
Encode a string to its hexadecimal representation.
Inputs: input (required).
html_decodeA
Decode HTML entities in a string back to their original characters.
Inputs: input (required).
html_encodeB
Encode special characters in a string to HTML entities.
Inputs: input (required).
ip_validateA
Validate and classify an IPv4 or IPv6 address. Returns type, class, scope, and whether it's private/loopback/multicast.
Inputs: ip (required).
json_formatA
Format (pretty-print) a JSON string with configurable indentation. Can also minify JSON.
Inputs: input (required), indent.
json_path_queryB
Extract a value from a JSON object using a dot-notation path (e.g., 'user.address.city' or 'items[0].name').
Inputs: input (required), path (required).
json_validateB
Validate a JSON string and report any parsing errors with their approximate location.
Inputs: input (required).
jwt_decodeA
Decode a JWT (JSON Web Token) and display its header and payload without verifying the signature. Useful for debugging and inspecting tokens.
Inputs: token (required).
jwt_validateA
Validate the structure of a JWT. Checks format, Base64URL encoding, JSON validity, and expiration status. Does NOT verify the cryptographic signature.
Inputs: token (required).
lorem_ipsumB
Generate Lorem Ipsum placeholder text.
Inputs: type, count.
number_base_convertC
Convert a number between different bases (binary, octal, decimal, hexadecimal, or any base 2-36).
Inputs: value (required), from_base, to_base.
regex_testA
Test a regular expression pattern against an input string. Returns all matches with groups and indices.
Inputs: pattern (required), input (required), flags.
slugifyA
Convert a string to a URL-friendly slug. Removes special characters, replaces spaces with hyphens, and lowercases everything.
Inputs: input (required).
text_diffA
Compare two strings and show a simple line-by-line diff. Lines prefixed with '+' are additions, '-' are deletions, ' ' are unchanged.
Inputs: text1 (required), text2 (required).
text_statsA
Analyze text and return detailed statistics: character count, word count, line count, sentence count, paragraph count, and reading time.
Inputs: input (required).
timestamp_to_dateA
Convert a Unix timestamp (seconds or milliseconds) to a human-readable ISO 8601 date string.
Inputs: timestamp (required), timezone.
url_decodeA
Decode a URL-encoded string.
Inputs: input (required).
url_encodeA
URL-encode a string (percent-encoding).
Inputs: input (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 36 tools
Each tool targets a distinct utility operation: hash algorithms are separated by name, encode/decode pairs are explicit, and JSON/JWT/generation tools do not overlap despite being in the same category. Even closely related tools like jwt_decode and jwt_validate have clear boundary descriptions.
Most tools follow a clear object_verb or hash_algorithm pattern, with encode/decode and generate_* pairs keeping strong consistency. Minor deviations exist with names like text_stats, lorem_ipsum, and slugify, which break the dominant verb-first pattern.
At 36 tools, this exceeds the 25+ threshold and feels heavy for agent selection, even though each tool is individually small. The broad utility domain somewhat justifies the count, but the set would benefit from consolidation or grouping.
The surface covers common developer utilities well: hashing, encoding, JSON, JWT inspection, conversions, ID generation, and text processing. Minor gaps exist such as JWT signing/verification and HMAC/encryption, but no major workflow appears to dead-end.
Maintenance
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
238+ dev tools via MCP: JSON, QR, PDF, DNS, hash, UUID, code review, JWT, SSL, WHOIS, and more
MCP-first toolbox for agents: KV storage, auth, queue, and utility tools. Free in early access.
Related MCP Servers
- AlicenseBqualityDmaintenanceAn MCP server that supercharges AI assistants with powerful tools for software development, enabling research, planning, code generation, and project scaffolding through natural language interaction.1169 npm102MIT
- FlicenseNot gradedqualityDmaintenanceA comprehensive MCP server providing over 390 tools across 66 providers, including major SaaS platforms like GitHub, Slack, and Stripe. It enables AI assistants to interact directly with a wide array of public APIs and utility services through a single interface.-

onion-mcp-serverofficial
AlicenseAqualityDmaintenanceA feature-rich MCP server offering 30 tools across AI, code, text, data, web, and system categories, enabling tasks like chat, translation, code review, web scraping, and text processing.30MIT- AlicenseBqualityCmaintenanceA comprehensive MCP server for developers providing file operations, shell execution, git integration, and smart caching to enhance AI-assisted development.1128 npmMIT