icon for mcp server

IT Tools

STDIO

Comprehensive IT tools server with 87 utilities for developers and IT professionals.

IT Tools MCP Server

Docker Pulls Docker Image Size Build Status

📝 Note: A condensed version of this README is automatically synced to Docker Hub due to character limits.

A comprehensive Model Context Protocol (MCP) server that provides access to 87 IT tools and utilities commonly used by developers, system administrators, and IT professionals. This server exposes a complete set of tools for encoding/decoding, text manipulation, hashing, network utilities, and many other common development and IT tasks.

MCP Server Badge

📦 Installation & Setup

Using with VS Code

Add to your VS Code settings.json:

Node

{ "mcp": { "servers": { "it-tools": { "command": "npx", "args": [ "-y", "wrenchpilot/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" ] } } }

Interactive Mode

docker run -it --rm wrenchpilot/it-tools-mcp:latest

Programmatic Usage

# Generate a UUID echo '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"uuid-generate","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":"base64-encode","arguments":{"text":"Hello World"}}}' | \ docker run -i --rm wrenchpilot/it-tools-mcp:latest

🛠️ Tool Categories

This MCP server provides 87 tools across 8 categories:

  • 🔧 Encoding & Decoding (9 tools): Base64, URL, HTML entities, text-to-binary, Unicode
  • 📝 Data Format (11 tools): JSON, XML, YAML, SQL, TOML, Markdown ↔ HTML conversion
  • 🔐 Security & Crypto (12 tools): Hashing (MD5, SHA1-512), HMAC, JWT, bcrypt, passwords, tokens
  • ✨ Text Processing (16 tools): Case conversion, stats, diff, ASCII art, NATO alphabet, slugify
  • 🌐 Network & System (20 tools): IPv4/IPv6 subnets, URL parsing, MAC addresses, phone formatting, ps, top, cat, head, tail, grep, ping, nslookup, telnet, dig, ssh, random-port, mac-address-generate, ip/ipv6 calculators, curl
  • 🔢 Math & Calculations (6 tools): Expression evaluation, base conversion, temperature, percentages
  • 🆔 ID & Code Generators (4 tools: UUID, ULID, QR codes, SVG placeholders
  • 🛠️ Utility Tools (9 tools): Color, MIME, HTTP, device info, email normalization, etc.

📸 Screenshot Examples

Password Hash Generation Example

Password Hash Example

ASCII Art Text Generation Example

ASCII Art Text Example

Examples of using the IT Tools MCP server with VS Code Copilot Chat for secure password hashing and creative ASCII art generation.

Available Tools

ToolDescriptionParameters
Data Format
html-to-markdownConvert HTML to Markdownhtml: string
json-diffCompare JSON objectsjson1: string, json2: string
json-formatFormat and validate JSONjson: string, indent?: number
json-minifyMinify JSONjson: string
json-to-csvConvert JSON to CSVjson: string, delimiter?: string
json-to-tomlConvert JSON to TOMLjson: string
markdown-to-htmlConvert Markdown to HTMLmarkdown: string
phone-formatParse and format phone numbersphoneNumber: string, countryCode?: string
sql-formatFormat SQLsql: string
toml-to-jsonConvert TOML to JSONtoml: string
xml-formatFormat XMLxml: string, indent?: number
yaml-formatFormat YAMLyaml: string
Development Tools
crontab-generateGenerate cron expressionsminute?: string, hour?: string, dayOfMonth?: string, month?: string, dayOfWeek?: string
list-converterConvert list formatslist: string, inputFormat: 'comma' | 'semicolon' | 'newline' | 'space' | 'pipe', outputFormat: 'comma' | 'semicolon' | 'newline' | 'space' | 'pipe' | 'json' | 'quoted', trim?: boolean
regex-testerTest regular expressionspattern: string, text: string, flags?: string
Encoding & Decoding
base64-decodeDecode Base64 texttext: string
base64-encodeEncode text to Base64text: string
html-decodeDecode HTML entitiestext: string
html-encodeEncode HTML entitiestext: string
html-entities-extendedExtended HTML entity encoding/decodingtext: string, operation: 'encode' | 'decode'
text-to-binaryConvert text to binary and vice versainput: string, operation: 'encode' | 'decode'
text-to-unicodeConvert text to Unicode and vice versainput: string, operation: 'encode' | 'decode'
url-decodeURL decode texttext: string
url-encodeURL encode texttext: string
ID & Code Generators
qr-generateGenerate QR codes for any contenttext: string, size?: number - Supports URLs, WiFi (WIFI:T:WPA;S:network;P:password;;), contact info, etc.
svg-placeholder-generatorGenerate SVG placeholderwidth?: number, height?: number, text?: string, backgroundColor?: string, textColor?: string
ulid-generateGenerate ULIDNone
uuid-generateGenerate UUID v4None
Math & Calculations
math-evaluateEvaluate expressionsexpression: string
number-base-converterConvert number basesnumber: string, fromBase: number, toBase: number
percentage-calculatorCalculate percentagesoperation: 'percentage-of' | 'what-percentage' | 'percentage-change', value1: number, value2: number
roman-numeral-converterConvert Roman numeralsinput: string
temperature-converterConvert temperaturestemperature: number, from: 'celsius' | 'fahrenheit' | 'kelvin', to: 'celsius' | 'fahrenheit' | 'kelvin'
unix-timestamp-converterConvert timestampsinput: string
Network & System
catDisplay file contentfile: string
curlHTTP client (GET, POST, etc.)url: string, method?: string, headers?: Record<string, string>, body?: string
digDNS query (custom type)target: string, type?: string
grepSearch for pattern in filefile: string, pattern: string
headShow first N lines of filefile: string, lines?: number
iban-validateValidate IBANiban: string
ip-subnet-calculatorCalculate IPv4 subnetip: string, cidr: number
ipv4-subnet-calcEnhanced IPv4 subnet calccidr: string
ipv6-ula-generatorGenerate IPv6 ULAglobalId?: string
mac-address-generateGenerate MAC addressprefix?: string, separator?: ':' | '-'
nslookupDNS lookup (A/AAAA/CNAME)target: string
pingPing a hosttarget: string, count?: number
psList running processesNone
random-portGenerate random portscount?: number, min?: number, max?: number, exclude?: number[]
scpCopy files to/from remote host (SFTP)target: string, user: string, direction: 'upload'|'download', localPath: string, remotePath: string, privateKey?: string
sshSSH command executiontarget: string, user: string, command: string
tailShow last N lines of filefile: string, lines?: number
telnetTest TCP connectivitytarget: string, port: number
topShow top processes (by CPU)None
url-parseParse URL componentsurl: string
Security & Crypto
basic-auth-generatorGenerate Basic Auth headerusername: string, password: string
bcrypt-hashGenerate/verify bcrypt hashpassword: string, rounds?: number, hash?: string
bip39-generateGenerate BIP39 mnemonicwordCount?: '12' | '15' | '18' | '21' | '24'
hash-md5Generate MD5 hashtext: string
hash-sha1Generate SHA1 hashtext: string
hash-sha256Generate SHA256 hashtext: string
hash-sha512Generate SHA512 hashtext: string
hmac-generatorGenerate HMACmessage: string, key: string, algorithm?: 'sha1' | 'sha256' | 'sha512'
jwt-decodeDecode JWT tokentoken: string
otp-code-generatorGenerate TOTP codessecret: string, digits?: number, period?: number
password-generateGenerate secure passwordlength?: number, includeUppercase?: boolean, includeLowercase?: boolean, includeNumbers?: boolean, includeSymbols?: boolean
token-generatorGenerate secure tokenlength?: number, charset?: 'alphanumeric' | 'hex' | 'base64' | 'custom', customChars?: string
Text Processing
ascii-art-textGenerate ASCII arttext: string, font?: string (supports 295+ figlet fonts)
emoji-searchSearch emojisquery: string
lorem-ipsum-generatorGenerate Lorem Ipsumtype?: 'words' | 'sentences' | 'paragraphs', count?: number
numeronym-generatorGenerate numeronymstext: string
slugify-stringConvert to URL slugtext: string, separator?: string, lowercase?: boolean
string-obfuscatorObfuscate texttext: string, method?: 'html-entities' | 'unicode' | 'base64'
text-camelcaseConvert to camelCasetext: string
text-capitalizeCapitalize wordstext: string
text-diffCompare textstext1: string, text2: string
text-kebabcaseConvert to kebab-casetext: string
text-lowercaseConvert to lowercasetext: string
text-pascalcaseConvert to PascalCasetext: string
text-snakecaseConvert to snake_casetext: string
text-statsGet text statisticstext: string
text-to-nato-alphabetConvert to NATO alphabettext: string
text-uppercaseConvert to uppercasetext: string
Utility Tools
color-hex-to-rgbConvert HEX to RGBhex: string
color-rgb-to-hexConvert RGB to HEXr: number, g: number, b: number
device-infoGet system informationNone
email-normalizerNormalize email addressesemail: string
http-status-codesHTTP status referencecode?: number
mime-typesLook up MIME typesinput: string, lookupType?: 'extension-to-mime' | 'mime-to-extension'

🏗️ Architecture & Development

Built with TypeScript, Zod validation, and MCP SDK for robust, type-safe operation.

🤖 AI-Assisted Development

This project was developed using VS Code, Copilot Chat Agent, Playwright MCP, and the Claude Sonnet 4 Model, demonstrating the power of AI-assisted software development:

  • Intelligent Code Generation: Claude Sonnet analyzed requirements and generated comprehensive tool implementations
  • Schema Validation: Automatically identified and resolved JSON schema validation issues across 75 tools
  • Docker Optimization: Created production-ready Docker workflows and multi-stage builds
  • Documentation: Generated comprehensive README with examples and tool reference tables
  • Testing: Implemented robust error handling and validation throughout the codebase

Key AI Contributions:

  • 🔧 Tool Implementation: All 75 tools designed and implemented with AI assistance
  • 📦 Docker Setup: Complete containerization with GitHub Actions CI/CD pipeline
  • 🔍 Schema Cleanup: Systematic removal of unsupported Zod keywords from all tool definitions
  • 📚 Documentation: Comprehensive README with usage examples and tool catalogs
  • 🚀 Production Ready: Docker Hub publishing, badges, and professional deployment setup

This showcases how AI can accelerate development while maintaining code quality, proper architecture, and comprehensive testing.

Adding New Tools

  1. Choose/create a tool module in src/tools/
  2. Define tool with input schema using Zod
  3. Register in src/index.ts
  4. Rebuild with npm run build

Project Structure

src/ ├── index.ts # Main MCP server └── tools/ # Tool modules by category ├── encoding.ts # Base64, URL, HTML encoding ├── crypto.ts # Hashing, JWT, passwords ├── dataFormat.ts # JSON, XML, YAML processing ├── text.ts # Text manipulation tools ├── network.ts # Network utilities ├── math.ts # Mathematical operations ├── idGenerators.ts # UUID, ULID, QR codes └── utility.ts # Color, MIME, HTTP tools

🤝 Contributing

Contributions welcome! Please submit a Pull Request.

📄 License

MIT License - see LICENSE for details.

🔗 Related

Inspired by IT Tools - online tools for developers.

Be the First to Experience MCP Now