IT Tools
Fornece acesso a mais de 70 ferramentas e utilitários de TI para desenvolvedores e profissionais de TI, incluindo ferramentas de codificação, manipulação de texto e rede.
Documentação
Servidor MCP IT Tools
[!WARNING] Este projeto está descontinuado e não é mais mantido.
Foi criado como um exercício de aprendizado para explorar o desenvolvimento assistido por IA e o Model Context Protocol (MCP). Nenhuma atualização adicional, correção de bugs ou pull requests serão aceitos. O repositório é mantido apenas para referência.
Se você precisar de um servidor MCP mantido ativamente com utilitários de TI, procure alternativas da comunidade.
📝 Nota: Uma versão condensada deste README é sincronizada automaticamente para o Docker Hub devido a limites de caracteres.
Um servidor abrangente do Model Context Protocol (MCP) que fornece acesso a mais de 121 ferramentas e utilitários de TI comumente usados por desenvolvedores, administradores de sistemas e profissionais de TI. Este servidor expõe um conjunto completo de ferramentas para codificação/decodificação, manipulação de texto, hash, utilitários de rede e muitas outras tarefas comuns de desenvolvimento e TI.
Histórico de Estrelas
📦 Instalação e Configuração
Uso com VS Code
Instalação Rápida:
Instalação:
- Abra o VS Code
- Pressione
Ctrl+Shift+P(ouCmd+Shift+Pno Mac) - Digite "MCP" e selecione "MCP: Add Server"
- Escolha "NPM Package" e digite:
it-tools-mcp
Ou adicione manualmente ao seu settings.json do VS Code:
Node
{
"mcp": {
"servers": {
"it-tools": {
"command": "npx",
"args": ["it-tools-mcp"],
"env": {}
}
}
}
}
Docker
{
"mcp": {
"servers": {
"it-tools": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"--init",
"--security-opt", "no-new-privileges:true",
"--cap-drop", "ALL",
"--read-only",
"--user", "1001:1001",
"--memory=256m",
"--cpus=0.5",
"--name", "it-tools-mcp",
"wrenchpilot/it-tools-mcp:latest"
]
}
}
}
Modo Interativo
docker run -it --rm wrenchpilot/it-tools-mcp:latest
Uso Programático
# Generate a UUID
echo '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"generate_uuid","arguments":{}}}' | \
docker run -i --rm wrenchpilot/it-tools-mcp:latest
# Encode text to Base64
echo '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"encode_base64","arguments":{"text":"Hello World"}}}' | \
docker run -i --rm wrenchpilot/it-tools-mcp:latest
📝 Recursos de Logging MCP
Este servidor inclui suporte completo de logging MCP com os seguintes recursos:
Níveis de Log
- debug (0): Informações detalhadas de depuração
- info (1): Mensagens gerais de informação
- notice (2): Eventos normais, mas significativos
- warning (3): Condições de aviso
- error (4): Condições de erro
- critical (5): Condições críticas
- alert (6): Ação deve ser tomada imediatamente
- emergency (7): Sistema inutilizável
Ferramentas de Logging
logging_setLevel: Altera o nível mínimo de log em tempo de execuçãologging_status: Visualiza a configuração atual de logging e os níveis disponíveis
Comportamento Sensível ao Ambiente
- Modo de Desenvolvimento: Nível de depuração por padrão, saída aprimorada no console
- Modo de Produção: Nível de informação por padrão, saída limpa para conformidade com MCP
- Fallback Automático: Logging no console quando o transporte MCP não está pronto
Exemplos de Uso
# Check current logging status
echo '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"logging_status","arguments":{}}}' | npx it-tools-mcp
# Change log level to debug
echo '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"logging_setLevel","arguments":{"level":"debug"}}}' | npx it-tools-mcp
# Change log level to error (only show errors and above)
echo '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"logging_setLevel","arguments":{"level":"error"}}}' | npx it-tools-mcp
🔧 Utilitários do Protocolo MCP
Este servidor implementa a especificação completa do MCP 2025-06-18, incluindo utilitários avançados:
Utilitário de Ping
- Verificação de Saúde: Use requisições
pingpara verificar o status da conexão - Resposta Automática: O servidor responde prontamente com resultado vazio conforme a especificação MCP
- Monitoramento de Conexão: Implemente verificações periódicas de saúde
Acompanhamento de Progresso
- Operações de Longa Duração: Receba atualizações de progresso para tarefas demoradas
- Tokens de Progresso: Inclua
_meta.progressTokennas requisições para habilitar notificações de progresso - Notificações: O servidor envia
notifications/progresscom o status atual
Cancelamento de Requisições
- Cancelamento Gracioso: Envie
notifications/cancelledpara abortar requisições em andamento - Limpeza de Recursos: O servidor libera recursos adequadamente quando requisições são canceladas
- Tratamento de Condições de Corrida: Tratamento robusto de casos extremos de temporização
Suporte a Amostragem
- Integração com LLM: O servidor pode solicitar conclusões de LLM dos clientes usando
sampling/createMessage - Preferências de Modelo: Suporte para dicas de seleção de modelo e prioridades de capacidade (custo, velocidade, inteligência)
- Tipos de Conteúdo: Suporte para conteúdo de texto, imagem e áudio em requisições de amostragem
- Fluxos de Trabalho Agênticos: Habilite operações de ferramentas com tecnologia de IA por meio de chamadas LLM aninhadas
- Controle do Cliente: Os clientes mantêm controle total sobre o acesso ao modelo e a aprovação do usuário
Exemplos de Protocolo
# Test connection health with ping
echo '{"jsonrpc":"2.0","id":1,"method":"ping"}' | npx it-tools-mcp
# Request with progress tracking
echo '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"some_tool","arguments":{},"_meta":{"progressToken":"track123"}}}' | npx it-tools-mcp
# Cancel a request (send as notification)
echo '{"jsonrpc":"2.0","method":"notifications/cancelled","params":{"requestId":"2","reason":"User cancelled"}}' | npx it-tools-mcp
# Test sampling capabilities
echo '{"jsonrpc":"2.0","id":4,"method":"tools/call","params":{"name":"mcp_sampling_demo","arguments":{"message":"What is the capital of France?","modelPreference":"claude","systemPrompt":"You are a helpful assistant.","maxTokens":100}}}' | npx it-tools-mcp
# Demo MCP utilities
echo '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"mcp_utilities_demo","arguments":{"operation":"ping"}}}' | npx it-tools-mcp
🛠️ Categorias de Ferramentas
Este servidor MCP fornece mais de 121 ferramentas em 14 categorias:
- ⚙️ Ferramentas Ansible (5 ferramentas): Criptografia/descriptografia de vault, parser de inventário, validador de playbook, referência
- 🎨 Ferramentas de Cor (2 ferramentas): Conversão Hex ↔ RGB
- 📝 Formato de Dados (12 ferramentas): Conversão JSON, XML, YAML, SQL, TOML, Markdown ↔ HTML, formatação de telefone
- 🛠️ Ferramentas de Desenvolvimento (6 ferramentas): Teste de regex, geração de cron, conversão de listas, embelezadores de código, TOC de markdown
- 🐳 Ferramentas Docker (5 ferramentas): Validação de compose, ferramentas de conversão, gerador Traefik, referência
- 🔧 Codificação e Decodificação (8 ferramentas): Base64, URL, entidades HTML, texto-para-binário
- 🔍 Ferramentas Forenses (3 ferramentas): Identificação de tipo de arquivo, decodificação de safelink, URL fanger
- 🆔 Geradores de ID e Código (4 ferramentas): UUID, ULID, códigos QR, placeholders SVG
- 🔢 Matemática e Cálculos (6 ferramentas): Avaliação de expressões, conversão de base, temperatura, porcentagens, timestamps Unix, numerais romanos
- 🌐 Rede e Sistema (23 ferramentas): Sub-redes IPv4/IPv6, parsing de URL, endereços MAC, ps, top, cat, head, tail, grep, ping, nslookup, telnet, dig, ssh, scp, curl, validação IBAN
- ⚡ Física (3 ferramentas): Conversões de unidades de ângulo, energia e potência
- 🔐 Segurança e Criptografia (12 ferramentas): Hash (MD5, SHA1, SHA256, SHA512), HMAC, JWT, bcrypt, senhas, tokens, OTP, BIP39
- ✨ Processamento de Texto (19 ferramentas): Conversão de maiúsculas/minúsculas, estatísticas, diff, arte ASCII, alfabeto NATO, slugify, Unicode
- 🛠️ Ferramentas Utilitárias (7 ferramentas): Normalização de e-mail, tipos MIME, códigos de status HTTP, informações de dispositivo, embelezador CSS, conversor rem/px
📸 Exemplos de Capturas de Tela
Exemplo de Geração de Hash de Senha

