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

Harness Score L0 (Unharnessed): measures AI-assisted development harness maturity with harness-score

DevUtils MCP Server logo

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.

License: MIT MCP npm Docker Glama Smithery MCP Registry GitHub stars

Também disponível como plugin: devutils-cursor-plugin — instalação com um clique para Cursor e Claude Code.

Add DevUtils to Cursor    Install DevUtils in VS Code

DevUtils MCP Server demo — UUID generation, JWT decode, JSON validation


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:

  1. Abra Docker Desktop → MCP Toolkit
  2. Procure por DevUtils
  3. Clique em Ativar

Desenvolvimento local

npm install
npm run dev

Ferramentas disponíveis (36)

Hash (6)

FerramentaDescrição
hash_md5Gera hash MD5
hash_sha1Gera hash SHA-1
hash_sha256Gera hash SHA-256
hash_sha512Gera hash SHA-512
hash_bcryptGera hash bcrypt (rodadas configuráveis)
hash_bcrypt_verifyVerifica string contra hash bcrypt

Codificação (8)

FerramentaDescrição
base64_encodeCodifica string para Base64
base64_decodeDecodifica Base64 para string
url_encodeCodifica URL (percent-encoding)
url_decodeDecodifica string codificada em URL
html_encodeCodifica entidades HTML
html_decodeDecodifica entidades HTML
hex_encodeCodifica string para hexadecimal
hex_decodeDecodifica hexadecimal para string

Geradores (4)

FerramentaDescrição
generate_uuidUUID v4 criptográfico (suporte a lote)
generate_nanoidID compacto amigável para URL (comprimento configurável)
generate_passwordSenha segura (complexidade configurável)
generate_random_hexString hexadecimal aleatória (comprimento configurável)

JWT (2)

FerramentaDescrição
jwt_decodeDecodifica cabeçalho e payload do JWT (com datas legíveis)
jwt_validateValida estrutura e expiração do JWT

Formatadores (3)

FerramentaDescrição
json_formatFormata ou minifica JSON
json_validateValida JSON com localização do erro
json_path_queryExtrai valores usando caminho com notação de ponto

Conversores (5)

FerramentaDescrição
timestamp_to_dateTimestamp Unix → data legível (suporte a fuso horário)
date_to_timestampString de data → timestamp Unix
number_base_convertConverte entre bases (bin/oct/dec/hex/qualquer)
color_convertConverte cores (HEX ↔ RGB ↔ HSL)
byte_convertConverte unidades de bytes (B/KB/MB/GB/TB/PB)

Rede (2)

FerramentaDescrição
cidr_calculateCIDR → rede, broadcast, máscara, intervalo de hosts, contagem de hosts
ip_validateValida e classifica endereço IPv4/IPv6

Texto (6)

FerramentaDescrição
text_statsContagem de caracteres/palavras/linhas/frases, tempo de leitura
lorem_ipsumGera texto de preenchimento (placeholder)
case_convertConverte entre camelCase, snake_case, PascalCase, etc.
slugifyConverte string em slug amigável para URL
regex_testTesta padrão regex contra entrada
text_diffDiff 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:

  1. Estágio de build: Compila TypeScript no Node 22 Alpine
  2. 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:

  1. 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.
  2. Semântica confiável de ferramentas — O MCP impõe contratos estritos de ferramentas. Por exemplo, jwt_decode sempre retorna datas legíveis com suporte a fuso horário.
  3. 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.
  4. 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

CanalLink
Registro Oficial MCPio.github.paladini/devutils-mcp-serverregistry.modelcontextprotocol.io
npmdevutils-mcp-server
GitHub Packages@paladini/devutils-mcp-server (publicação dupla em tags de release)
GHCR (Docker)ghcr.io/paladini/devutils-mcp-server
Glamaglama.ai/mcp/servers/paladini/devutils-mcp-server
Smitherysmithery.ai/server/devutils-mcp-server
Plugin Cursor / Claudedevutils-cursor-plugin

Contribuindo

Perguntas e ideias: Discussões no GitHub

Relatórios de segurança: veja SECURITY.md.

  1. Faça um fork do repositório
  2. Crie sua branch de funcionalidade (git checkout -b feat/amazing-tool)
  3. Faça commit das suas alterações (git commit -m 'feat: add amazing tool')
  4. Envie para a branch (git push origin feat/amazing-tool)
  5. Abra um Pull Request

Veja CHANGELOG.md.


Licença

MIT © Fernando Paladini