devutils-mcp-server
An open-source DevUtils MCP Server — a comprehensive developer utilities toolkit for the Docker MCP Catalog. It provides 36 tools across 8 categories that AI assistants can invoke directly.
Documentation
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-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:
1. Open Docker Desktop → MCP Toolkit
2. Search for DevUtils
3. Click Enable
Local development
npm install
npm run devAvailable 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 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:
1. Build stage: Compiles TypeScript on Node 22 Alpine
2. 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:
1. 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.
2. Reliable tool semantics — MCP enforces strict tool contracts. For example, `jwt_decode` *always* returns human-readable dates with timezone support.
3. Universally accessible — Any MCP-compatible client can use these tools. A Python library only works if your agent is Python-based.
4. 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 (`_`), 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.
1. Fork the repository
2. Create your feature branch (`git checkout -b feat/amazing-tool`)
3. Commit your changes (`git commit -m 'feat: add amazing tool'`)
4. Push to the branch (`git push origin feat/amazing-tool`)
5. Open a Pull Request
See CHANGELOG.md.
License
MIT © Fernando Paladini
Frequently asked questions
What is devutils-mcp-server?
devutils-mcp-server is An open-source DevUtils MCP Server — a comprehensive developer utilities toolkit for the Docker MCP Catalog. It provides 36 tools across 8 categories that AI assistants can invoke directly.
How do I install devutils-mcp-server?
Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.
Is devutils-mcp-server open source?
Yes — it is hosted on GitHub at https://github.com/paladini/devutils-mcp-server and has 5 stars.
Related MCP tools
The go-to web for your AI coding agent — local-first search, fetch, crawl & research over MCP. No API keys, no cloud, $0/query. Public beta.
A Model Context Protocol (MCP) server and CLI that provides tools for agent use when working on iOS and macOS projects.
MCP Aggregator, Orchestrator, Middleware, Gateway in one docker
Open-source cross-agent memory layer for coding agents via MCP. Compatible with Claude Code, Codex, Cursor, Windsurf, Gemini CLI, Antigravity, OpenClaw, Hermes Agent, Oh-my-Pi, Pi, Copilot, Kiro, OpenCode, and Trae.
Cut AI token costs 95%+ on code exploration. The leading MCP server for precise, symbol-level GitHub code retrieval via tree-sitter AST. Works with Claude Code, Cursor & any MCP client. 313B+ tokens saved.
Official remote MCP server for Atlassian. Securely connect Jira, Confluence, Jira Service Management, Bitbucket, and Compass to Claude, ChatGPT, Cursor, VS Code, and other AI tools using OAuth 2.1 or API tokens.
Run your own MCP server? See who uses it and what to fix.
Measure it with TrackMCP