It Tools Mcp

io.github.wrenchpilot由 GitHub 帳號 wrenchpilot 發布v5.10.8更新於 Oct 24, 2026

MCP server exposing 100+ IT tools and utilities for developers and system administrators.

概覽

AI 產生的概覽

本機 MCP 伺服器,提供 120 多個 IT 實用工具,涵蓋編碼、雜湊、網路與系統指令,面向開發者與系統管理員。

可以做什麼
編碼、解碼與轉換文字、資料格式和進位,包括 JSON、YAML、XML、TOML、CSV、Base64、URL、HTML 實體,以及大小寫與 slug 轉換和文字統計。產生雜湊與密鑰:MD5/SHA 雜湊、HMAC、bcrypt、JWT 解碼、密碼、權杖、OTP 驗證碼、BIP39 助記詞和 Ansible Vault 加解密。執行網路與系統操作:DNS 查詢、ping、telnet、curl 請求、子網與 IP 計算、SSH 指令執行和 SFTP 檔案傳輸,以及行程和檔案檢視。產生識別碼與素材:UUID、ULID、QR 碼、SVG 佔位圖、cron 表達式和 ASCII 藝術字。驗證並格式化開發設定:Docker Compose、Ansible、YAML 等。
適用情境
適合需要助理在對話中直接完成 IT 轉換、雜湊、編碼、格式驗證或網路診斷的情境,尤其適合混用多種小工具的開發與維運工作流程。
執行需求
透過 stdio 在本機執行,可用 Node.js 執行 npm 套件(npx),或使用 Docker 映像。未宣告帳號、API 金鑰、環境變數或請求標頭。網路與 SSH 工具需要網路存取和可連線的主機。
安裝前請注意
專案已標示為棄用且不再維護,不會再有修正。多個工具會作用於主機或網路:SSH 指令執行、SFTP 上傳下載、curl 請求、ping、telnet 以及檔案讀取(cat、grep、head、tail)和行程列表。密鑰類工具以參數接收密碼、私鑰和 Vault 密碼,BIP39 產生會建立錢包助記詞。交給助理使用前請先評估。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 It Tools Mcp,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

IT Tools MCP Server

[!WARNING] This project is deprecated and no longer maintained.

It was built as a learning exercise to explore AI-assisted development and the Model Context Protocol (MCP). No further updates, bug fixes, or pull requests will be accepted. The repository is kept for reference only.

If you need an actively maintained MCP server with IT utilities, look for community alternatives.

[CI/CD Pipeline] [Docker Pulls] [Docker Image Size] [NPM Version] [NPM Downloads] [GitHub Release] [License] [GitHub Issues] [GitHub Last Commit] [Docker Platform] [GitHub Stars]

📝 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 over 121 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.

Star History

[Star History Chart]

📦 Installation & Setup

Using with VS Code

Quick Install:

[Install in VS Code] [Install in VS Code Insiders]

Install:

  1. Open VS Code
  2. Press Ctrl+Shift+P (or Cmd+Shift+P on Mac)
  3. Type "MCP" and select "MCP: Add Server"
  4. Choose "NPM Package" and enter: it-tools-mcp

Or manually add to your VS Code settings.json:

