The IT Tools MCP Server provides a comprehensive suite of 70+ IT tools and utilities for developers, system administrators, and IT professionals, accessible programmatically or interactively via Model Context Protocol (MCP).
Key capabilities include:
- Encoding & Decoding: Base64, URL, HTML entities, text-to-binary, Unicode
- Data Format: JSON, XML, YAML, SQL, TOML, Markdown/HTML conversion
- Security & Crypto: Hashing (MD5, SHA variants), HMAC, JWT, bcrypt, password generation
- Text Processing: Case conversion, statistics, diff tools, ASCII art, NATO alphabet
- Network & Web: IPv4/IPv6 subnet calculations, URL parsing, MAC addresses, phone formatting
- Math & Calculations: Expression evaluation, base conversion, temperature, timestamps
- ID & Code Generators: UUID, ULID, QR codes, WiFi QR codes, SVG placeholders
- Development Tools: Regex testing, cron expressions, color conversion, MIME types
It integrates with AI tools like Claude Desktop and VS Code's Copilot Chat through the MCP protocol.
Offers containerized deployment of the IT tools suite, with support for persistent data volumes and programmatic usage through Docker containers
Implements CI/CD pipeline for automated building and publishing of the IT tools container to Docker Hub
Enables conversion between Markdown and HTML formats with dedicated tools
Offers SVG placeholder generation with customizable dimensions, text, and colors
Supports conversion between JSON and TOML formats
Built with TypeScript for robust, type-safe operation of all tools
Provides text-to-Unicode conversion and vice versa
Provides XML formatting capabilities with configurable indentation
Offers YAML formatting functionality for structured data
Implements input validation across all 76 tools using Zod schemas
IT Tools MCP Server
📝 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 112 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.
📦 Installation & Setup
Using with VS Code
Add to your VS Code settings.json
:
Node
Docker
Interactive Mode
Programmatic Usage
🛠️ Tool Categories
This MCP server provides 112 tools across 14 categories:
- � Ansible Tools (5 tools): Vault encryption/decryption, inventory parser, playbook validator, reference
- 🎨 Color Tools (2 tools): Hex ↔ RGB conversion
- 📝 Data Format (12 tools): JSON, XML, YAML, SQL, TOML, Markdown ↔ HTML conversion, phone formatting
- �️ Development Tools (6 tools): Regex testing, cron generation, list conversion, code prettifiers, markdown TOC
- 🐳 Docker Tools (5 tools): Compose validation, conversion tools, Traefik generator, reference
- 🔧 Encoding & Decoding (8 tools): Base64, URL, HTML entities, text-to-binary
- 🔍 Forensic Tools (3 tools): File type identification, safelink decoding, URL fanger
- 🆔 ID & Code Generators (4 tools): UUID, ULID, QR codes, SVG placeholders
- 🔢 Math & Calculations (6 tools): Expression evaluation, base conversion, temperature, percentages, Unix timestamps, Roman numerals
- 🌐 Network & System (23 tools): IPv4/IPv6 subnets, URL parsing, MAC addresses, ps, top, cat, head, tail, grep, ping, nslookup, telnet, dig, ssh, scp, curl, IBAN validation
- ⚡ Physics (3 tools): Angle, energy, and power unit conversions
- 🔐 Security & Crypto (12 tools): Hashing (MD5, SHA1, SHA256, SHA512), HMAC, JWT, bcrypt, passwords, tokens, OTP, BIP39
- ✨ Text Processing (19 tools): Case conversion, stats, diff, ASCII art, NATO alphabet, slugify, Unicode
- 🛠️ Utility Tools (7 tools): Email normalization, MIME types, HTTP status codes, device info, CSS prettifier, rem/px converter
📸 Screenshot Examples
Password Hash Generation Example
ASCII Art Text Generation 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
Tool | Description | Parameters |
---|---|---|
Ansible Tools | ||
ansible-inventory-generator | Generate Ansible inventory | hosts: string[] , groups?: Record<string, string[]> , variables?: Record<string, any> |
ansible-playbook-validator | Validate Ansible playbook YAML | playbook: string |
ansible-reference | Ansible syntax and module reference | query?: string |
ansible-vault-decrypt | Decrypt Ansible Vault data | data: string , password: string |
ansible-vault-encrypt | Encrypt data with Ansible Vault | data: string , password: string |
Color Tools | ||
color-hex-to-rgb | Convert HEX to RGB | hex: string |
color-rgb-to-hex | Convert RGB to HEX | r: number , g: number , b: number |
Data Format | ||
html-to-markdown | Convert HTML to Markdown | html: string |
json-diff | Compare JSON objects | json1: string , json2: string |
json-format | Format and validate JSON | json: string , indent?: number |
json-minify | Minify JSON | json: string |
json-to-csv | Convert JSON to CSV | json: string , delimiter?: string |
json-to-toml | Convert JSON to TOML | json: string |
markdown-to-html | Convert Markdown to HTML | markdown: string |
phone-format | Parse and format phone numbers | phoneNumber: string , countryCode?: string |
sql-format | Format SQL | sql: string , dialect?: 'sql' | 'mysql' | 'postgresql' | 'sqlite' | 'mariadb' | 'db2' | 'plsql' | 'n1ql' | 'redshift' | 'spark' | 'tsql' | 'trino' | 'bigquery' (optional, default: 'sql') |
toml-to-json | Convert TOML to JSON | toml: string |
xml-format | Format XML | xml: string , indent?: number |
yaml-format | Format YAML | yaml: string |
Development Tools | ||
crontab-generate | Generate cron expressions | minute?: string , hour?: string , dayOfMonth?: string , month?: string , dayOfWeek?: string |
html-prettifier | Format and prettify HTML | html: string , indent?: number |
javascript-prettifier | Format and prettify JavaScript | javascript: string , indent?: number |
list-converter | Convert list formats | list: string , inputFormat: 'comma' | 'semicolon' | 'newline' | 'space' | 'pipe' , outputFormat: 'comma' | 'semicolon' | 'newline' | 'space' | 'pipe' | 'json' | 'quoted' , trim?: boolean |
markdown-toc-generator | Generate table of contents for Markdown | markdown: string , maxDepth?: number |
regex-tester | Test regular expressions | pattern: string , text: string , flags?: string |
Docker Tools | ||
docker-compose-to-docker-run | Convert Compose to Docker run command | compose: string , service?: string |
docker-compose-validator | Validate Docker Compose YAML | compose: string |
docker-reference | Docker command and syntax reference | query?: string |
docker-run-to-docker-compose | Convert Docker run to Compose | command: string |
traefik-compose-generator | Generate Traefik Docker Compose | domain: string , service: string , port?: number , network?: string |
Encoding & Decoding | ||
base64-decode | Decode Base64 text | text: string |
base64-encode | Encode text to Base64 | text: string |
html-decode | Decode HTML entities | text: string |
html-encode | Encode HTML entities | text: string |
html-entities-extended | Extended HTML entity encoding/decoding | text: string , operation: 'encode' | 'decode' |
text-to-binary | Convert text to binary and vice versa | input: string , operation: 'encode' | 'decode' |
text-to-unicode | Convert text to Unicode and vice versa | input: string , operation: 'encode' | 'decode' |
url-decode | URL decode text | text: string |
url-encode | URL encode text | text: string |
Forensic Tools | ||
file-type-identifier | Identify file type from content | data: string , filename?: string |
safelink-decoder | Decode Microsoft SafeLinks | url: string |
url-fanger | Fang and defang URLs for analysis | text: string , operation: 'fang' | 'defang' |
ID & Code Generators | ||
qr-generate | Generate QR codes for any content | text: string , size?: number - Supports URLs, WiFi (WIFI;S;P;;), contact info, etc. |
svg-placeholder-generator | Generate SVG placeholder | width?: number , height?: number , text?: string , backgroundColor?: string , textColor?: string |
ulid-generate | Generate ULID | None |
uuid-generate | Generate UUID v4 | None |
Math & Calculations | ||
math-evaluate | Evaluate expressions | expression: string |
number-base-converter | Convert number bases | number: string , fromBase: number , toBase: number |
percentage-calculator | Calculate percentages | operation: 'percentage-of' | 'what-percentage' | 'percentage-change' , value1: number , value2: number |
roman-numeral-converter | Convert Roman numerals | input: string |
temperature-converter | Convert temperatures | temperature: number , from: 'celsius' | 'fahrenheit' | 'kelvin' , to: 'celsius' | 'fahrenheit' | 'kelvin' |
unix-timestamp-converter | Convert timestamps | input: string |
Network & System | ||
cat | Display file content | file: string |
curl | HTTP client (GET, POST, etc.) | url: string , method?: string , headers?: Record<string, string> , body?: string |
dig | DNS query (custom type) | target: string , type?: string |
grep | Search for pattern in file | file: string , pattern: string |
head | Show first N lines of file | file: string , lines?: number |
iban-validate | Validate IBAN | iban: string |
ip-subnet-calculator | Calculate IPv4 subnet | ip: string , cidr: number |
ipv4-subnet-calc | Enhanced IPv4 subnet calc | cidr: string |
ipv6-ula-generator | Generate IPv6 ULA | globalId?: string |
mac-address-generate | Generate MAC address | prefix?: string , separator?: ':' | '-' |
nslookup | DNS lookup (A/AAAA/CNAME) | target: string |
ping | Ping a host | target: string , count?: number |
ps | List running processes | None |
random-port | Generate random ports | count?: number , min?: number , max?: number , exclude?: number[] |
scp | Copy files to/from remote host (SFTP) | target: string , user: string , direction: 'upload'|'download' , localPath: string , remotePath: string , privateKey?: string |
ssh | SSH command execution | target: string , user: string , command: string |
tail | Show last N lines of file | file: string , lines?: number |
telnet | Test TCP connectivity | target: string , port: number |
top | Show top processes (by CPU) | None |
url-parse | Parse URL components | url: string |
Physics | ||
angle-converter | Convert angle units | value: number , from: 'degrees' | 'radians' | 'gradians' , to: 'degrees' | 'radians' | 'gradians' |
energy-converter | Convert energy units | value: number , from: 'joules' | 'calories' | 'kwh' | 'btu' , to: 'joules' | 'calories' | 'kwh' | 'btu' |
power-converter | Convert power units | value: number , from: 'watts' | 'kilowatts' | 'horsepower' | 'btu_per_hour' , to: 'watts' | 'kilowatts' | 'horsepower' | 'btu_per_hour' |
Security & Crypto | ||
basic-auth-generator | Generate Basic Auth header | username: string , password: string |
bcrypt-hash | Generate/verify bcrypt hash | password: string , rounds?: number , hash?: string |
bip39-generate | Generate BIP39 mnemonic | wordCount?: '12' | '15' | '18' | '21' | '24' |
hash-md5 | Generate MD5 hash | text: string |
hash-sha1 | Generate SHA1 hash | text: string |
hash-sha256 | Generate SHA256 hash | text: string |
hash-sha512 | Generate SHA512 hash | text: string |
hmac-generator | Generate HMAC | message: string , key: string , algorithm?: 'sha1' | 'sha256' | 'sha512' |
jwt-decode | Decode JWT token | token: string |
otp-code-generator | Generate TOTP codes | secret: string , digits?: number , period?: number |
password-generate | Generate secure password | length?: number , includeUppercase?: boolean , includeLowercase?: boolean , includeNumbers?: boolean , includeSymbols?: boolean |
token-generator | Generate secure token | length?: number , charset?: 'alphanumeric' | 'hex' | 'base64' | 'custom' , customChars?: string |
Text Processing | ||
ascii-art-text | Generate ASCII art | text: string , font?: string (supports 295+ figlet fonts) |
distinct-words | Extract unique words from text | text: string , caseSensitive?: boolean |
emoji-search | Search emojis | query: string |
lorem-ipsum-generator | Generate Lorem Ipsum | type?: 'words' | 'sentences' | 'paragraphs' , count?: number |
numeronym-generator | Generate numeronyms | text: string |
slugify-string | Convert to URL slug | text: string , separator?: string , lowercase?: boolean |
string-obfuscator | Obfuscate text | text: string , method?: 'html-entities' | 'unicode' | 'base64' |
text-camelcase | Convert to camelCase | text: string |
text-capitalize | Capitalize words | text: string |
text-diff | Compare texts | text1: string , text2: string |
text-kebabcase | Convert to kebab-case | text: string |
text-lowercase | Convert to lowercase | text: string |
text-pascalcase | Convert to PascalCase | text: string |
text-snakecase | Convert to snake_case | text: string |
text-stats | Get text statistics | text: string |
text-to-nato-alphabet | Convert to NATO alphabet | text: string |
text-to-unicode-names | Convert text to Unicode character names | text: string |
text-uppercase | Convert to uppercase | text: string |
Utility Tools | ||
css-prettifier | Format and prettify CSS | css: string , indent?: number |
device-info | Get system information | None |
email-normalizer | Normalize email addresses | email: string |
http-status-codes | HTTP status reference | code?: number |
mime-types | Look up MIME types | input: string , lookupType?: 'extension-to-mime' | 'mime-to-extension' |
port-numbers | Look up port number assignments | port?: number , service?: string |
rem-px-converter | Convert between REM and PX units | value: number , conversion: 'rem-to-px' | 'px-to-rem' , baseFontSize?: number |
🏗️ 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 112 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 112 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
- Create a tool directory in appropriate category under
src/tools/
- Define tool with input schema using Zod in its
index.ts
- Export registration function for dynamic loading
- Rebuild with
npm run build
Project Structure
🤝 Contributing
Contributions are welcome! Please follow the guidelines below:
Commit Message Format
This project uses Conventional Commits for clear, consistent commit messages.
Version Management:
- 🔧 Manual version bumping - Update
package.json
when you want to release - 🤖 Automatic publishing - CI/CD detects changes and publishes automatically
- 🏷️ Git tags - Created automatically based on package.json version
Examples:
📖 See COMMIT_TEMPLATE_SETUP.md for setup instructions.
Development Process
- Fork the repository
- Run
./setup-commit-template.sh
(recommended) - Create a feature branch
- Make your changes following the project structure
- Use conventional commit messages
- Submit a Pull Request
The CI/CD pipeline will automatically:
- ✅ Build and test your changes
- 🏷️ Bump version based on commit messages (on merge to main)
- 📦 Publish to Docker Hub and NPM
- 🚀 Create GitHub releases
📄 License
MIT License - see LICENSE for details.
🔗 Related
Inspired by IT Tools - online tools for developers.
This project incorporates select tools from the @sharevb fork which extends IT Tools with additional utilities and enhancements.
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Tools
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. Inspired by https://github.com/CorentinTh/it-tools
- 📦 Installation & Setup
- 🛠️ Tool Categories
- 📸 Screenshot Examples
- Available Tools
- 🏗️ Architecture & Development
- 🤝 Contributing
- 📄 License
- 🔗 Related
Related Resources
Related MCP Servers
- AsecurityAlicenseAqualityA Model Context Protocol server that provides tools for code modification and generation via Large Language Models, allowing users to create, modify, rewrite, and delete files using structured XML instructions.Last updated -12PythonMIT License
Playwright MCP Serverofficial
AsecurityAlicenseAqualityA Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.Last updated -21138,12514,161TypeScriptApache 2.0- AsecurityAlicenseAqualityA Model Context Protocol server that helps large language models process code repositories by providing file tree generation, code merging, and code analysis capabilities.Last updated -314JavaScriptMIT License
- -securityAlicense-qualityA powerful executable server for running Model Context Protocol services that supports tool chain execution, multiple MCP services management, and a pluggable tool system for complex automation workflows.Last updated -2048TypeScriptMIT License