About DevUtils MCP Server
DevUtils MCP Server provides 36 local developer utilities for MCP-compatible AI assistants, covering hashing, encoding, JSON, JWT, networking, and text. All tools run locally without external API calls.
Key features
- 01Hashing and verification
- 02Encoding and decoding
- 03UUID, password, and random value generation
- 04JWT decoding and validation
- 05JSON formatting, validation, and querying
- 06Network, date, and text utilities
Use cases
- 01Handle encoding and hashing in agent workflows
- 02Generate UUIDs, passwords, or random strings
- 03Inspect JWTs and format JSON
- 04Calculate CIDR ranges and convert dates or text
MCP support
The server exposes 36 developer utilities to MCP clients over stdio. Tools run locally and make no external API calls.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
36Saved tool list · updated 2w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| input | string | Yes | The string to hash |
Details
From the project README
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.
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-plugin
Cursor: Settings → Customize, or add from GitHub paladini/devutils-cursor-plugin.
npx (no install)
npx -y devutils-mcp-server
npm
npm install -g devutils-mcp-server
devutils-mcp-server
Docker
# 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-mcp
Official 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-server
Smithery
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-plugin
VS 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 dev
Available tools (36)
Hash (6)
| 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 |
Encoding (8)
| 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 |
Generators (4)
| 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) |
JWT (2)
| Tool | Description |
|---|---|
jwt_decode | Decode JWT header & payload (with human-readable dates) |
jwt_validate | Validate JWT structure & expiration |
Formatters (3)
| 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 |
Converters (5)
| 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) |
Network (2)
| Tool | Description |
|---|---|
cidr_calculate | CIDR → network, broadcast, mask, host range, host count |
ip_validate | Validate & classify IPv4/IPv6 address |
Text (6)
| 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 |
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 manipulation
Tech 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-server
FAQ & 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 outputs - Client-agnostic: Works with any MCP-compatible client via stdio transport
Available on
| 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 |
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
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.