mcpField
I
it-tools-mcp

it-tools-mcp

本地服务
github.com/wrenchpilot开发工具2222 周前更新

关于 it-tools-mcp

IT Tools MCP 服务提供 100 多项 IT 工具,涵盖编码解码、哈希、网络、文本处理与数据格式转换等功能,面向开发者和系统管理员。该项目已停止维护,仓库仅供参考。

主要功能

  1. 01编码解码与哈希计算
  2. 02JSON、YAML、XML 等格式转换与格式化
  3. 03子网、URL 与 MAC 地址等网络工具
  4. 04正则测试与 cron 表达式生成
  5. 05Docker Compose 校验与转换
  6. 06日志级别设置与协议工具

适用场景

  1. 01在 AI 客户端中快速完成 Base64 或 UUID 生成
  2. 02校验并转换 Docker Compose 配置
  3. 03将 JSON 转换为 CSV 或 TOML

MCP 相关

该项目是一个 MCP 服务,向客户端暴露约 121 个工具,并支持 ping、进度通知、请求取消与 sampling 等 MCP 协议功能。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"wrenchpilot-it-tools": {
"command": "npx",
"args": [
"-y",
"it-tools-mcp"
]
}
}
}
启动命令npx -y it-tools-mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmit-tools-mcp5.10.8
ocidocker.io/wrenchpilot/it-tools-mcp:v5.10.8

工具

119

收录的工具列表 · 更新于 2 周前

参数类型必填说明
levelenum是要报告的最低日志级别debug | info | notice | warning | error | critical | alert | emergency

详细介绍

IT Tools MCP 服务

警告

此项目已弃用,不再维护。

此项目是一个学习练习,旨在探索 AI 辅助开发和 Model Context Protocol(MCP)。此后不会再接受任何更新、错误修复或拉取请求。此代码库仅供参考。

如果你需要包含 IT 实用工具且仍在积极维护的 MCP 服务,请寻找社区提供的替代方案。

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

📝 注意:由于字符数限制,此 README 的精简版会自动同步到 Docker Hub。

这是一个功能全面的 Model Context Protocol(MCP)服务,提供超过 121 种开发人员、系统管理员和 IT 专业人员常用的 IT 工具和实用程序。此服务提供了一整套工具,可用于编码/解码、文本处理、哈希、网络实用程序以及许多其他常见的开发和 IT 任务。

Star History

Star History Chart

📦 安装与设置

在 VS Code 中使用

快速安装:

Install in VS Code Install in VS Code Insiders

安装:

  1. 打开 VS Code
  2. 按 Ctrl+Shift+P(Mac 上按 Cmd+Shift+P)
  3. 输入“MCP”,然后选择“MCP: Add Server”
  4. 选择“NPM Package”,并输入:it-tools-mcp

或者手动添加到 VS Code 的 settings.json:

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"
        ]
      }
  }
}
交互模式
docker run -it --rm wrenchpilot/it-tools-mcp:latest
编程式用法
# 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

� MCP 日志记录功能

此服务支持完整的 MCP 日志记录,具备以下功能:

日志级别
  • debug (0):详细的调试信息
  • info (1):常规信息消息
  • notice (2):正常但重要的事件
  • warning (3):警告情况
  • error (4):错误情况
  • critical (5):严重情况
  • alert (6):必须立即采取行动
  • emergency (7):系统无法使用
日志工具
  • logging_setLevel:在运行时更改最低日志级别
  • logging_status:查看当前日志配置和可用级别
环境感知行为
  • 开发模式:默认使用 debug 级别,增强控制台输出
  • 生产模式:默认使用 info 级别,输出简洁,符合 MCP 规范
  • 自动回退:MCP 传输尚未就绪时使用控制台日志
使用示例
# 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

🔧 MCP 协议实用工具

此服务实现了完整的 MCP 2025-06-18 规范,包含高级实用工具:

