devutils-mcp-server
Um servidor MCP DevUtils de código aberto — um kit de ferramentas abrangente de utilitários para desenvolvedores para o Catálogo MCP Docker. Ele fornece 36 ferramentas em 8 categorias que assistentes de IA podem invocar diretamente.
Documentação
DevUtils MCP Server
36 ferramentas de desenvolvimento do dia a dia para qualquer assistente de IA compatível com MCP. Hashing, codificação, geração de UUID, decodificação de JWT, formatação de JSON, ferramentas de rede, utilitários de texto e muito mais — tudo local, sem APIs externas.
Pense nele como busybox para ferramentas de desenvolvimento — pequeno, essencial e sempre útil.
Também disponível como plugin: devutils-cursor-plugin — instalação com um clique para Cursor e Claude Code.
Por quê?
Todo desenvolvedor precisa fazer hash de strings, codificar/decodificar dados, gerar UUIDs, decodificar JWTs, formatar JSON, calcular intervalos CIDR e converter timestamps todos os dias. O DevUtils MCP Server traz todas essas ferramentas diretamente para o seu assistente de IA — funciona com Claude, Cursor, VS Code, Windsurf e qualquer outro cliente compatível com MCP.
Instalação
Pré-requisito: Node.js 18+ (Node 22 recomendado). Verifique com
node -v.
Um clique / plugin
Use os selos Adicionar ao Cursor / VS Code acima, ou instale o plugin:
/plugin marketplace add paladini/devutils-cursor-plugin
/plugin install devutils-mcp@devutils-cursor-plugin
Cursor: Configurações → Personalizar, ou adicione pelo GitHub paladini/devutils-cursor-plugin.
npx (sem instalação)
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
Registro Oficial MCP
Listado como io.github.paladini/devutils-mcp-server. Procure por io.github.paladini/devutils.
GitHub Packages
As versões são publicadas duplamente no npm e no GitHub Packages como @paladini/devutils-mcp-server (veja .github/workflows/release.yml). Prefira o pacote npm público para a maioria das instalações; use o GitHub Packages quando você já autentica contra npm.pkg.github.com.
# After authenticating to npm.pkg.github.com for the @paladini scope:
npx -y @paladini/devutils-mcp-server
Smithery
Também disponível no Smithery.
Configuração do cliente
Cursor
Um clique: use o selo Adicionar ao Cursor no topo deste README.
Plugin (recomendado): Instale DevUtils MCP em Configurações do Cursor → Personalizar.
Manual: Adicione em ~/.cursor/mcp.json:
{
"mcpServers": {
"devutils": {
"command": "npx",
"args": ["-y", "devutils-mcp-server"]
}
}
}
Claude Desktop
Adicione em ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) ou %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"devutils": {
"command": "npx",
"args": ["-y", "devutils-mcp-server"]
}
}
}
Ou com 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)
Um clique: use o selo do VS Code no topo, ou adicione em .vscode/mcp.json / configurações do usuário:
{
"servers": {
"devutils": {
"type": "stdio",
"command": "npx",
"args": ["-y", "devutils-mcp-server"]
}
}
}
Windsurf
Adicione em ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"devutils": {
"command": "npx",
"args": ["-y", "devutils-mcp-server"]
}
}
}
Docker MCP Toolkit (Docker Desktop)
Se este servidor estiver disponível no Catálogo MCP do Docker:
- Abra Docker Desktop → MCP Toolkit
- Procure por DevUtils
- Clique em Ativar
Desenvolvimento local
npm install
npm run dev
Ferramentas disponíveis (36)
Hash (6)
| Ferramenta | Descrição |
|---|---|
hash_md5 | Gera hash MD5 |
hash_sha1 | Gera hash SHA-1 |
hash_sha256 | Gera hash SHA-256 |
hash_sha512 | Gera hash SHA-512 |
hash_bcrypt | Gera hash bcrypt (rodadas configuráveis) |
hash_bcrypt_verify | Verifica string contra hash bcrypt |
Codificação (8)
| Ferramenta | Descrição |
|---|---|
base64_encode | Codifica string para Base64 |
base64_decode | Decodifica Base64 para string |
url_encode | Codifica URL (percent-encoding) |
url_decode | Decodifica string codificada em URL |
html_encode | Codifica entidades HTML |
html_decode | Decodifica entidades HTML |
hex_encode | Codifica string para hexadecimal |
hex_decode | Decodifica hexadecimal para string |
Geradores (4)
| Ferramenta | Descrição |
|---|---|
generate_uuid | UUID v4 criptográfico (suporte a lote) |
generate_nanoid | ID compacto amigável para URL (comprimento configurável) |
generate_password | Senha segura (complexidade configurável) |
generate_random_hex | String hexadecimal aleatória (comprimento configurável) |
JWT (2)
| Ferramenta | Descrição |
|---|---|
jwt_decode | Decodifica cabeçalho e payload do JWT (com datas legíveis) |
jwt_validate | Valida estrutura e expiração do JWT |
Formatadores (3)
| Ferramenta | Descrição |
|---|---|
json_format | Formata ou minifica JSON |
json_validate | Valida JSON com localização do erro |
json_path_query | Extrai valores usando caminho com notação de ponto |
Conversores (5)
| Ferramenta | Descrição |
|---|---|
timestamp_to_date | Timestamp Unix → data legível (suporte a fuso horário) |
date_to_timestamp | String de data → timestamp Unix |
number_base_convert | Converte entre bases (bin/oct/dec/hex/qualquer) |
color_convert | Converte cores (HEX ↔ RGB ↔ HSL) |
byte_convert | Converte unidades de bytes (B/KB/MB/GB/TB/PB) |
Rede (2)
| Ferramenta | Descrição |
|---|---|
cidr_calculate | CIDR → rede, broadcast, máscara, intervalo de hosts, contagem de hosts |
ip_validate | Valida e classifica endereço IPv4/IPv6 |
Texto (6)
| Ferramenta | Descrição |
|---|---|
text_stats | Contagem de caracteres/palavras/linhas/frases, tempo de leitura |
lorem_ipsum | Gera texto de preenchimento (placeholder) |
case_convert | Converte entre camelCase, snake_case, PascalCase, etc. |
slugify | Converte string em slug amigável para URL |
regex_test | Testa padrão regex contra entrada |
text_diff | Diff linha por linha entre dois textos |
Arquitetura
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
Stack tecnológica: TypeScript + Node.js 22 · @modelcontextprotocol/sdk · bcryptjs · nanoid · zod
Zero dependências de API externas. Todas as ferramentas são executadas localmente, sem chamadas de rede.
Docker
A imagem usa um build multi-estágio para tamanho mínimo:
- Estágio de build: Compila TypeScript no Node 22 Alpine
- Estágio de runtime: Executa o JS compilado no Node 22 Alpine como usuário não-root
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 e filosofia de design
Por que MCP, e não apenas uma biblioteca?
Crítica válida: Se você está escrevendo scripts Python e precisa fazer hash de algo, hashlib são 2 linhas de código. Por que ter o overhead do MCP?
Resposta: Este servidor é otimizado para agentes de IA em fluxos de trabalho de múltiplas etapas, não para programadores escrevendo código:
- Custo de alucinação da IA >> overhead do MCP — Um modelo de IA gastando 50ms chamando uma ferramenta MCP (vs. 1ms de chamada de biblioteca) é insignificante quando a alternativa é o modelo inventar um hash ou usar a codificação errada.
- Semântica confiável de ferramentas — O MCP impõe contratos estritos de ferramentas. Por exemplo,
jwt_decodesempre retorna datas legíveis com suporte a fuso horário. - Acessível universalmente — Qualquer cliente compatível com MCP pode usar essas ferramentas. Uma biblioteca Python só funciona se seu agente for baseado em Python.
- Segurança multi-tenant — O MCP fornece lista de permissões explícita de ferramentas com validação de entrada.
Quando usar DevUtils versus alternativas
Use DevUtils se:
- Você está usando Claude, Cursor, VS Code Copilot, Windsurf ou qualquer assistente de IA compatível com MCP
- Você quer operações utilitárias confiáveis e validadas em fluxos de trabalho de IA
- Você precisa de 36 ferramentas em um único pacote
Não use DevUtils se:
- Você está escrevendo código de aplicação normal (use bibliotecas nativas)
- Você precisa de desempenho extremo (chamadas diretas de biblioteca são mais rápidas)
- Seu cliente de IA não suporta MCP
Filosofia de design
- Pequeno e focado: 36 utilitários, zero APIs externas, contêiner de ~50MB
- Segurança em primeiro lugar: Usuário não-root, Alpine Linux, superfície de ataque mínima
- Amigável para IA: Nomenclatura consistente (
<domain>_<operation>), esquemas estritos, saídas legíveis - Agnóstico de cliente: Funciona com qualquer cliente compatível com MCP via transporte stdio
Disponível em
| Canal | Link |
|---|---|
| Registro Oficial MCP | io.github.paladini/devutils-mcp-server — registry.modelcontextprotocol.io |
| npm | devutils-mcp-server |
| GitHub Packages | @paladini/devutils-mcp-server (publicação dupla em tags de release) |
| GHCR (Docker) | ghcr.io/paladini/devutils-mcp-server |
| Glama | glama.ai/mcp/servers/paladini/devutils-mcp-server |
| Smithery | smithery.ai/server/devutils-mcp-server |
| Plugin Cursor / Claude | devutils-cursor-plugin |
Contribuindo
Perguntas e ideias: Discussões no GitHub
Relatórios de segurança: veja SECURITY.md.
- Faça um fork do repositório
- Crie sua branch de funcionalidade (
git checkout -b feat/amazing-tool) - Faça commit das suas alterações (
git commit -m 'feat: add amazing tool') - Envie para a branch (
git push origin feat/amazing-tool) - Abra um Pull Request
Veja CHANGELOG.md.
Licença
MIT © Fernando Paladini