Node
json
{  "mcp": {    "servers": {      "it-tools": {        "command": "npx",        "args": ["it-tools-mcp"],        "env": {}      }    }  }}
Docker
json
{  "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
bash
docker run -it --rm wrenchpilot/it-tools-mcp:latest
Programmatic Usage
bash
# Generate a UUIDecho '{"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 Base64echo '{"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

� MCP Logging Capabilities

This server includes full MCP logging support with the following features:

Log Levels

  • debug (0): Detailed debug information
  • info (1): General information messages
  • notice (2): Normal but significant events
  • warning (3): Warning conditions
  • error (4): Error conditions
  • critical (5): Critical conditions
  • alert (6): Action must be taken immediately
  • emergency (7): System is unusable

Logging Tools

  • logging_setLevel: Change the minimum logging level at runtime
  • logging_status: View current logging configuration and available levels

Environment-Aware Behavior

  • Development Mode: Debug level by default, enhanced console output
  • Production Mode: Info level by default, clean output for MCP compliance
  • Automatic Fallback: Console logging when MCP transport isn't ready

Usage Examples

bash
# Check current logging statusecho '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"logging_status","arguments":{}}}' | npx it-tools-mcp
# Change log level to debugecho '{"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

🔧 MCP Protocol Utilities

This server implements the complete MCP 2025-06-18 specification including advanced utilities:

Ping Utility

  • Health Checking: Use ping requests to verify connection status
  • Automatic Response: Server responds promptly with empty result per MCP spec
  • Connection Monitoring: Implement periodic health checks

Progress Tracking

  • Long-Running Operations: Receive progress updates for time-consuming tasks
  • Progress Tokens: Include _meta.progressToken in requests to enable progress notifications
  • Notifications: Server sends notifications/progress with current status

Request Cancellation

  • Graceful Cancellation: Send notifications/cancelled to abort in-progress requests
  • Resource Cleanup: Server properly frees resources when requests are cancelled
  • Race Condition Handling: Robust handling of timing edge cases

Sampling Support

  • LLM Integration: Server can request LLM completions from clients using sampling/createMessage
  • Model Preferences: Support for model selection hints and capability priorities (cost, speed, intelligence)
  • Content Types: Support for text, image, and audio content in sampling requests
  • Agentic Workflows: Enable AI-powered tool operations through nested LLM calls
  • Client Control: Clients maintain full control over model access and user approval

Protocol Examples

bash
# Test connection health with pingecho '{"jsonrpc":"2.0","id":1,"method":"ping"}' | npx it-tools-mcp
# Request with progress trackingecho '{"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 capabilitiesecho '{"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 utilitiesecho '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"mcp_utilities_demo","arguments":{"operation":"ping"}}}' | npx it-tools-mcp

�🛠️ Tool Categories

This MCP server provides over 121 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

[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
Ansible Tools
parse_ansible_inventoryParse Ansible inventoryinventory: string
generate_ansible_inventoryGenerate Ansible inventoryhosts: string[], groups?: Record<string, string[]>, variables?: Record<string, any>
validate_ansible_playbookValidate Ansible playbook YAMLplaybook: string
show_ansible_referenceAnsible syntax and module referencequery?: string
decrypt_ansible_vaultDecrypt Ansible Vault datadata: string, password: string
encrypt_ansible_vaultEncrypt data with Ansible Vaultdata: string, password: string
Color Tools
convert_hex_to_rgbConvert HEX to RGBhex: string
convert_rgb_to_hexConvert RGB to HEXr: number, g: number, b: number
Data Format
convert_html_to_markdownConvert HTML to Markdownhtml: string
compare_jsonCompare JSON objectsjson1: string, json2: string
format_jsonFormat and validate JSONjson: string, indent?: number
minify_jsonMinify JSONjson: string
convert_json_to_csvConvert JSON to CSVjson: string, delimiter?: string
convert_json_to_tomlConvert JSON to TOMLjson: string
convert_markdown_to_htmlConvert Markdown to HTMLmarkdown: string
format_phoneParse and format phone numbersphoneNumber: string, countryCode?: string
format_sqlFormat SQLsql: string, dialect?: 'sql' | 'mysql' | 'postgresql' | 'sqlite' | 'mariadb' | 'db2' | 'plsql' | 'n1ql' | 'redshift' | 'spark' | 'tsql' | 'trino' | 'bigquery' (optional, default: 'sql')
convert_toml_to_jsonConvert TOML to JSONtoml: string
format_xmlFormat XMLxml: string, indent?: number
format_yamlFormat YAMLyaml: string
Development Tools
generate_crontabGenerate cron expressionsminute?: string, hour?: string, dayOfMonth?: string, month?: string, dayOfWeek?: string
format_htmlFormat and prettify HTMLhtml: string, indent?: number
format_javascriptFormat and prettify JavaScriptjavascript: string, indent?: number
convert_listConvert list formatslist: string, inputFormat: 'comma' | 'semicolon' | 'newline' | 'space' | 'pipe', outputFormat: 'comma' | 'semicolon' | 'newline' | 'space' | 'pipe' | 'json' | 'quoted', trim?: boolean
generate_markdown_tocGenerate table of contents for Markdownmarkdown: string, maxDepth?: number
test_regexTest regular expressionspattern: string, text: string, flags?: string
Docker Tools
convert_docker_compose_to_runConvert Compose to Docker run commandcompose: string, service?: string
validate_docker_composeValidate Docker Compose YAMLcompose: string
show_docker_referenceDocker command and syntax referencequery?: string
convert_docker_run_to_composeConvert Docker run to Composecommand: string
generate_traefik_composeGenerate Traefik Docker Composedomain: string, service: string, port?: number, network?: string
Encoding & Decoding
decode_base64Decode Base64 texttext: string
encode_base64Encode text to Base64text: string
decode_htmlDecode HTML entitiestext: string
encode_htmlEncode HTML entitiestext: string
encode_html_entitiesExtended HTML entity encoding/decodingtext: string, operation: 'encode' | 'decode'
convert_text_to_binaryConvert text to binary and vice versainput: string, operation: 'encode' | 'decode'
convert_text_to_unicodeConvert text to Unicode and vice versainput: string, operation: 'encode' | 'decode'
decode_urlURL decode texttext: string
encode_urlURL encode texttext: string
Forensic Tools
identify_file_typeIdentify file type from contentdata: string, filename?: string
decode_safelinkDecode Microsoft SafeLinksurl: string
fang_urlFang and defang URLs for analysistext: string, operation: 'fang' | 'defang'
ID & Code Generators
generate_qr_codeGenerate QR codes for any contenttext: string, size?: number - Supports URLs, WiFi (WIFI:T:WPA;S:network;P:password;;), contact info, etc.
generate_svg_placeholderGenerate SVG placeholderwidth?: number, height?: number, text?: string, backgroundColor?: string, textColor?: string
generate_ulidGenerate ULIDNone
generate_uuidGenerate UUID v4None
Math & Calculations
evaluate_mathEvaluate expressionsexpression: string
convert_number_baseConvert number basesnumber: string, fromBase: number, toBase: number
calculate_percentageCalculate percentagesoperation: 'percentage-of' | 'what-percentage' | 'percentage-change', value1: number, value2: number
convert_roman_numeralsConvert Roman numeralsinput: string
convert_temperatureConvert temperaturestemperature: number, from: 'celsius' | 'fahrenheit' | 'kelvin', to: 'celsius' | 'fahrenheit' | 'kelvin'
convert_unix_timestampConvert 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
validate_ibanValidate IBANiban: string
calculate_ip_subnetCalculate IPv4 subnetip: string, cidr: number
calculate_ipv4_subnetEnhanced IPv4 subnet calccidr: string
generate_ipv6_ulaGenerate IPv6 ULAglobalId?: string
generate_mac_addressGenerate MAC addressprefix?: string, separator?: ':' | '-'
nslookupDNS lookup (A/AAAA/CNAME)target: string
pingPing a hosttarget: string, count?: number
psList running processesNone
generate_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
parse_urlParse URL componentsurl: string
Physics
convert_angleConvert angle unitsvalue: number, from: 'degrees' | 'radians' | 'gradians', to: 'degrees' | 'radians' | 'gradians'
convert_energyConvert energy unitsvalue: number, from: 'joules' | 'calories' | 'kwh' | 'btu', to: 'joules' | 'calories' | 'kwh' | 'btu'
convert_powerConvert power unitsvalue: number, from: 'watts' | 'kilowatts' | 'horsepower' | 'btu_per_hour', to: 'watts' | 'kilowatts' | 'horsepower' | 'btu_per_hour'
Security & Crypto
generate_basic_authGenerate Basic Auth headerusername: string, password: string
hash_bcryptGenerate/verify bcrypt hashpassword: string, rounds?: number, hash?: string
generate_bip39Generate 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
generate_hmacGenerate HMACmessage: string, key: string, algorithm?: 'sha1' | 'sha256' | 'sha512'
decode_jwtDecode JWT tokentoken: string
generate_otpGenerate TOTP codessecret: string, digits?: number, period?: number
generate_passwordGenerate secure passwordlength?: number, includeUppercase?: boolean, includeLowercase?: boolean, includeNumbers?: boolean, includeSymbols?: boolean
generate_tokenGenerate secure tokenlength?: number, charset?: 'alphanumeric' | 'hex' | 'base64' | 'custom', customChars?: string
Text Processing
generate_ascii_artGenerate ASCII arttext: string, font?: string (supports 295+ figlet fonts)
analyze_distinct_wordsExtract unique words from texttext: string, caseSensitive?: boolean
search_emojiSearch emojisquery: string
generate_lorem_ipsumGenerate Lorem Ipsumtype?: 'words' | 'sentences' | 'paragraphs', count?: number
generate_numeronymGenerate numeronymstext: string
slugify_textConvert to URL slugtext: string, separator?: string, lowercase?: boolean
obfuscate_stringObfuscate texttext: string, method?: 'html-entities' | 'unicode' | 'base64'
convert_to_camelcaseConvert to camelCasetext: string
capitalize_textCapitalize wordstext: string
compare_textCompare textstext1: string, text2: string
convert_text_to_kebabcaseConvert to kebab-casetext: string
convert_text_to_lowercaseConvert to lowercasetext: string
convert_text_to_pascalcaseConvert to PascalCasetext: string
text_snakecaseConvert to snake_casetext: string
analyze_text_statsGet text statisticstext: string
convert_text_to_natoConvert to NATO alphabettext: string
show_unicode_namesConvert text to Unicode character namestext: string
convert_text_to_uppercaseConvert to uppercasetext: string
Utility Tools
format_cssFormat and prettify CSScss: string, indent?: number
show_device_infoGet system informationNone
normalize_emailNormalize email addressesemail: string
lookup_http_statusHTTP status referencecode?: number
lookup_mime_typesLook up MIME typesinput: string, lookupType?: 'extension-to-mime' | 'mime-to-extension'
lookup_port_numbersLook up port number assignmentsport?: number, service?: string
convert_rem_pxConvert between REM and PX unitsvalue: 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 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 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. Create a tool directory in appropriate category under src/tools/
  2. Define tool with input schema using Zod in its index.ts
  3. Export registration function for dynamic loading
  4. Rebuild with npm run build

Project Structure

text
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

🤝 Contributing

This project is no longer accepting contributions. It is archived for reference purposes only. The guidelines below are preserved for historical context.

Commit Message Format

This project uses Conventional Commits for clear, consistent commit messages.

Version Management:

  • 🤖 Automatic version bumping - Git hooks automatically bump versions based on commit message types
  • 🤖 Automatic publishing - CI/CD detects changes and publishes automatically
  • 🏷️ Git tags - Created automatically based on conventional commit messages

Examples:

bash
git commit -m "feat: add new encryption tool"    # → minor version bumpgit commit -m "fix: resolve base64 decoding issue"  # → patch version bumpgit commit -m "docs: improve README examples"   # → patch version bumpgit 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

📖 See COMMIT_TEMPLATE_SETUP.md for setup instructions.

Development Process

  1. Fork the repository
  2. Run ./setup-commit-template.sh (recommended)
  3. Create a feature branch
  4. Make your changes following the project structure
  5. Use conventional commit messages
  6. 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.

來源:README.md,提交 16838e5

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v5.10.8最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分