Ping 实用工具
  • 健康检查:使用 ping 请求验证连接状态
  • 自动响应:服务根据 MCP 规范及时返回空结果
  • 连接监控:定期执行健康检查
进度跟踪
  • 长时间运行的操作:接收耗时任务的进度更新
  • 进度令牌:在请求中加入 _meta.progressToken,以启用进度通知
  • 通知:服务发送 notifications/progress,报告当前状态
请求取消
  • 平稳取消:发送 notifications/cancelled,中止正在进行的请求
  • 资源清理:请求取消时,服务会妥善释放资源
  • 竞态条件处理:稳健地处理时序边缘情况
采样支持
  • 大模型集成:服务可以使用 sampling/createMessage 向客户端请求大模型补全
  • 模型偏好:支持模型选择提示和能力优先级(成本、速度、智能)
  • 内容类型:支持采样请求中的文本、图像和音频内容
  • Agent 工作流:通过嵌套的大模型调用,启用 AI 驱动的工具操作
  • 客户端控制:客户端完全掌控模型访问和用户审批
协议示例
# 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

�🛠️ 工具类别

此 MCP 服务在 14 个类别中提供了超过 121 个工具:

  • � Ansible 工具(5 个工具):Vault 加密/解密、清单解析器、playbook 验证器、参考
  • 🎨 颜色工具(2 个工具):Hex ↔ RGB 转换
  • 📝 数据格式(12 个工具):JSON、XML、YAML、SQL、TOML、Markdown ↔ HTML 转换、电话号码格式化
  • �️ 开发工具(6 个工具):正则表达式测试、cron 生成、列表转换、代码美化、Markdown 目录
  • 🐳 Docker 工具(5 个工具):Compose 验证、转换工具、Traefik 生成器、参考
  • 🔧 编码与解码(8 个工具):Base64、URL、HTML 实体、文本转二进制
  • 🔍 取证工具(3 个工具):文件类型识别、安全链接解码、URL 混淆字符还原
  • 🆔 ID 与代码生成器(4 个工具):UUID、ULID、QR 码、SVG 占位符
  • 🔢 数学与计算(6 个工具):表达式求值、进制转换、温度、百分比、Unix 时间戳、罗马数字
  • 🌐 网络与系统(23 个工具):IPv4/IPv6 子网、URL 解析、MAC 地址、ps、top、cat、head、tail、grep、ping、nslookup、telnet、dig、ssh、scp、curl、IBAN 验证
  • ⚡ 物理(3 个工具):角度、能量和功率单位转换
  • 🔐 安全与加密(12 个工具):哈希(MD5、SHA1、SHA256、SHA512)、HMAC、JWT、bcrypt、密码、令牌、OTP、BIP39
  • ✨ 文本处理(19 个工具):大小写转换、统计、差异对比、ASCII 艺术、NATO 字母表、slugify、Unicode
  • 🛠️ 实用工具(7 个工具):电子邮件规范化、MIME 类型、HTTP 状态码、设备信息、CSS 美化、rem/px 转换器

📸 截图示例

密码哈希生成示例

密码哈希示例

ASCII 艺术文本生成示例

ASCII 艺术文本示例

使用 IT Tools MCP 服务与 VS Code Copilot Chat 进行安全密码哈希和创意 ASCII 艺术生成的示例。

可用工具