Exemplo de Geração de Texto com Arte ASCII

Exemplos de uso do servidor MCP IT Tools com o VS Code Copilot Chat para hash seguro de senhas e geração criativa de arte ASCII.
Ferramentas Disponíveis
| Ferramenta | Descrição | Parâmetros |
|---|---|---|
| Ferramentas Ansible | ||
parse_ansible_inventory | Analisar inventário Ansible | inventory: string |
generate_ansible_inventory | Gerar inventário Ansible | hosts: string[], groups?: Record<string, string[]>, variables?: Record<string, any> |
validate_ansible_playbook | Validar YAML de playbook Ansible | playbook: string |
show_ansible_reference | Referência de sintaxe e módulos Ansible | query?: string |
decrypt_ansible_vault | Descriptografar dados do Ansible Vault | data: string, password: string |
encrypt_ansible_vault | Criptografar dados com Ansible Vault | data: string, password: string |
| Ferramentas de Cor | ||
convert_hex_to_rgb | Converter HEX para RGB | hex: string |
convert_rgb_to_hex | Converter RGB para HEX | r: number, g: number, b: number |
| Formato de Dados | ||
convert_html_to_markdown | Converter HTML para Markdown | html: string |
compare_json | Comparar objetos JSON | json1: string, json2: string |
format_json | Formatar e validar JSON | json: string, indent?: number |
minify_json | Minificar JSON | json: string |
convert_json_to_csv | Converter JSON para CSV | json: string, delimiter?: string |
convert_json_to_toml | Converter JSON para TOML | json: string |
convert_markdown_to_html | Converter Markdown para HTML | markdown: string |
format_phone | Analisar e formatar números de telefone | phoneNumber: string, countryCode?: string |
format_sql | Formatar SQL | sql: string, dialect?: 'sql' | 'mysql' | 'postgresql' | 'sqlite' | 'mariadb' | 'db2' | 'plsql' | 'n1ql' | 'redshift' | 'spark' | 'tsql' | 'trino' | 'bigquery' (opcional, padrão: 'sql') |
convert_toml_to_json | Converter TOML para JSON | toml: string |
format_xml | Formatar XML | xml: string, indent?: number |
format_yaml | Formatar YAML | yaml: string |
| Ferramentas de Desenvolvimento | ||
generate_crontab | Gerar expressões cron | minute?: string, hour?: string, dayOfMonth?: string, month?: string, dayOfWeek?: string |
format_html | Formatar e embelezar HTML | html: string, indent?: number |
format_javascript | Formatar e embelezar JavaScript | javascript: string, indent?: number |
convert_list | Converter formatos de lista | list: string, inputFormat: 'comma' | 'semicolon' | 'newline' | 'space' | 'pipe', outputFormat: 'comma' | 'semicolon' | 'newline' | 'space' | 'pipe' | 'json' | 'quoted', trim?: boolean |
generate_markdown_toc | Gerar sumário para Markdown | markdown: string, maxDepth?: number |
test_regex | Testar expressões regulares | pattern: string, text: string, flags?: string |
| Ferramentas Docker | ||
convert_docker_compose_to_run | Converter Compose para comando Docker run | compose: string, service?: string |
validate_docker_compose | Validar YAML do Docker Compose | compose: string |
show_docker_reference | Referência de comandos e sintaxe Docker | query?: string |
convert_docker_run_to_compose | Converter Docker run para Compose | command: string |
generate_traefik_compose | Gerar Docker Compose do Traefik | domain: string, service: string, port?: number, network?: string |
| Codificação e Decodificação | ||
decode_base64 | Decodificar texto Base64 | text: string |
encode_base64 | Codificar texto para Base64 | text: string |
decode_html | Decodificar entidades HTML | text: string |
encode_html | Codificar entidades HTML | text: string |
encode_html_entities | Codificação/decodificação estendida de entidades HTML | text: string, operation: 'encode' | 'decode' |
convert_text_to_binary | Converter texto para binário e vice-versa | input: string, operation: 'encode' | 'decode' |
convert_text_to_unicode | Converter texto para Unicode e vice-versa | input: string, operation: 'encode' | 'decode' |
decode_url | Decodificar texto de URL | text: string |
encode_url | Codificar texto em URL | text: string |
| Ferramentas Forenses | ||
identify_file_type | Identificar tipo de arquivo pelo conteúdo | data: string, filename?: string |
decode_safelink | Decodificar Microsoft SafeLinks | url: string |
fang_url | Fang e defang de URLs para análise | text: string, operation: 'fang' | 'defang' |
| Geradores de ID e Código | ||
generate_qr_code | Gerar códigos QR para qualquer conteúdo | text: string, size?: number - Suporta URLs, WiFi (WIFI:T:WPA;S:network;P:password;;), informações de contato, etc. |
generate_svg_placeholder | Gerar placeholder SVG | width?: number, height?: number, text?: string, backgroundColor?: string, textColor?: string |
generate_ulid | Gerar ULID | Nenhum |
generate_uuid | Gerar UUID v4 | Nenhum |
| Matemática e Cálculos | ||
evaluate_math | Avaliar expressões | expression: string |
convert_number_base | Converter bases numéricas | number: string, fromBase: number, toBase: number |
calculate_percentage | Calcular porcentagens | operation: 'percentage-of' | 'what-percentage' | 'percentage-change', value1: number, value2: number |
convert_roman_numerals | Converter numerais romanos | input: string |
convert_temperature | Converter temperaturas | temperature: number, from: 'celsius' | 'fahrenheit' | 'kelvin', to: 'celsius' | 'fahrenheit' | 'kelvin' |
convert_unix_timestamp | Converter timestamps | input: string |
| Rede e Sistema | ||
cat | Exibir conteúdo do arquivo | file: string |
curl | Cliente HTTP (GET, POST, etc.) | url: string, method?: string, headers?: Record<string, string>, body?: string |
dig | Consulta DNS (tipo personalizado) | target: string, type?: string |
grep | Pesquisar padrão em arquivo | file: string, pattern: string |
head | Mostrar primeiras N linhas do arquivo | file: string, lines?: number |
validate_iban | Validar IBAN | iban: string |
calculate_ip_subnet | Calcular sub-rede IPv4 | ip: string, cidr: number |
calculate_ipv4_subnet | Cálculo aprimorado de sub-rede IPv4 | cidr: string |
generate_ipv6_ula | Gerar ULA IPv6 | globalId?: string |
generate_mac_address | Gerar endereço MAC | prefix?: string, separator?: ':' | '-' |
nslookup | Consulta DNS (A/AAAA/CNAME) | target: string |
ping | Pingar um host | target: string, count?: number |
ps | Listar processos em execução | Nenhum |
generate_random_port | Gerar portas aleatórias | count?: number, min?: number, max?: number, exclude?: number[] |
scp | Copiar arquivos de/para host remoto (SFTP) | target: string, user: string, direction: 'upload'|'download', localPath: string, remotePath: string, privateKey?: string |
ssh | Execução de comando SSH | target: string, user: string, command: string |
tail | Mostrar últimas N linhas do arquivo | file: string, lines?: number |
telnet | Testar conectividade TCP | target: string, port: number |
top | Mostrar principais processos (por CPU) | Nenhum |
parse_url | Analisar componentes de URL | url: string |
| Física | ||
convert_angle | Converter unidades de ângulo | value: number, from: 'degrees' | 'radians' | 'gradians', to: 'degrees' | 'radians' | 'gradians' |
convert_energy | Converter unidades de energia | value: number, from: 'joules' | 'calories' | 'kwh' | 'btu', to: 'joules' | 'calories' | 'kwh' | 'btu' |
convert_power | Converter unidades de potência | value: number, from: 'watts' | 'kilowatts' | 'horsepower' | 'btu_per_hour', to: 'watts' | 'kilowatts' | 'horsepower' | 'btu_per_hour' |
| Segurança e Criptografia | ||
generate_basic_auth | Gerar cabeçalho de autenticação básica | username: string, password: string |
hash_bcrypt | Gerar/verificar hash bcrypt | password: string, rounds?: number, hash?: string |
generate_bip39 | Gerar mnemônico BIP39 | wordCount?: '12' | '15' | '18' | '21' | '24' |
hash_md5 | Gerar hash MD5 | text: string |
hash_sha1 | Gerar hash SHA1 | text: string |
hash_sha256 | Gerar hash SHA256 | text: string |
hash_sha512 | Gerar hash SHA512 | text: string |
generate_hmac | Gerar HMAC | message: string, key: string, algorithm?: 'sha1' | 'sha256' | 'sha512' |
decode_jwt | Decodificar token JWT | token: string |
generate_otp | Gerar códigos TOTP | secret: string, digits?: number, period?: number |
generate_password | Gerar senha segura | length?: number, includeUppercase?: boolean, includeLowercase?: boolean, includeNumbers?: boolean, includeSymbols?: boolean |
generate_token | Gerar token seguro | length?: number, charset?: 'alphanumeric' | 'hex' | 'base64' | 'custom', customChars?: string |
| Processamento de Texto | ||
generate_ascii_art | Gerar arte ASCII | text: string, font?: string (suporta 295+ fontes figlet) |
analyze_distinct_words | Extrair palavras únicas de texto | text: string, caseSensitive?: boolean |
search_emoji | Pesquisar emojis | query: string |
generate_lorem_ipsum | Gerar Lorem Ipsum | type?: 'words' | 'sentences' | 'paragraphs', count?: number |
generate_numeronym | Gerar numerônimos | text: string |
slugify_text | Converter para slug de URL | text: string, separator?: string, lowercase?: boolean |
obfuscate_string | Ofuscar texto | text: string, method?: 'html-entities' | 'unicode' | 'base64' |
convert_to_camelcase | Converter para camelCase | text: string |
capitalize_text | Capitalizar palavras | text: string |
compare_text | Comparar textos | text1: string, text2: string |
convert_text_to_kebabcase | Converter para kebab-case | text: string |
convert_text_to_lowercase | Converter para minúsculas | text: string |
convert_text_to_pascalcase | Converter para PascalCase | text: string |
text_snakecase | Converter para snake_case | text: string |
analyze_text_stats | Obter estatísticas de texto | text: string |
convert_text_to_nato | Converter para alfabeto da OTAN | text: string |
show_unicode_names | Converter texto para nomes de caracteres Unicode | text: string |
convert_text_to_uppercase | Converter para maiúsculas | text: string |
| Ferramentas Utilitárias | ||
format_css | Formatar e embelezar CSS | css: string, indent?: number |
show_device_info | Obter informações do sistema | None |
normalize_email | Normalizar endereços de e-mail | email: string |
lookup_http_status | Referência de status HTTP | code?: number |
lookup_mime_types | Consultar tipos MIME | input: string, lookupType?: 'extension-to-mime' | 'mime-to-extension' |
lookup_port_numbers | Consultar atribuições de números de porta | port?: number, service?: string |
convert_rem_px | Converter entre unidades REM e PX | value: number, conversion: 'rem-to-px' | 'px-to-rem', baseFontSize?: number |
🏗️ Arquitetura e Desenvolvimento
Construído com TypeScript, validação Zod e MCP SDK para operação robusta e type-safe.
🤖 Desenvolvimento Assistido por IA
Este projeto foi desenvolvido usando VS Code, Copilot Chat Agent, Playwright MCP e o Modelo Claude Sonnet 4, demonstrando o poder do desenvolvimento de software assistido por IA:
- Geração Inteligente de Código: Claude Sonnet analisou requisitos e gerou implementações abrangentes de ferramentas
- Validação de Schema: Identificou e resolveu automaticamente problemas de validação de schema JSON em todas as ferramentas
- Otimização Docker: Criou fluxos de trabalho Docker prontos para produção e builds multi-estágio
- Documentação: Gerou README abrangente com exemplos e tabelas de referência de ferramentas
- Testes: Implementou tratamento robusto de erros e validação em todo o código
Principais Contribuições de IA:
- 🔧 Implementação de Ferramentas: Todas as ferramentas projetadas e implementadas com assistência de IA
- 📦 Configuração Docker: Containerização completa com pipeline CI/CD do GitHub Actions
- 🔍 Limpeza de Schema: Remoção sistemática de palavras-chave Zod não suportadas de todas as definições de ferramentas
- 📚 Documentação: README abrangente com exemplos de uso e catálogos de ferramentas
- 🚀 Pronto para Produção: Publicação no Docker Hub, badges e configuração profissional de deploy
Isso demonstra como a IA pode acelerar o desenvolvimento mantendo qualidade de código, arquitetura adequada e testes abrangentes.
Adicionando Novas Ferramentas
- Crie um diretório de ferramenta na categoria apropriada em
src/tools/ - Defina a ferramenta com schema de entrada usando Zod em seu
index.ts - Exporte a função de registro para carregamento dinâmico
- Recompile com
npm run build
Estrutura do Projeto
src/
├── index.ts # Main MCP server with dynamic tool loading
└── tools/ # Modular tool categories
├── ansible/ # 5 Ansible automation tools
├── color/ # 2 Color conversion tools
├── crypto/ # 9 Cryptographic & security tools
├── dataFormat/ # 12 Data format conversion tools
├── development/ # 6 Development utilities
├── docker/ # 5 Docker & containerization tools
├── encoding/ # 8 Encoding/decoding tools
├── forensic/ # 3 Digital forensics tools
├── idGenerators/ # 4 ID & code generation tools
├── math/ # 6 Mathematical operation tools
├── network/ # 23 Network utilities
├── physics/ # 3 Physics calculation tools
├── text/ # 19 Text manipulation tools
└── utility/ # 7 General utility tools
🤝 Contribuindo
Este projeto não está mais aceitando contribuições. Está arquivado apenas para fins de referência. As diretrizes abaixo são preservadas para contexto histórico.
Formato de Mensagem de Commit
Este projeto usa Conventional Commits para mensagens de commit claras e consistentes.
Gerenciamento de Versão:
- 🤖 Incremento automático de versão - Git hooks incrementam versões automaticamente com base nos tipos de mensagem de commit
- 🤖 Publicação automática - CI/CD detecta alterações e publica automaticamente
- 🏷️ Tags Git - Criadas automaticamente com base em mensagens de commit convencionais
Exemplos:
git commit -m "feat: add new encryption tool" # → minor version bump
git commit -m "fix: resolve base64 decoding issue" # → patch version bump
git commit -m "docs: improve README examples" # → patch version bump
git commit -m "feat!: breaking API change" # → major version bump
# Version is automatically bumped and committed by git hooks
# No manual npm version commands needed!
git push
📖 Veja COMMIT_TEMPLATE_SETUP.md para instruções de configuração.
Processo de Desenvolvimento
- Faça um fork do repositório
- Execute
./setup-commit-template.sh(recomendado) - Crie um branch de funcionalidade
- Faça suas alterações seguindo a estrutura do projeto
- Use mensagens de commit convencionais
- Envie um Pull Request
O pipeline CI/CD automaticamente:
- ✅ Compilará e testará suas alterações
- 🏷️ Incrementará a versão com base nas mensagens de commit (ao mesclar na main)
- 📦 Publicará no Docker Hub e NPM
- 🚀 Criará releases no GitHub
📄 Licença
Licença MIT - veja LICENSE para detalhes.
🔗 Relacionados
Inspirado em IT Tools - ferramentas online para desenvolvedores.
Este projeto incorpora ferramentas selecionadas do fork @sharevb que estende o IT Tools com utilitários e melhorias adicionais.