Tool描述参数
Ansible 工具
parse_ansible_inventory解析 Ansible 清单inventory: string
generate_ansible_inventory生成 Ansible 清单hosts: string[], groups?: Record<string, string[]>, variables?: Record<string, any>
validate_ansible_playbook验证 Ansible playbook YAMLplaybook: string
show_ansible_referenceAnsible 语法和模块参考query?: string
decrypt_ansible_vault解密 Ansible Vault 数据data: string, password: string
encrypt_ansible_vault使用 Ansible Vault 加密数据data: string, password: string
颜色工具
convert_hex_to_rgb将 HEX 转换为 RGBhex: string
convert_rgb_to_hex将 RGB 转换为 HEXr: number, g: number, b: number
数据格式
convert_html_to_markdown将 HTML 转换为 Markdownhtml: string
compare_json比较 JSON 对象json1: string, json2: string
format_json格式化并验证 JSONjson: string, indent?: number
minify_json压缩 JSONjson: string
convert_json_to_csv将 JSON 转换为 CSVjson: string, delimiter?: string
convert_json_to_toml将 JSON 转换为 TOMLjson: string
convert_markdown_to_html将 Markdown 转换为 HTMLmarkdown: string
format_phone解析并格式化电话号码phoneNumber: string, countryCode?: string
format_sql格式化 SQLsql: string, dialect?: 'sql' | 'mysql' | 'postgresql' | 'sqlite' | 'mariadb' | 'db2' | 'plsql' | 'n1ql' | 'redshift' | 'spark' | 'tsql' | 'trino' | 'bigquery' (可选,默认值:'sql')
convert_toml_to_json将 TOML 转换为 JSONtoml: string
format_xml格式化 XMLxml: string, indent?: number
format_yaml格式化 YAMLyaml: string
开发工具
generate_crontab生成 cron 表达式minute?: string, hour?: string, dayOfMonth?: string, month?: string, dayOfWeek?: string
format_html格式化并美化 HTMLhtml: string, indent?: number
format_javascript格式化并美化 JavaScriptjavascript: string, indent?: number
convert_list转换列表格式list: string, inputFormat: 'comma' | 'semicolon' | 'newline' | 'space' | 'pipe', outputFormat: 'comma' | 'semicolon' | 'newline' | 'space' | 'pipe' | 'json' | 'quoted', trim?: boolean
generate_markdown_toc为 Markdown 生成目录markdown: string, maxDepth?: number
test_regex测试正则表达式pattern: string, text: string, flags?: string
Docker 工具
convert_docker_compose_to_run将 Compose 转换为 Docker run 命令compose: string, service?: string
validate_docker_compose验证 Docker Compose YAMLcompose: string
show_docker_referenceDocker 命令和语法参考query?: string
convert_docker_run_to_compose将 Docker run 转换为 Composecommand: string
generate_traefik_compose生成 Traefik Docker Composedomain: string, service: string, port?: number, network?: string
编码与解码
decode_base64解码 Base64 文本text: string
encode_base64将文本编码为 Base64text: string
decode_html解码 HTML 实体text: string
encode_html编码 HTML 实体text: string
encode_html_entities扩展 HTML 实体编码/解码text: string, operation: 'encode' | 'decode'
convert_text_to_binary在文本与二进制之间相互转换input: string, operation: 'encode' | 'decode'
convert_text_to_unicode在文本与 Unicode 之间相互转换input: string, operation: 'encode' | 'decode'
decode_url对 URL 文本进行解码text: string
encode_url对 URL 文本进行编码text: string
取证工具
identify_file_type根据内容识别文件类型data: string, filename?: string
decode_safelink解码 Microsoft SafeLinksurl: string
fang_url为分析对 URL 进行还原和去武装text: string, operation: 'fang' | 'defang'
ID 与代码生成器
generate_qr_code为任意内容生成 QR 码text: string, size?: number - 支持 URL、WiFi(WIFI:T:WPA;S:network;P:password;;)、联系信息等。
generate_svg_placeholder生成 SVG 占位图width?: number, height?: number, text?: string, backgroundColor?: string, textColor?: string
generate_ulid生成 ULID无
generate_uuid生成 UUID v4无
数学与计算
evaluate_math计算表达式expression: string
convert_number_base转换数字进制number: string, fromBase: number, toBase: number
calculate_percentage计算百分比operation: 'percentage-of' | 'what-percentage' | 'percentage-change', value1: number, value2: number
convert_roman_numerals转换罗马数字input: string
convert_temperature转换温度temperature: number, from: 'celsius' | 'fahrenheit' | 'kelvin', to: 'celsius' | 'fahrenheit' | 'kelvin'
convert_unix_timestamp转换时间戳input: string
网络与系统
cat显示文件内容file: string
curlHTTP 客户端(GET、POST 等)url: string, method?: string, headers?: Record<string, string>, body?: string
digDNS 查询(自定义类型)target: string, type?: string
grep在文件中搜索模式file: string, pattern: string
head显示文件的前 N 行file: string, lines?: number
validate_iban验证 IBANiban: string
calculate_ip_subnet计算 IPv4 子网ip: string, cidr: number
calculate_ipv4_subnet增强型 IPv4 子网计算cidr: string
generate_ipv6_ula生成 IPv6 ULAglobalId?: string
generate_mac_address生成 MAC 地址prefix?: string, separator?: ':' | '-'
nslookupDNS 查询(A/AAAA/CNAME)target: string
pingPing 主机target: string, count?: number
ps列出正在运行的进程无
generate_random_port生成随机端口count?: number, min?: number, max?: number, exclude?: number[]
scp与远程主机之间复制文件(SFTP)target: string, user: string, direction: 'upload'|'download', localPath: string, remotePath: string, privateKey?: string
ssh执行 SSH 命令target: string, user: string, command: string
tail显示文件的最后 N 行file: string, lines?: number
telnet测试 TCP 连通性target: string, port: number
top显示占用资源最多的进程(按 CPU 排序)无
parse_url解析 URL 组件url: string
物理
convert_angle转换角度单位value: number, from: 'degrees' | 'radians' | 'gradians', to: 'degrees' | 'radians' | 'gradians'
convert_energy转换能量单位value: number, from: 'joules' | 'calories' | 'kwh' | 'btu', to: 'joules' | 'calories' | 'kwh' | 'btu'
convert_power转换功率单位value: number, from: 'watts' | 'kilowatts' | 'horsepower' | 'btu_per_hour', to: 'watts' | 'kilowatts' | 'horsepower' | 'btu_per_hour'
安全与加密
generate_basic_auth生成 Basic Auth 标头username: string, password: string
hash_bcrypt生成/验证 bcrypt 哈希password: string, rounds?: number, hash?: string
generate_bip39生成 BIP39 助记词wordCount?: '12' | '15' | '18' | '21' | '24'
hash_md5生成 MD5 哈希text: string
hash_sha1生成 SHA1 哈希text: string
hash_sha256生成 SHA256 哈希text: string
hash_sha512生成 SHA512 哈希text: string
generate_hmac生成 HMACmessage: string, key: string, algorithm?: 'sha1' | 'sha256' | 'sha512'
decode_jwt解码 JWT 令牌token: string
generate_otp生成 TOTP 验证码secret: string, digits?: number, period?: number
generate_password生成安全密码length?: number, includeUppercase?: boolean, includeLowercase?: boolean, includeNumbers?: boolean, includeSymbols?: boolean
generate_token生成安全令牌length?: number, charset?: 'alphanumeric' | 'hex' | 'base64' | 'custom', customChars?: string
文本处理
generate_ascii_art生成 ASCII 艺术字text: string, font?: string(支持 295 种以上 figlet 字体)
analyze_distinct_words从文本中提取不重复的单词text: string, caseSensitive?: boolean
search_emoji搜索表情符号query: string
generate_lorem_ipsum生成 Lorem Ipsumtype?: 'words' | 'sentences' | 'paragraphs', count?: number
generate_numeronym生成数字缩略词text: string
slugify_text转换为 URL slugtext: string, separator?: string, lowercase?: boolean
obfuscate_string混淆文本text: string, method?: 'html-entities' | 'unicode' | 'base64'
convert_to_camelcase转换为 camelCasetext: string
capitalize_text将单词首字母大写text: string
compare_text比较文本text1: string, text2: string
convert_text_to_kebabcase转换为 kebab-casetext: string
convert_text_to_lowercase转换为小写text: string
convert_text_to_pascalcase转换为 PascalCasetext: string
text_snakecase转换为 snake_casetext: string
analyze_text_stats获取文本统计信息text: string
convert_text_to_nato转换为 NATO 字母表text: string
show_unicode_names将文本转换为 Unicode 字符名称text: string
convert_text_to_uppercase转换为大写text: string
实用工具
format_css格式化并美化 CSScss: string, indent?: number
show_device_info获取系统信息无
normalize_email规范化电子邮件地址email: string
lookup_http_statusHTTP 状态码参考code?: number
lookup_mime_types查询 MIME 类型input: string, lookupType?: 'extension-to-mime' | 'mime-to-extension'
lookup_port_numbers查询端口号分配情况port?: number, service?: string
convert_rem_px转换 REM 与 PX 单位value: number, conversion: 'rem-to-px' | 'px-to-rem', baseFontSize?: number

🏗️ 架构与开发

使用 TypeScript、Zod 验证和 MCP SDK 构建,确保运行稳健且类型安全。

🤖 AI 辅助开发

本项目使用 VS Code、Copilot Chat Agent、Playwright MCP 和 Claude Sonnet 4 Model 开发,展现了 AI 辅助软件开发的强大能力:

  • 智能代码生成:Claude Sonnet 分析需求并生成完整的工具实现
  • Schema 验证:自动识别并解决各工具中的 JSON schema 验证问题
  • Docker 优化:创建可用于生产环境的 Docker 工作流和多阶段构建
  • 文档:生成包含示例和工具参考表的完整 README
  • 测试:在整个代码库中实现稳健的错误处理和验证

AI 的主要贡献:

  • 🔧 工具实现:所有工具均在 AI 协助下设计并实现
  • 📦 Docker 配置:完整的容器化方案,包含 GitHub Actions CI/CD 流水线
  • 🔍 Schema 清理:系统性地从所有工具定义中移除不受支持的 Zod 关键字
  • 📚 文档:包含用法示例和工具目录的完整 README
  • 🚀 可用于生产环境:Docker Hub 发布、徽章和专业的部署配置

这展示了 AI 如何加速开发,同时保持代码质量、合理的架构和全面的测试。

添加新工具
  1. 在 src/tools/ 下的相应类别中创建工具目录
  2. 在其 index.ts 中使用 Zod 定义带有输入 schema 的工具
  3. 导出注册函数,以便动态加载
  4. 使用 npm run build 重新构建
项目结构
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

🤝 贡献

本项目不再接受贡献。 本项目已归档,仅供参考。以下指南仅为保留历史记录而留存。

提交消息格式

本项目使用 Conventional Commits,以确保提交消息清晰且一致。

版本管理:

  • 🤖 自动提升版本 - Git hooks 根据提交消息类型自动提升版本
  • 🤖 自动发布 - CI/CD 自动检测变更并发布
  • 🏷️ Git 标签 - 根据 Conventional Commits 提交消息自动创建

示例:

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

📖 查看 COMMIT_TEMPLATE_SETUP.md 了解配置说明。

开发流程
  1. Fork 此仓库
  2. 运行 ./setup-commit-template.sh(推荐)
  3. 创建功能分支
  4. 按照项目结构进行更改
  5. 使用 Conventional Commits 提交消息
  6. 提交 Pull Request

CI/CD 流水线将自动:

  • ✅ 构建并测试你的更改
  • 🏷️ 根据提交消息提升版本(合并到 main 时)
  • 📦 发布到 Docker Hub 和 NPM
  • 🚀 创建 GitHub 发布版本

📄 许可证

MIT License - 详情请参阅 LICENSE。

🔗 相关项目

灵感来自 IT Tools——面向开发者的在线工具。

本项目采用了 @sharevb fork 中的部分工具。该分支在 IT Tools 的基础上扩展了更多实用工具并进行了增强。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。